8.1.2 多图文消息的实现

多图文消息就是指在结构上包含多个(2个及以上)Article的图文消息,创建代码如下:

  1. 1 Article article1 = new Article();
  2. 2 article1.setTitle("淘宝\n亚太最大的网络零售商圈");
  3. 3 article1.setDescription("");
  4. 4 article1.setPicUrl("http://0.weixinmptest.duapp.com/image/taobao.jpg");
  5. 5 article1.setUrl("http://m.taobao.com");
  6. 6
  7. 7 Article article2 = new Article();
  8. 8 article2.setTitle("京东\n专业的综合网上购物商城");
  9. 9 article2.setDescription("");
  10. 10 article2.setPicUrl("http://0.weixinmptest.duapp.com/image/jd.jpg");
  11. 11 article2.setUrl("http://m.jd.com");
  12. 12
  13. 13 Article article3 = new Article();
  14. 14 article3.setTitle("唯品会\n一家专门做特卖的网站");
  15. 15 article3.setDescription("每天100个品牌授权特卖,100%正品,支持货到付款,7天无条件退货。");
  16. 16 article3.setPicUrl("http://0.weixinmptest.duapp.com/image/vipshop.jpg");
  17. 17 article3.setUrl("http://m.vipshop.com");
  18. 18 List<Article> articleList = new ArrayList<Article>();
  19. 19 articleList.add(article1);
  20. 20 articleList.add(article2);
  21. 21 articleList.add(article3);
  22. 22
  23. 23 NewsMessage newsMessage = new NewsMessage();
  24. 24 newsMessage.setToUserName(fromUserName);
  25. 25 newsMessage.setFromUserName(toUserName);
  26. 26 newsMessage.setCreateTime(new Date().getTime());
  27. 27 newsMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_NEWS);
  28. 28 newsMessage.setArticleCount(articleList.size());
  29. 29 newsMessage.setArticles(articleList);
  30. 30 respXml = MessageUtil.messageToXml(newsMessage);

与创建单图文消息的区别在第1~21行,这里创建了3个Article对象并且都添加到集合articleList中。上面创建的多图文消息的显示效果如图8-3所示。可以看到,多图文消息的第一个Article的图片会显示为大图,其他的显示为小图。另外,描述(Description)不会显示出来。

8.1.2 多图文消息的实现 - 图1

图8-3 多图文消息