Example #1
0
        public string Response(string msg)
        {
            WxMessageRecXmlModel requestModec  = InitMessageModel(msg);
            WxMessageResXmlModel responseModel = ResponseModel(requestModec);

            return(GetResponse(responseModel));
        }
Example #2
0
        public bool ResponseModel(WxMessageRecXmlModel ReciveModel, ref string sEncryptMsg)
        {
            WxMessageResXmlModel replyMsg = ResponseModel(ReciveModel);
            string timeStamp = "";
            string nonce     = "";

            WxDecode.EncryptMsg(GetResponse(replyMsg), timeStamp, nonce, ref sEncryptMsg);
            return(true);
        }
Example #3
0
        public WxMessageResXmlModel ResponseModel(WxMessageRecXmlModel ReciveModel)
        {
            WxMessageResXmlModel responseModel = new WxMessageResXmlModel();

            switch (ReciveModel.MsgType)
            {
            case "text":

                if (CatchKeyWord.IsKeyWord(ReciveModel.Content))
                {
                    responseModel.ToUserName   = ReciveModel.FromUserName;
                    responseModel.FromUserName = ReciveModel.ToUserName;
                    responseModel.CreateTime   = TimeHelper.GetTimeStamp(DateTime.Now);
                    responseModel.MsgType      = "text";
                    //处理关键字消息,暂时做文本消息处理
                    responseModel.Content = "收到关键字消息,内容:" + ReciveModel.Content;
                }
                else
                {
                    string user = ReciveModel.FromUserName.Replace("_", "");
                    TuringResponseModel TuringModel = TuringRebotRequest.AskTuring(user, ReciveModel.Content);
                    responseModel = TuringResponseModel(TuringModel, ReciveModel);
                }
                break;

            case "image":    //图片
                responseModel.ToUserName   = ReciveModel.FromUserName;
                responseModel.FromUserName = ReciveModel.ToUserName;
                responseModel.CreateTime   = TimeHelper.GetTimeStamp(DateTime.Now);
                responseModel.MsgType      = "text";
                responseModel.Content      = "发的是什么鬼!!";//,内容:" + ReciveModel.Content;
                break;

            default:
                responseModel.ToUserName   = ReciveModel.FromUserName;
                responseModel.FromUserName = ReciveModel.ToUserName;
                responseModel.CreateTime   = TimeHelper.GetTimeStamp(DateTime.Now);
                responseModel.MsgType      = "text";
                responseModel.Content      = "虽然你说了那么多,我就当没听见吧。";
                break;
            }


            return(responseModel);
        }
Example #4
0
        public string GetResponse(WxMessageResXmlModel ResponseModel)
        {
            XmlDocument xml = new XmlDocument();

            XmlElement root = xml.CreateElement("xml");

            xml.AppendChild(root);

            XmlElement      toUserName = xml.CreateElement("ToUserName");
            XmlCDataSection toName     = xml.CreateCDataSection(ResponseModel.ToUserName);

            toUserName.AppendChild(toName);
            root.AppendChild(toUserName);

            XmlElement      fromUserName = xml.CreateElement("FromUserName");
            XmlCDataSection fromName     = xml.CreateCDataSection(ResponseModel.FromUserName);

            fromUserName.AppendChild(fromName);
            root.AppendChild(fromUserName);

            XmlElement createTime = xml.CreateElement("CreateTime");

            createTime.InnerText = ResponseModel.CreateTime;
            root.AppendChild(createTime);

            XmlElement      msgType = xml.CreateElement("MsgType");
            XmlCDataSection type    = xml.CreateCDataSection(ResponseModel.MsgType);

            msgType.AppendChild(type);
            root.AppendChild(msgType);

            XmlElement      content = xml.CreateElement("Content");
            XmlCDataSection cont    = xml.CreateCDataSection(ResponseModel.Content);

            content.AppendChild(cont);
            root.AppendChild(content);

            return(xml.InnerXml);
        }
Example #5
0
        public WxMessageResXmlModel TuringResponseModel(TuringResponseModel TuringResponseModel, WxMessageRecXmlModel ReciveModel)
        {
            WxMessageResXmlModel WxMessageResXmlModel = new WxMessageResXmlModel();

            WxMessageResXmlModel.ToUserName   = ReciveModel.FromUserName;
            WxMessageResXmlModel.FromUserName = ReciveModel.ToUserName;
            WxMessageResXmlModel.CreateTime   = TimeHelper.GetTimeStamp(DateTime.Now);

            switch (TuringResponseModel.code)
            {
            case 100000:    //文本类
                WxMessageResXmlModel.MsgType = "text";
                WxMessageResXmlModel.Content = TuringResponseModel.text;
                break;

            case 200000:    //链接类
                WxMessageResXmlModel.MsgType = "text";
                WxMessageResXmlModel.Content = TuringResponseModel.text + System.Environment.NewLine + TuringResponseModel.url;
                break;

            case 302000:    //新闻类
                WxMessageResXmlModel.MsgType = "text";
                WxMessageResXmlModel.Content = TuringResponseModel.text;
                break;

            case 308000:    //菜谱类
                WxMessageResXmlModel.MsgType = "text";
                WxMessageResXmlModel.Content = TuringResponseModel.text;
                break;

            default:
                WxMessageResXmlModel.MsgType = "text";
                WxMessageResXmlModel.Content = TuringResponseModel.text;
                break;
            }
            return(WxMessageResXmlModel);
        }