微信公众号Java开发记录(七)回复音乐消息

一、pom依赖

    <!-- 将xml包解析成Map -->
        <dependency>
            <groupId>dom4j</groupId>
            <artifactId>dom4j</artifactId>
            <version>1.6.1</version>
        </dependency>

        <!-- 将Map解析成XML包 -->
        <dependency>
            <groupId>com.thoughtworks.xstream</groupId>
            <artifactId>xstream</artifactId>
            <version>1.4.11.1</version>
        </dependency>

二、实体类代码

xml数据包格式
在这里插入图片描述
在这里插入图片描述
注意:
1.缩略图的媒体id参数参数 是通过素材管理中的接口上传的多媒体文件 得到的id;
2.MusicUrl 自己现在浏览器打开,看能不能播放,我是将音乐文件(mp3格式)上传到了FastDFS,返回的路径可以在浏览器打开可以播放。
3.注意 参数名是xml形式中的名字,下面参数解释MusicUrl写成的是MusicURL,这样也是解析不了的,要按照xml中的名字来写。
BUG
上面的所有参数最好都要写,我就是因为 以为HQMusicUrl这个参数不是必须的,所以没写,就导致 公众号解析不了,一直返回”该公众号故障“。

Music

@Data
public class Music {
    /**
     * 音乐标题
     */
    @XStreamAlias("Title")
    private String title ;
    /**
     * 音乐描述
     */
    @XStreamAlias("Description")
    private String description;
    /**
     * 音乐连接
     */
    @XStreamAlias("MusicUrl")
    private String musicURL;
    /**
     * 高质量音乐链接,WIFI环境优先使用该链接播放音乐
     */
    @XStreamAlias("HQMusicUrl")
    private String hQMusicUrl;
    /**
     * 缩略图的媒体id,通过素材管理中的接口上传多媒体文件,得到的id
     */
    @XStreamAlias("ThumbMediaId")
    private String thumbMediaId;
}

BaseMessage

@Data
@XStreamAlias("xml")
public class BaseMessage {
    @XStreamAlias("ToUserName")
    private String toUserName;
    @XStreamAlias("FromUserName")
    private String fromUserName;
    @XStreamAlias("CreateTime")
    private String createTime;
    @XStreamAlias("MsgType")
    private String msgType;
    @XStreamAlias("MsgId")
    private String msgId;


    public BaseMessage(Map<String ,String> map){
        this.fromUserName=map.get("ToUserName");
        this.toUserName=map.get("FromUserName");
        this.createTime = System.currentTimeMillis()/1000+"";
    }
    public BaseMessage(){

    }
}

MusicMessage

@Data
@XStreamAlias("xml")
public class MusicMessage extends BaseMessage{
    @XStreamAlias("Music")
    private Music music;

    public MusicMessage(Map<String ,String> map,Music music){
        super(map);
        this.setMsgType("music");
        this.music = music;
    }

    public MusicMessage(){

    }
}

在这里插入图片描述

效果在这里插入图片描述

BUG
上传的缩略图并没有显示出来。
待解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Liu_Shihao

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

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

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

打赏作者

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

抵扣说明:

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

余额充值