微信公众号开发笔记(十二)发送图文消息

发送图文消息
<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代码实现
  1. 在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
        );
    }

}
  1. 在 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
//            );
        }

  1. 查看效果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猫A建仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值