微信公众号开发(四):创建回复消息的工厂

public class MessageFactory {
    public static MusicMessage createMusicMessage(String fromUserName,String toUserName, Music music) {
        // 回复音乐消息
        MusicMessage musicMessage = new MusicMessage();
        musicMessage.setToUserName(fromUserName);
        musicMessage.setFromUserName(toUserName);
        musicMessage.setCreateTime(new Date().getTime());
        musicMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_MUSIC);
        musicMessage.setMusic(music);
        return musicMessage;
    }
    
    public static TextMessage createTextMessage(String fromUserName, String toUserName, String content){
        // 回复文本消息
        TextMessage textMessage = new TextMessage();
        textMessage.setToUserName(fromUserName);
        textMessage.setFromUserName(toUserName);
        textMessage.setCreateTime(new Date().getTime());
        textMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_TEXT);
        textMessage.setFuncFlag(0);
        
        textMessage.setContent(content);
        return textMessage;
    }
    
    public static NewsMessage createNewsMessage(String fromUserName, String toUserName, List<Article> articles){
        // 回复图文信息消息
        NewsMessage newsMessage = new NewsMessage();
        newsMessage.setCreateTime(new Date().getTime());
        newsMessage.setFromUserName(toUserName);
        newsMessage.setToUserName(fromUserName);
        newsMessage.setFuncFlag(0);
        newsMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_NEWS);
        newsMessage.setArticleCount(articles.size());
        newsMessage.setArticles(articles);

        return newsMessage;
    }
}

/**
* 音乐消息
*
* @author 熊诗言
* @date 2015-09-05
*/
public class MusicMessage extends BaseMessage {
    // 音乐
    private Music Music;
。。。。
}
BaseMessage见前面


/**
* 音乐model
*
* @author 熊诗言
* @date 2015-09-05
*/
public class Music {
    // 音乐名称
    private String Title;
    // 音乐描述
    private String Description;
    // 音乐链接
    private String MusicUrl;
    // 高质量音乐链接,WIFI 环境优先使用该链接播放音乐
    private String HQMusicUrl;
。。。。
}



/**
* 文本消息
*
* @author 熊诗言
* @date 2015-09-05
*/
public class TextMessage extends BaseMessage {
    // 消息内容
    private String Content;
。。。。
}

图文信息推送的时候单图可以显示描述,多图不能,大图640*320,小图80*80,图的URL指向某个公网可以访问的地址,其超链接也是。

/**
* 图文消息消息
*
* @author 熊诗言
* @date 2015-09-05
*/
public class NewsMessage extends BaseMessage {
    // 图文消息个数,限制为10 条以内
    private int ArticleCount;
    // 多条图文消息信息,默认第一个item 为大图
    private List<Article> Articles;
。。。。
}

/**
* 图文model
* @author 熊诗言
* @date 2015-09-05
*/
public class Article {
    // 图文消息名称
    private String Title;
    // 图文消息描述
    private String Description;
    // 图片链接,支持JPG、PNG 格式,较好的效果为大图640*320,小图80*80,限制图片链接的域名需要与开发者填写的基本资料中的Url一致
    private String PicUrl;
    // 点击图文消息跳转链接
    private String Url;
。。。。
}

你可能感兴趣的:(微信公众号开发(四):创建回复消息的工厂)