Maison >Applet WeChat >Développement WeChat >Analyse du code .Net d'envoi de messages graphiques développé par la plateforme publique WeChat

Analyse du code .Net d'envoi de messages graphiques développé par la plateforme publique WeChat

高洛峰
高洛峰original
2017-03-13 13:34:321867parcourir

Cet article fournit principalement une analyse détaillée du code .Net pour l'envoi de messages graphiques dans le développement de la plateforme publique WeChat. Les amis intéressés peuvent s'y référer

Avant, nous avons expliqué comment laisser WeChat nous envoyer des messages ordinaires. Messages Informations textuelles, voyons comment envoyer des informations graphiques. Il convient de noter que ce qui est dit ici est de laisser WeChat nous les envoyer, au lieu de prendre une photo et de l'envoyer à WeChat pour traitement. l'image et la présenter dans un chapitre ultérieur. Voici la fonction d'envoi de messages graphiques, impliquant plusieurs paramètres clés : titre (titre), description (résumé), picurl (image) et lien (url). ) :

protected string sendPicTextMessage(Msg _mode,string title,string description,string picurl,string url)
  {
    
    string res = string.Format(@"<xml>
    <ToUserName><![CDATA[{0}]]></ToUserName>
    <FromUserName><![CDATA[{1}]]></FromUserName>
    <CreateTime>{2}</CreateTime>
    <MsgType><![CDATA[news]]></MsgType>
    <ArticleCount>1</ArticleCount>
    <Articles>
     <item>
     <Title><![CDATA[{3}]]></Title> 
     <Description><![CDATA[{4}]]></Description>
     <PicUrl><![CDATA[{5}]]></PicUrl>
     <Url><![CDATA[{6}]]></Url>
     </item>
     </Articles>
     </xml> ",
      _mode.FromUserName, _mode.ToUserName, DateTime.Now,title, description, picurl, url);

    return res;

   }

Il suffit d'appeler directement la fonction :

protected void Page_Load(object sender, EventArgs e)
   {
    
     MyMenu();
     wxmessage wx = GetWxMessage();
     string res = "";

     if (!string.IsNullOrEmpty(wx.EventName) && wx.EventName.Trim() == "subscribe")
     {
       string content = "";
       content = "/:rose欢迎北京永杰友信科技有限公司/:rose\n直接回复“你好”";
       res = sendTextMessage(wx, content);
     }
     else if (!string.IsNullOrEmpty(wx.EventName) && wx.EventName.Trim() == "CLICK")
     {
       if(wx.EventKey=="Hello")
         res = sendTextMessage(wx, "你好,欢迎使用北京永杰友信科技有限公司公共微信平台!");
       if(wx.EventKey=="P1")
         res = sendTextMessage(wx, "你好,点击了产品1");
       if(wx.EventKey=="P2")
         res = sendTextMessage(wx, "你好,点击了产品2");
     }
     else
     {
       if (wx.MsgType == "text" && wx.Content == "你好")
       {
         res = sendTextMessage(wx, "你好,欢迎使用北京永杰友信科技有限公司公共微信平台!");
       }
       if (wx.MsgType == "text" && wx.Content == "图文")
       {
         res = sendPicTextMessage(wx,"这里是一个标题","这里是摘要","http://mp.weixin.qq.com/wiki/skins/common/images/weixin_wiki_logo.png","http://www.4ugood.net");
       }
       else if (wx.MsgType == "voice")
       {
         res = sendTextMessage(wx, wx.Recognition);
       }
       else
       {
         res = sendTextMessage(wx, "你好,未能识别消息!");
       }
     }

     Response.Write(res);
   }



   private wxmessage GetWxMessage()
   {
     wxmessage wx = new wxmessage();
     StreamReader str = new StreamReader(Request.InputStream, System.Text.Encoding.UTF8);
     XmlDocument xml = new XmlDocument();
     xml.Load(str);
     wx.ToUserName = xml.SelectSingleNode("xml").SelectSingleNode("ToUserName").InnerText;
     wx.FromUserName = xml.SelectSingleNode("xml").SelectSingleNode("FromUserName").InnerText;
     wx.MsgType = xml.SelectSingleNode("xml").SelectSingleNode("MsgType").InnerText;
     if (wx.MsgType.Trim() == "text")
     {
       wx.Content = xml.SelectSingleNode("xml").SelectSingleNode("Content").InnerText;
     }
     if (wx.MsgType.Trim() == "event")
     {
       wx.EventName = xml.SelectSingleNode("xml").SelectSingleNode("Event").InnerText;
       wx.EventKey = xml.SelectSingleNode("xml").SelectSingleNode("EventKey").InnerText;
     }
     if (wx.MsgType.Trim() == "voice")
     {
       wx.Recognition = xml.SelectSingleNode("xml").SelectSingleNode("Recognition").InnerText;
     }
     
     return wx;
   }

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn