国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

微信公眾平臺開發(fā)學(xué)習(xí)系列(二):微信公眾平臺接收消息與發(fā)送消息

2019-11-14 14:31:30
字體:
供稿:網(wǎng)友

本篇主要介紹如何使用senparc來處理微信公眾平臺的接收消息與發(fā)送消息。

首先微信端會將用戶的發(fā)送的信息以post請求發(fā)送到填寫的url上,服務(wù)端代碼如下:

1         [HttpPost]2         public ActionResult Get(PostModel postModel)3         {4             var messageHandler = new CustomMessageHandler(Request.InputStream, postModel);5 6             messageHandler.Execute();//執(zhí)行微信處理過程7 8             return Content(messageHandler.ResponseDocument.ToString());9         }

新建一個CustomMessageHandler類和一個CustomMessageContext類,CustomMessageHandler類繼承MessageHandler<CustomMessageContext>,CustomMessageContext類繼承MessageContext<IRequestMessageBase,IResponseMessageBase>,CustomMessageContext類的方法此處不貼出,主要是實(shí)現(xiàn)CustomMessageHandler類的方法,代碼如下:

 1         public CustomMessageHandler(Stream inputStream, PostModel postModel) 2             : base(inputStream, postModel) 3         { 4  5         } 6  7         public override IResponseMessageBase DefaultResponseMessage(IRequestMessageBase requestMessage) 8         { 9             var responseMessage = base.CreateResponseMessage<ResponseMessageText>(); //ResponseMessageText指返回文本信息10             responseMessage.Content = "這條消息來自DefaultResponseMessage。"+requestMessage.MsgId;11             return responseMessage;12         }

返回信息的格式多種多樣,如:ResponseMessageText,ResponseMessageNews,ResponseMessageImage等。接收信息的格式也分很多種,不同格式有不同的處理方法:OnTextRequest,OnImageRequest,OnEvent_ViewRequest等。如果沒有重寫相應(yīng)方法,就默認(rèn)執(zhí)行DefaultResponseMessage方法。本篇重寫2個方法作為簡單的例子。

用戶發(fā)送文本信息情況下的返回信息處理

1         public override IResponseMessageBase OnTextRequest(RequestMessageText requestMessage)2         {3             var responseMessage = base.CreateResponseMessage<ResponseMessageText>();4             responseMessage.Content = "您的OpenID是:" + requestMessage.FromUserName     5                                     + "。/r/n您發(fā)送了文字信息:" + requestMessage.Content; 6             return responseMessage;7         }

 

菜單點(diǎn)擊事件情況下的返回信息處理

 1         public override IResponseMessageBase OnEvent_ClickRequest(RequestMessageEvent_Click requestMessage) 2         { 3             IResponseMessageBase reponseMessage = null; 4             //菜單點(diǎn)擊,需要跟創(chuàng)建菜單時的Key匹配 5             switch (requestMessage.EventKey) 6             { 7                 case "OneClick": 8                     { 9                         var strongResponseMessage = CreateResponseMessage<ResponseMessageNews>();10                         reponseMessage = strongResponseMessage;11                         strongResponseMessage.Articles.Add(new Article()12                         {13                             Title = "您點(diǎn)擊了菜單圖文按鈕",14                             Description = "您點(diǎn)擊圖文鏈接按鈕,這是一條圖文信息。",15                             PicUrl = "https://ss2.baidu.com/6ONYsjip0QIZ8tyhnq/it/u=3233073314,694013259&fm=58&s=39C718720E8EBE011B398BAC0300F024",16                             Url = "http://www.baidu.com"17                         });18                     }19                     break;20                 case "SubClickRoot_Text":21                     {22                         var strongResponseMessage = CreateResponseMessage<ResponseMessageText>();23                         reponseMessage = strongResponseMessage;24                         strongResponseMessage.Content = "您點(diǎn)擊了子菜單按鈕。";25                     }26                     break;27                 default:28                     {29                         var strongResponseMessage = CreateResponseMessage<ResponseMessageText>();30                         strongResponseMessage.Content = "您點(diǎn)擊了按鈕,EventKey:" + requestMessage.EventKey;31                         reponseMessage = strongResponseMessage;32                     }33                     break;34             }35 36             return reponseMessage;37         }

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 汪清县| 潞城市| 修武县| 天全县| 拜泉县| 水富县| 浏阳市| 永仁县| 东乡族自治县| 广元市| 集安市| 平昌县| 天峨县| 广州市| 宜兴市| 阿克苏市| 娱乐| 盐源县| 苍南县| 咸宁市| 通辽市| 赤水市| 长治市| 泊头市| 黎川县| 德庆县| 桑日县| 望都县| 连云港市| 通化市| 九江县| 三明市| 淮滨县| 宜州市| 偏关县| 陇川县| 宜兰县| 天台县| 洞头县| 怀安县| 美姑县|