Beispiel #1
0
 /// <summary>
 /// 响应消息
 /// </summary>
 /// <param name="response">请求消息</param>
 /// <param name="param">请求参数</param>
 /// <returns></returns>
 public string Execute(BaseRequestMessage request, EnterParamEntity param)
 {
     string result = string.Empty;
     var requestType = (MsgTypeRequestEnum)Enum.Parse(typeof(MsgTypeRequestEnum), request.MsgType.ToUpperInvariant());
     BaseResponseMessage responseModel = null;
     switch (requestType)
     {
         //文本消息
         case MsgTypeRequestEnum.TEXT:
             responseDelegate = CreateResponseMessageFromText;
             result = responseDelegate(request, param);
             break;
         #region MyRegion
         //图片消息
         case MsgTypeRequestEnum.IMAGE:
             responseModel = new TextResponseMessage
                 {
                     FromUserName = request.ToUserName,
                     ToUserName = request.FromUserName,
                     MsgType = MsgTypeResponseEnum.TEXT.ToString().ToLower(),
                     Content = "您好,您发送了一张图片!"
                 };
             result = MessageFactory.CreateResponseType(responseModel, param, MsgTypeResponseEnum.TEXT);
             break;
         //视频消息
         case MsgTypeRequestEnum.VIDEO:
             return "";
         //链接消息
         case MsgTypeRequestEnum.LINK:
             return "";
         //地理消息
         case MsgTypeRequestEnum.LOCATION:
             return "";
         //短视频消息
         case MsgTypeRequestEnum.SHORTVIDEO:
             return "";
         //音频消息
         case MsgTypeRequestEnum.VOICE:
             return "";
         default: return "";
         #endregion
     }
     return result;
 }
Beispiel #2
0
        /// <summary>
        ///  处理来自文本类消息
        /// </summary>
        /// <param name="request"></param>
        /// <param name="param"></param>
        /// <returns></returns>
        public string CreateResponseMessageFromText(BaseRequestMessage request, EnterParamEntity param)
        {
            string result = string.Empty;
            BaseResponseMessage responseModel = null;

            var requestModel = request as TextRequestMessage;
            if (requestModel.Content.Equals("您好"))
            {
                responseModel = new TextResponseMessage
                  {
                      FromUserName = request.ToUserName,
                      ToUserName = request.FromUserName,
                      MsgType = MsgTypeResponseEnum.TEXT.ToString().ToLower(),
                      Content = GetContent("")
                  };
                result = MessageFactory.CreateResponseType(responseModel, param, MsgTypeResponseEnum.TEXT);
            }
            else if (requestModel.Content.Equals("图文"))
            {
                responseModel = new NewsResponseMessage
                {
                    FromUserName = request.ToUserName,
                    ToUserName = request.FromUserName,
                    MsgType = MsgTypeResponseEnum.NEWS.ToString().ToLower(),
                    ArticleCount = "1",
                    Articles = new List<Article>
                    {
                      new Article{
                       Title ="测试图文标题1",
                        Description="测试图文描述",
                         PicUrl="http://hn5ery.natappfree.cc/Content/images/pic1.png",
                          Url="http://m.flm365.com/member/Index"
                      },
                      new Article{
                       Title ="测试图文标题2",
                        Description="测试图文描述2",
                         PicUrl="http://hn5ery.natappfree.cc/Content/images/img1.jpg",
                          Url="http://m.flm365.com/Member/Store"
                      },
                       new Article{
                       Title ="测试图文标题3",
                        Description="测试图文描述3",
                         PicUrl="http://hn5ery.natappfree.cc/Content/images/img2.jpg",
                          Url="http://m.flm365.com/Member/LoanList"
                      },
                    }
                };
                result = MessageFactory.CreateResponseType(responseModel, param, MsgTypeResponseEnum.NEWS);
            }
            else
            {
                responseModel = new TextResponseMessage
                {
                    FromUserName = request.ToUserName,
                    ToUserName = request.FromUserName,
                    MsgType = MsgTypeResponseEnum.TEXT.ToString().ToLower(),
                    Content = GetContent(requestModel.Content)
                };
                result = MessageFactory.CreateResponseType(responseModel, param, MsgTypeResponseEnum.TEXT);
            }


            return result;
        }