8.1.2 多图文消息的实现
多图文消息就是指在结构上包含多个(2个及以上)Article的图文消息,创建代码如下:
- 1 Article article1 = new Article();
- 2 article1.setTitle("淘宝\n亚太最大的网络零售商圈");
- 3 article1.setDescription("");
- 4 article1.setPicUrl("http://0.weixinmptest.duapp.com/image/taobao.jpg");
- 5 article1.setUrl("http://m.taobao.com");
- 6
- 7 Article article2 = new Article();
- 8 article2.setTitle("京东\n专业的综合网上购物商城");
- 9 article2.setDescription("");
- 10 article2.setPicUrl("http://0.weixinmptest.duapp.com/image/jd.jpg");
- 11 article2.setUrl("http://m.jd.com");
- 12
- 13 Article article3 = new Article();
- 14 article3.setTitle("唯品会\n一家专门做特卖的网站");
- 15 article3.setDescription("每天100个品牌授权特卖,100%正品,支持货到付款,7天无条件退货。");
- 16 article3.setPicUrl("http://0.weixinmptest.duapp.com/image/vipshop.jpg");
- 17 article3.setUrl("http://m.vipshop.com");
- 18 List<Article> articleList = new ArrayList<Article>();
- 19 articleList.add(article1);
- 20 articleList.add(article2);
- 21 articleList.add(article3);
- 22
- 23 NewsMessage newsMessage = new NewsMessage();
- 24 newsMessage.setToUserName(fromUserName);
- 25 newsMessage.setFromUserName(toUserName);
- 26 newsMessage.setCreateTime(new Date().getTime());
- 27 newsMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_NEWS);
- 28 newsMessage.setArticleCount(articleList.size());
- 29 newsMessage.setArticles(articleList);
- 30 respXml = MessageUtil.messageToXml(newsMessage);
与创建单图文消息的区别在第1~21行,这里创建了3个Article对象并且都添加到集合articleList中。上面创建的多图文消息的显示效果如图8-3所示。可以看到,多图文消息的第一个Article的图片会显示为大图,其他的显示为小图。另外,描述(Description)不会显示出来。
图8-3 多图文消息