发送图文消息
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<ArticleCount>1</ArticleCount>
<Articles>
<item>
<Title><![CDATA[title1]]></Title>
<Description><![CDATA[description1]]></Description>
<PicUrl><![CDATA[picurl]]></PicUrl>
<Url><![CDATA[url]]></Url>
</item>
</Articles>
</xml>
Java代码实现
- 在Message.util工具类中新增buildNewsMessage的方法
/**
* 返回图文消息
* @param map
* @return
*/
private static String buildNewsMessage(Map<String, String> map) {
String fromUserName = map.get("FromUserName");
String toUserName = map.get("ToUserName");
String title1 = "缘起则聚,缘灭则散";
String description1 = "我不是高傲,也不是胡闹 只是厌倦了那些随时可能失去的依靠。";
String picUrl1 ="https://img.meiwen.com.cn/allimg/1609/1-1609252326410-L.jpg";
String textUrl1 = "https://mp.weixin.qq.com/s/-q4BCx-Zm5Sb6-7Zxg6wvA";
String title2 = "别小看自己, 你没那么脆弱";
String description2 = " 肥就去减,穷就去赚 只要你愿意,为时不会晚。";
String picUrl2 ="http://www.yumei.net/d/file/p/20150702/1-1503111914230-L.jpg";
String textUrl2 = "https://mp.weixin.qq.com/s/fraUcx5NAu3SWoj6MG6f5A";
return String.format(
"<xml>" +
"<ToUserName><![CDATA[%s]]></ToUserName>" +
"<FromUserName><![CDATA[%s]]></FromUserName>" +
"<CreateTime>%s</CreateTime>" +
"<MsgType><![CDATA[news]]></MsgType>" +
"<ArticleCount>2</ArticleCount>" + //图文消息个数,限制为8条以内
"<Articles>" + //多条图文消息信息,默认第一个item为大图,注意,如果图文数超过8,则将会无响应
"<item>" +
"<Title><![CDATA[%s]]></Title> " +
"<Description><![CDATA[%s]]></Description>" +
"<PicUrl><![CDATA[%s]]></PicUrl>" + //图片链接,支持JPG、PNG格式,较好的效果为大图360*200,小图200*200
"<Url><![CDATA[%s]]></Url>" + //点击图文消息跳转链接
"</item>" +
"<item>" +
"<Title><![CDATA[%s]]></Title>" +
"<Description><![CDATA[%s]]></Description>" +
"<PicUrl><![CDATA[%s]]]></PicUrl>" +
"<Url><![CDATA[%s]]]></Url>" +
"</item>" +
"</Articles>" +
"</xml>"
,
fromUserName,toUserName, getUtcTime(),
title1,description1,picUrl1,textUrl1,
title2,description2,picUrl2,textUrl2
);
}
}
- 在 buildXml 构建消息的方法中新增代码
/**
* *图文消息
*/
if(msgType.toUpperCase().equals("NEWS")|| "图文".equals(content)) {
result = buildNewsMessage(map);
// String fromUserName = map.get("FromUserName");
// String toUserName = map.get("ToUserName");
//
// String title1 = "缘起则聚,缘灭则散";
// String description1 = "我不是高傲,也不是胡闹 只是厌倦了那些随时可能失去的依靠。";
//
// String picUrl1 ="https://img.meiwen.com.cn/allimg/1609/1-1609252326410-L.jpg";
// String textUrl1 = "https://mp.weixin.qq.com/s/-q4BCx-Zm5Sb6-7Zxg6wvA";
//
// String title2 = "别小看自己, 你没那么脆弱";
// String description2 = " 肥就去减,穷就去赚 只要你愿意,为时不会晚。";
// String picUrl2 ="http://www.yumei.net/d/file/p/20150702/1-1503111914230-L.jpg";
// String textUrl2 = "https://mp.weixin.qq.com/s/fraUcx5NAu3SWoj6MG6f5A";
//
// return String.format(
// "<xml>" +
// "<ToUserName><![CDATA[%s]]></ToUserName>" +
// "<FromUserName><![CDATA[%s]]></FromUserName>" +
// "<CreateTime>%s</CreateTime>" +
// "<MsgType><![CDATA[news]]></MsgType>" +
// "<ArticleCount>2</ArticleCount>" + //图文消息个数,限制为8条以内
// "<Articles>" + //多条图文消息信息,默认第一个item为大图,注意,如果图文数超过8,则将会无响应
// "<item>" +
// "<Title><![CDATA[%s]]></Title> " +
// "<Description><![CDATA[%s]]></Description>" +
// "<PicUrl><![CDATA[%s]]></PicUrl>" + //图片链接,支持JPG、PNG格式,较好的效果为大图360*200,小图200*200
// "<Url><![CDATA[%s]]></Url>" + //点击图文消息跳转链接
// "</item>" +
// "<item>" +
// "<Title><![CDATA[%s]]></Title>" +
// "<Description><![CDATA[%s]]></Description>" +
// "<PicUrl><![CDATA[%s]]]></PicUrl>" +
// "<Url><![CDATA[%s]]]></Url>" +
// "</item>" +
// "</Articles>" +
// "</xml>"
// ,
// fromUserName,toUserName, getUtcTime(),
// title1,description1,picUrl1,textUrl1,
// title2,description2,picUrl2,textUrl2
// );
}
- 查看效果