1. 程式人生 > >微信公眾號開發整理(二)--圖文訊息回覆

微信公眾號開發整理(二)--圖文訊息回覆

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方法中新增訊息迴應的相關邏輯:


執行結果如下: