Exemple #1
0
        public void TestResponseTextMessageSerialization()
        {
            var msg = new WeChatResponseTextMessage();

            msg.FromUserName = "******";
            msg.ToUserName   = "******";
            var dt = new DateTime(2016, 3, 1, 12, 30, 11);

            msg.CreateTime = DateTimeHelper.ConvertToWeChatTimestamp(dt);
            msg.Content    = "test";

            var xml = XmlSerializationHelper.SerializeObject(msg);

            Assert.IsNotNull(xml);

            using (StringReader s = new StringReader(xml))
            {
                XDocument result = XDocument.Load(s);
                Assert.AreEqual("xml", result.Root.Name.LocalName);
                Assert.AreEqual("test", result.Element("xml").Element("Content").Value);
                Assert.AreEqual("gh_a96a4a619366", result.Element("xml").Element("ToUserName").Value);
                Assert.AreEqual("olPjZjsXuQPJoV0HlruZkNzKc91E", result.Element("xml").Element("FromUserName").Value);
                Assert.AreEqual(dt, DateTimeHelper.ConvertFromWeChatTimeStamp(result.Element("xml").Element("CreateTime").Value));
            }
        }
Exemple #2
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()));
            }
        }