WeChat公式アカウントJava開発記録(7)音楽メッセージへの返信

1つ、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>

2、エンティティクラスコード

xmlデータパケット形式
ここに写真の説明を挿入
ここに写真の説明を挿入
注:
1。サムネイルのメディアIDパラメーターは、マテリアル管理のインターフェイスを介してアップロードされたマルチメディアファイルから取得したIDです
。2。MusicUrlをブラウザーで開いて、再生できるかどうかを確認します。私は音楽ファイルです( mp3形式)をFastDFSにアップロードすると、返されたパスをブラウザで開いて再生できます。
3.パラメータ名はxml形式の名前であることに注意してください。次のパラメータの説明MusicUrlはMusicURLとして記述されているため、解析できません。xmlの名前に従って記述する必要があります。
BUG
HQMusicUrlパラメータは必要ないと思ったので、上記のパラメータをすべて書き込むのが最善です。それを記述しなかった場合、公式アカウントを解析できず、「公式アカウントが失敗しました」と返され続けました。

音楽

@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(){
    
    

    }
}

ここに写真の説明を挿入

効果ここに写真の説明を挿入

バグ
によってアップロードされたサムネイルは表示されません。
解決する。

おすすめ

転載: blog.csdn.net/DreamsArchitects/article/details/109220553
おすすめ