public override IResponseMessageBase OnShortVideoRequest(RequestMessageShortVideo requestMessage) { var responseMessage = ResponseMessageFactory.CreateFromRequestMessage <ResponseMessageText>(requestMessage); responseMessage.Content = "你发送了小视频:MediaId=" + requestMessage.MediaId; return(responseMessage); }
public override IResponseMessageBase OnVoiceRequest(RequestMessageVoice requestMessage) { var responseMessage = ResponseMessageFactory.CreateFromRequestMessage <ResponseMessageText>(requestMessage); responseMessage.Content = "你发送了语音:MediaId=" + requestMessage.MediaId + ";Recognition:" + requestMessage.Recognition; return(responseMessage); }
public override IResponseMessageBase OnEventUnsubscribeRequest(RequestMessageEventUnsubscribe requestMessage) { var responseMessage = ResponseMessageFactory.CreateFromRequestMessage <ResponseMessageText>(requestMessage); responseMessage.Content = "取消关注事件:" + requestMessage.Event.ToString() + ";EventKey:" + requestMessage.EventKey; return(responseMessage); }
public override IResponseMessageBase OnLocationRequest(RequestMessageLocation requestMessage) { var responseMessage = ResponseMessageFactory.CreateFromRequestMessage <ResponseMessageText>(requestMessage); responseMessage.Content = "你发送了位置,Label:" + requestMessage.Label + ";Location_X:" + requestMessage.Location_X + ";Location_Y:" + requestMessage.Location_Y; return(responseMessage); }
public override IResponseMessageBase OnEventViewRequest(RequestMessageEventView requestMessage) { var responseMessage = ResponseMessageFactory.CreateFromRequestMessage <ResponseMessageText>(requestMessage); responseMessage.Content = "点击菜单跳转链接时的事件:" + requestMessage.Event.ToString() + ";EventKey:" + requestMessage.EventKey; return(responseMessage); }
public override IResponseMessageBase OnEventScanRequest(RequestMessageEventScan requestMessage) { var responseMessage = ResponseMessageFactory.CreateFromRequestMessage <ResponseMessageText>(requestMessage); responseMessage.Content = "扫码事件:" + requestMessage.Event.ToString() + ";EventKey:" + requestMessage.EventKey + ";Ticket" + requestMessage.Ticket; return(responseMessage); }
public override IResponseMessageBase OnEventLocationRequest(RequestMessageEventLocation requestMessage) { var responseMessage = ResponseMessageFactory.CreateFromRequestMessage <ResponseMessageText>(requestMessage); responseMessage.Content = "你上报地理位置事件:" + requestMessage.Event.ToString() + ";EventKey:" + requestMessage.EventKey + "位置信息Latitude:" + requestMessage.Latitude + ";Longitude:" + requestMessage.Longitude + ";Precision:" + requestMessage.Precision; return(responseMessage); }
public override IResponseMessageBase OnEventClickRequest(RequestMessageEventClick requestMessage) { var responseMessage = ResponseMessageFactory.CreateFromRequestMessage <ResponseMessageText>(requestMessage); responseMessage.Content = "你触发自定义菜单事件:" + requestMessage.Event.ToString() + ";EventKey:" + requestMessage.EventKey; return(responseMessage); }
public override IResponseMessageBase DefaultResponseMessage(IRequestMessageBase requestMessage) { var responseMessage = ResponseMessageFactory.CreateFromRequestMessage <ResponseMessageText>(requestMessage); responseMessage.Content = "对不起,暂时不能处理你的消息,请联系客服!"; return(responseMessage); }
public override IResponseMessageBase OnVideoRequest(RequestMessageVideo requestMessage) { var responseMessage = ResponseMessageFactory.CreateFromRequestMessage <ResponseMessageMusic>(requestMessage); responseMessage.Music = new Music(); responseMessage.Music.HQMusicUrl = "http://h5ds-cdn.oss-cn-beijing.aliyuncs.com/upload/dfeb140f-4446-4a05-846b-7f71382e9367.mp3"; responseMessage.Music.MusicUrl = "http://h5ds-cdn.oss-cn-beijing.aliyuncs.com/upload/dfeb140f-4446-4a05-846b-7f71382e9367.mp3"; return(responseMessage); }
public override IResponseMessageBase OnTextRequest(RequestMessageText requestMessage) { TemplateService templateService = new TemplateService(); var result = templateService.templateSend(requestMessage.FromUserName); var responseMessage = ResponseMessageFactory.CreateFromRequestMessage <ResponseMessageText>(requestMessage); responseMessage.Content = "对不起,暂时不能处理你的消息,请联系客服!"; return(responseMessage); }
public override IResponseMessageBase OnImageRequest(RequestMessageImage requestMessage) { var responseMessage = ResponseMessageFactory.CreateFromRequestMessage <ResponseMessageNews>(requestMessage); responseMessage.Articles = new List <Article>(); var artcle = new Article(); artcle.Description = "你发送了图片消息"; artcle.PicUrl = "http://h5ds-cdn.oss-cn-beijing.aliyuncs.com/upload/53a1bad4-c27b-4e9b-8432-c85d10f2880b.png"; artcle.Title = "植物"; artcle.Url = "www.baidu.com"; responseMessage.Articles.Add(artcle); return(responseMessage); }
public string HandleErrorRequest(SignModel signModel, string requestXml, string error) { this.SignModel = signModel; this.RequestXml = requestXml; var val = new RequestMessageBase(); val.FillEntityWithXml <RequestMessageBase>(XDocument.Parse(requestXml)); this.RequestMessage = val; var responseMessageText = ResponseMessageFactory.CreateFromRequestMessage <ResponseMessageText>(this.RequestMessage); responseMessageText.Content = error; this.ResponseMessage = responseMessageText; var response = ResponseMessageFactory.ConvertEntityToXmlStr(this.ResponseMessage); this.EncryptMsg(ref response); return(response); }
public override string HandleRequest() { string response = string.Empty; if (this.exception != null) { var responseMessageText = ResponseMessageFactory.CreateFromRequestMessage <ResponseMessageText>(this.RequestMessage); responseMessageText.Content = this.exception.Message; this.ResponseMessage = responseMessageText; response = ResponseMessageFactory.ConvertEntityToXmlStr(this.ResponseMessage); EncryptMsg(ref response); return(response); } var requestMsgType = this.RequestMessage.MsgType; switch (requestMsgType) { case RequestMsgType.text: this.ResponseMessage = OnTextRequest((RequestMessageText)this.RequestMessage); break; case RequestMsgType.voice: this.ResponseMessage = OnVoiceRequest((RequestMessageVoice)this.RequestMessage); break; case RequestMsgType.video: this.ResponseMessage = OnVideoRequest((RequestMessageVideo)this.RequestMessage); break; case RequestMsgType.shortvideo: this.ResponseMessage = OnShortVideoRequest((RequestMessageShortVideo)this.RequestMessage); break; case RequestMsgType.location: this.ResponseMessage = OnLocationRequest((RequestMessageLocation)this.RequestMessage); break; case RequestMsgType.link: this.ResponseMessage = OnLinkRequest((RequestMessageLink)this.RequestMessage); break; case RequestMsgType.image: this.ResponseMessage = OnImageRequest((RequestMessageImage)this.RequestMessage); break; case RequestMsgType.@event: var eventBase = this.RequestMessage as RequestMessageEventBase; switch (eventBase.Event) { case Event.CLICK: this.ResponseMessage = OnEventClickRequest((RequestMessageEventClick)this.RequestMessage); break; case Event.LOCATION: this.ResponseMessage = OnEventLocationRequest((RequestMessageEventLocation)this.RequestMessage); break; case Event.scan: this.ResponseMessage = OnEventScanRequest((RequestMessageEventScan)this.RequestMessage); break; case Event.subscribe: this.ResponseMessage = OnEventSubscribeRequest((RequestMessageEventSubscribe)this.RequestMessage); break; case Event.unsubscribe: this.ResponseMessage = OnEventUnsubscribeRequest((RequestMessageEventUnsubscribe)this.RequestMessage); break; case Event.VIEW: this.ResponseMessage = OnEventViewRequest((RequestMessageEventView)this.RequestMessage); break; } break; } response = ResponseMessageFactory.ConvertEntityToXmlStr(this.ResponseMessage); EncryptMsg(ref response); return(response); }
/// <summary> /// ResponseMessageBase.CreateFromRequestMessage<T>(requestMessage)的扩展方法 /// </summary> /// <typeparam name="T">需要生成的ResponseMessage类型</typeparam> /// <param name="requestMessage">IRequestMessageBase接口下的接收信息类型</param> /// <returns></returns> public static T CreateResponseMessage <T>(this IRequestMessageBase requestMessage) where T : class, IResponseMessageBase { return(ResponseMessageFactory.CreateFromRequestMessage <T>(requestMessage)); }