微信公众号开发整理(二)--图文消息回复

1.由于个人公众号许多接口权限用不了,这里方便测试,我们采用测试账号进行开发:

微信公众号开发整理(二)--图文消息回复

微信公众号开发整理(二)--图文消息回复

2.找到回复图文消息相关API文档

微信公众号开发整理(二)--图文消息回复

首先查看回复图文消息文本格式如下:

微信公众号开发整理(二)--图文消息回复

3.上一篇创建了一个公用的实体类,这次创建图文消息的回复,我们只需要继承公用的父类,具体实体类如下:

public class News {
private String Title;//标题
private String Description;//描述
private String PicUrl;//图片地址

private String Url;//访问地址

        set,get方法略。。。。}

public class NewsMessage extends CommMessage {
private int ArticleCount;//消息数量

private List<News> Articles;//消息体

       set,get方法略。。。。

}

添加我们需要显示的图片路径

微信公众号开发整理(二)--图文消息回复

这里我们同样需要把图文消息转化为XML文件的响应格式,在我们上一次创建的MessageUtil工具类中添加图文转xml及xml转图文的方法,添加图文消息静态常量,代码如下:

微信公众号开发整理(二)--图文消息回复

       //图文消息转化为XML   
public static String newsMessageToXml(NewsMessage newsMessage){
XStream xstream = new XStream();
xstream.alias("xml", newsMessage.getClass());
xstream.alias("item", new News().getClass());
return xstream.toXML(newsMessage);

}

       //图文消息的组装
public static String initNewsMessage(String toUserName,String fromUserName){
String message = null;
List<News> newList = new ArrayList<News>();
NewsMessage newsMessage = new NewsMessage();
News news = new News();
news.setTitle("JAVA程序员介绍");
news.setDescription("JAVA程序员广义上是指一群以JAVA为谋生手段的软件开发人员。狭义的说,是指拥有SUN公司JAVA认证的程序员。Sun Java认证分为两个级别:Sun 认证Java程序员和Sun 认证Java开发员。通常要求程序员精通java基础,java高级编程,及常用java设计模式,并深入理解mvc编程模式,了解uml相关知识!");
news.setPicUrl("http://c3798041.ngrok.io/WeiXinTest/image/java.jpg");//这里测试采用地址,换成自己项目下面的图片路径
news.setUrl("www.baidu.com");
newList.add(news);
newsMessage.setToUserName(fromUserName);
newsMessage.setFromUserName(toUserName);
newsMessage.setCreateTime(new Date().getTime());
newsMessage.setMsgType(MESSAGE_NEWS);
newsMessage.setArticles(newList);
newsMessage.setArticleCount(newList.size());
message = newsMessageToXml(newsMessage);
return message;
}

5.在doPost方法中添加消息回应的相关逻辑:

微信公众号开发整理(二)--图文消息回复

运行结果如下:

微信公众号开发整理(二)--图文消息回复