博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信公共平台开发-(.net实现)4--发送图文消息
阅读量:5050 次
发布时间:2019-06-12

本文共 4546 字,大约阅读时间需要 15 分钟。

  之前说了让微信发送给关注我们的粉丝普通的文本信息,下面我们来看看如何发送图文信息,需要注意的是这里说的是,让微信发给我们,而不是我们拍个图片发给微信处理,上传图片在以后的再讲.下面是发送图文消息的函数,涉及title(标题),description(摘要),picurl(图片),链接 (url)几个关键的参数:

格式如下:(此为多图文形式)

其实格式呢就和上篇格式一样。

1 protected string sendPicTextMessage(Msg _mode,string title,string description,string picurl,string url) 2     { 3         4         string res = string.Format(@"
5
6
7
{2}
//时间,可以转成int类型,类似与时间戳 8
9
1
//数量10
11
12
<![CDATA[{3}]]> //图文标题13
//图文描述14
//图片路径15
//链接地址16
17
18
",19 _mode.FromUserName, _mode.ToUserName, DateTime.Now,title, description, picurl, url);20 21 return res;22 23 }
View Code
1 protected void Page_Load(object sender, EventArgs e)   2      {   3            4          MyMenu();   5          wxmessage wx = GetWxMessage();   //获取微信所需信息 6          string res = "";   7    8          if (!string.IsNullOrEmpty(wx.EventName) && wx.EventName.Trim() == "subscribe")   //关注事件 9          {  10              string content = "";  11              content = "你好,感谢你关注QLJ1314博客";  12              res = sendTextMessage(wx, content);  13          }  14          else if (!string.IsNullOrEmpty(wx.EventName) && wx.EventName.Trim() == "CLICK")  15          {  16              if(wx.EventKey=="Hello")  17                  res = sendTextMessage(wx, "请说中文!");  18              if(wx.EventKey=="P1")  19                  res = sendTextMessage(wx, "你好,点击了我的博文1");              20          }  21          else  22          {  23              if (wx.MsgType == "text" && wx.Content == "你好")  24              {  25                  res = sendTextMessage(wx, "你好,感谢你关注QLJ1314博客");  26              }  27              if (wx.MsgType == "text" && wx.Content == "图文")   //此为图文回复28              {  29                  res = sendPicTextMessage(wx,"这里是一个标题","这里是摘要","http://mp.weixin.qq.com/wiki/skins/common/images/weixin_wiki_logo.png","http://www.4ugood.net");  30              }  31              else if (wx.MsgType == "voice")   //此为语音回复,稍后讲或者直接看开发者文档自己试试32              {  33                  res = sendTextMessage(wx, wx.Recognition);  34              }  35              else  36              {  37                  res = sendTextMessage(wx, "你好,未能识别消息!");  38              }  39          }  40   41          Response.Write(res);  42      }
View Code
1      private wxmessage GetWxMessage()   2      {   3          wxmessage wx = new wxmessage();   //实例化微信类 4          StreamReader str = new StreamReader(Request.InputStream, System.Text.Encoding.UTF8);   5          XmlDocument xml = new XmlDocument();  //实例化微信的xml类 6          xml.Load(str);   //读取数据流 7 //取所需的节点值 8          wx.ToUserName = xml.SelectSingleNode("xml").SelectSingleNode("ToUserName").InnerText;   9          wx.FromUserName = xml.SelectSingleNode("xml").SelectSingleNode("FromUserName").InnerText;  10          wx.MsgType = xml.SelectSingleNode("xml").SelectSingleNode("MsgType").InnerText;  11          if (wx.MsgType.Trim() == "text")   //文本类型12          {  13              wx.Content = xml.SelectSingleNode("xml").SelectSingleNode("Content").InnerText;  14          }  15          if (wx.MsgType.Trim() == "event")  //事件,关注16          {  17              wx.EventName = xml.SelectSingleNode("xml").SelectSingleNode("Event").InnerText;  18              wx.EventKey = xml.SelectSingleNode("xml").SelectSingleNode("EventKey").InnerText;  19          }  20          if (wx.MsgType.Trim() == "voice")  //语音21          {  22              wx.Recognition = xml.SelectSingleNode("xml").SelectSingleNode("Recognition").InnerText;  23          }  24            25          return wx;  26      }
View Code

写了这么多了,相信你也能照葫芦画瓢接着往下进行回复语音消息、视频、音乐消息喽,或者是再深一点的,相信自己,一定能成功,可以大胆尝试一下。

转载于:https://www.cnblogs.com/QLJ1314/p/3869590.html

你可能感兴趣的文章
stdext - A C++ STL Extensions Libary
查看>>
Django 内建 中间件组件
查看>>
bootstrap-Table服务端分页,获取到的数据怎么再页面的表格里显示
查看>>
进程间通信系列 之 socket套接字及其实例
查看>>
天气预报插件
查看>>
Unity 游戏框架搭建 (十三) 无需继承的单例的模板
查看>>
模块与包
查看>>
mysql忘记root密码
查看>>
apache服务器中设置目录不可访问
查看>>
嵌入式Linux驱动学习之路(十)字符设备驱动-my_led
查看>>
【NOIP模拟】密码
查看>>
java容器---------手工实现Linkedlist 链表
查看>>
three.js 性能优化的几种方法
查看>>
《梦断代码》读书笔记(三)
查看>>
FreeMarker解析json数据
查看>>
Java8 Lambda表达应用 -- 单线程游戏server+异步数据库操作
查看>>
次序+“选择不重复的记录”(3)——最大记录
查看>>
Codeforces 450 C. Jzzhu and Chocolate
查看>>
[Unity3D]Unity3D游戏开发MatchTarget的作用攀登效果实现
查看>>
ACdream 1115 Salmon And Cat (找规律&amp;&amp;打表)
查看>>