Example #1
0
        public async override Task <ActionResult> Index(string signature, string timestamp, string nonce, string echostr, string message)
        {
            if (!CheckSignature.Check(signature, timestamp, nonce, Token))
            {
                this.Logger.InfoFormat("signature:{0},timestamp:{1},nonce:{2}", signature, timestamp, nonce);
                Content("Error:101");
            }

            var requestMsg = WeChatRequestMessageFactory.Create(message, EncodingAESKey, AppId);
            var eventLog   = new CreateEventLogInput()
            {
                CreationTime = DateTime.Now,
                FromUserName = requestMsg.FromUserName,
                ToUserName   = requestMsg.ToUserName,
                OriginalXml  = message,
                MsgType      = requestMsg.MsgType.ToString()
            };

            _eventLogService.CreateEventLog(eventLog);
            if (requestMsg is WeChatRequestTextMessage)
            {
                //处理文本输入
                var request = requestMsg as WeChatRequestTextMessage;

                //处理URL文本
                var msg = new WeChatResponseTextMessage();
                msg.FromUserName = request.ToUserName;
                msg.ToUserName   = request.FromUserName;
                msg.CreateTime   = DateTimeHelper.NowForWeChat;
                msg.Content      = "Hello World powered by Neuzilla Wex framework" + WeChatEmotions.GetEmotion(WeChatEmotionType.Smile).SymbolCode;

                return(Content(msg.ToXml()));
            }
            else
            {
                var msg = new WeChatResponseTextMessage();
                msg.FromUserName = requestMsg.ToUserName;
                msg.ToUserName   = requestMsg.FromUserName;
                msg.CreateTime   = DateTimeHelper.NowForWeChat;
                msg.Content      = "主人,我听不懂你在说什么" + WeChatEmotions.GetEmotion(WeChatEmotionType.Swear).SymbolCode;

                return(Content(msg.ToXml()));
            }
        }
Example #2
0
 public async Task CreateEventLog(CreateEventLogInput input)
 {
     var x = input.MapTo <WeChatEventLog>();
     await _eventLogRepository.InsertAsync(x);
 }