php专区

 首页 > php专区 > PHP应用 > 开放平台 > 沫尘[c#]asp.net开发微信公众平台(5)微信图文消息

沫尘[c#]asp.net开发微信公众平台(5)微信图文消息

分享到:
【字体:
导读:
          上篇已经成功响应了关注事件,也实现了文本消息的发送,这篇开始图文消息处理, 微信中最常用的消息类型就是图文消息了,因为它图文并茂,最能表达信息。 图文消息在微信中的接...

上篇已经成功响应了关注事件,也实现了文本消息的发送,这篇开始图文消息处理, 微信中最常用的消息类型就是图文消息了,因为它图文并茂,最能表达信息。 图文消息在微信中的接口定义如下:



12345678

2


<![CDATA[title1]]> 





<![CDATA[title]]>





 

加上文字定义:

很多人第一次看这个文档时会感觉看不懂,  因为它这写的实在是不太直观,  多看几眼就明白了,  开发者、用户、时间等等跟文本消息及其他消息都一样, 唯一不一样的是图文消息中articles节点又是个多条记录的节点,它跟其他节点同级,具体文章相当于子级,  这个看了之前文章中定义图文消息模型就很直观了,我把文章单独作为一个list当作图文消息模型中的一个属性来用。

     我们这里模拟几条数据

 
SNews mN = new SNews();
               mN.FromUserName = ReadXml.ReadModel("ToUserName", model);
               mN.ToUserName = ReadXml.ReadModel("FromUserName", model);
               mN.CreateTime = long.Parse(ReadXml.ReadModel("CreateTime", model));
               mN.MsgType = "news";
               
               //   以下为文章内容,  实际使用时,此处应该是一个跟数据库交互的方法,查询出文章
               //文章条数,  文章内容等   都应该由数据库查询出来的数据决定   这里测试,就模拟几条
               
               mN.ArticleCount =5;
               List listNews = new List();
               for (int i = 0; i < 6;i++ )
               {
                   ArticlesModel ma = new ArticlesModel();
                   ma.Title ="这是第"+i.ToString()+"篇文章";
                   ma.Description ="--"+i.ToString()+"--";
                   ma.PicUrl = "http://image6.tuku.cn/pic/wallpaper/dongwu/taipingniaogaoqingbizhi/s00"+(i+1).ToString()+".jpg";
                   ma.Url = "http://www.cnblogs.com/mochen/";
                   listNews.Add(ma);
               }
               mN.Articles = listNews;
               ReadXml.ResponseToEnd(DALWei.SendNews(mN));

 

demo是输入?或?或帮助  回复文字菜单, 输入其他字符回复图文

效果:

 

 

 

图文消息超过1篇时默认第一篇是大图显示,且每一篇都仅仅显示标题,  当只有一条时会显示简介,如图:

 

     无论有多少条文章,每篇文章点击都会打开所赋值的文章链接, 此时就相当于打开了一个浏览器访问你的web页面,这个页面你可以自行设计成任何样子,  由于手机大小不一,这个页面设计时最好考虑下屏幕适配,做成响应式布局吧

 

     好了,图文消息就是这么多,至此为止,微信所有的基础内容基本上都完成了,  在第7篇我会放出完整的demo版源码,保证拿回去扔到服务器上指定个域名,然后到微信官方填写一下,立刻就能看到效果......


分享到:
沫尘[c#]asp.net开发微信公众平台(6)阶段...
 经过前5篇,跟着一步步来的话,任何人都能搭建好一个能处理各种微信消息的框架了,总结一下最容易忽略的问题: 1、文本消息中可以使用换行符\n    ; 2、微信发来的消息中带的那个长整型的时间,我们完全不用管,原样返回去就行; 3、文本消息长度是有限制的,最长是2048字节, 注意是字节,不是字数, 实际使用中,...
沫尘[c#]asp.net开发微信公众平台(4)关注...
 上一篇已经把所有消息封装且都各自有方法处理了,这篇从使用第一步——关注开始,  关注之后进行消息记录,同时回复文本消息给用户,关注方法:DoSub,另外新用户扫描带参数的二维码关注方法:DoCodeNotSub。           1、用户关注公众号返回文本消息、用户记录: 根据解析的XML反射赋值给消息model,  现在...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……