/// <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; }
/// <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; }