第 4 章 微信开发之服务器响应消息封装

这一节的主要实现的功能是微信开发之服务器响应消息封装。

这一个功能可以查看 官方消息回复API

 

同样,把消息回复中定义的所有消息都有的字段提取出来,封装成一个基类,

这些公有的字段包括:ToUserName(接收方帐号,用户的OPEN_ID)、FromUserName(开发者的微信号)、CreateTime(消 息的创建时间)、MsgType(消息类型)、FuncFlag(消息的星标标识)。

 

 

 

通过我们的服务器发送消息给普通的用户。

 

相应消息的基类BaseMessage:

package com.souvc.weixin.message.resp;

/**
 * 
 * @ClassName: BaseMessage
 * @Description: 消息基类(公众帐号 -> 普通用户)
 * @author: souvc
 * @date Jun 15, 2015 3:56:58 PM
 */
public class BaseMessage {
    
    // 接收方帐号(收到的OpenID)
    private String ToUserName;
    // 开发者微信号
    private String FromUserName;
    // 消息创建时间 (整型)
    private long CreateTime;
    // 消息类型(text/music/news)
    private String MsgType;
    // 位0x0001被标志时,星标刚收到的消息
    private int FuncFlag;

    public String getToUserName() {
        return ToUserName;
    }

    public void setToUserName(String toUserName) {
        ToUserName = toUserName;
    }

    public String getFromUserName() {
        return FromUserName;
    }

    public void setFromUserName(String fromUserName) {
        FromUserName = fromUserName;
    }

    public long getCreateTime() {
        return CreateTime;
    }

    public void setCreateTime(long createTime) {
        CreateTime = createTime;
    }

    public String getMsgType() {
        return MsgType;
    }

    public void setMsgType(String msgType) {
        MsgType = msgType;
    }

    public int getFuncFlag() {
        return FuncFlag;
    }

    public void setFuncFlag(int funcFlag) {
        FuncFlag = funcFlag;
    }
}

 

 

文本相应消息类:

package com.souvc.weixin.message.resp;

/**
 * 
* @ClassName: TextMessage 
* @Description:  响应消息之文本消息
* @author: souvc
* @date Jun 15, 2015 4:04:53 PM
 */
public class TextMessage extends BaseMessage {
    // 回复的消息内容
    private String Content;

    public String getContent() {
        return Content;
    }

    public void setContent(String content) {
        Content = content;
    }
}

 

音乐相应消息类:

package com.souvc.weixin.message.resp;

/**
 * 
 * @ClassName: MusicMessage
 * @Description: 响应消息之音乐消息
 * @author: souvc
 * @date Jun 15, 2015 4:05:43 PM
 */
public class MusicMessage extends BaseMessage {
    // 音乐
    private Music Music;

    public Music getMusic() {
        return Music;
    }

    public void setMusic(Music music) {
        Music = music;
    }
}

 

 

 

package com.souvc.weixin.message.resp;

/**
 * 
 * @ClassName: Music
 * @Description: 音乐消息中Music类的定义
 * @author: souvc
 * @date Jun 15, 2015 4:05:26 PM
 */
public class Music {
    // 音乐名称
    private String Title;
    // 音乐描述
    private String Description;
    // 音乐链接
    private String MusicUrl;
    // 高质量音乐链接,WIFI环境优先使用该链接播放音乐
    private String HQMusicUrl;

    public String getTitle() {
        return Title;
    }

    public void setTitle(String title) {
        Title = title;
    }

    public String getDescription() {
        return Description;
    }

    public void setDescription(String description) {
        Description = description;
    }

    public String getMusicUrl() {
        return MusicUrl;
    }

    public void setMusicUrl(String musicUrl) {
        MusicUrl = musicUrl;
    }

    public String getHQMusicUrl() {
        return HQMusicUrl;
    }

    public void setHQMusicUrl(String musicUrl) {
        HQMusicUrl = musicUrl;
    }

}

 

 

图文消息响应类:

package com.souvc.weixin.message.resp;

import java.util.List;

/**
 * 
 * @ClassName: NewsMessage
 * @Description: 响应消息之图文消息
 * @author: souvc
 * @date Jun 15, 2015 4:07:00 PM
 */
public class NewsMessage extends BaseMessage {
    // 图文消息个数,限制为10条以内
    private int ArticleCount;
    // 多条图文消息信息,默认第一个item为大图
    private List<Article> Articles;

    public int getArticleCount() {
        return ArticleCount;
    }

    public void setArticleCount(int articleCount) {
        ArticleCount = articleCount;
    }

    public List<Article> getArticles() {
        return Articles;
    }

    public void setArticles(List<Article> articles) {
        Articles = articles;
    }
}

 

 

package com.souvc.weixin.message.resp;

/**
 * 
 * @ClassName: Article
 * @Description: 图文消息中Article类的定义
 * @author: souvc
 * @date Jun 15, 2015 4:07:18 PM
 */
public class Article {

    // 图文消息名称
    private String Title;
    // 图文消息描述
    private String Description;
    // 图片链接,支持JPG、PNG格式,较好的效果为大图640*320,小图80*80,限制图片链接的域名需要与开发者填写的基本资料中的Url一致
    private String PicUrl;
    // 点击图文消息跳转链接
    private String Url;

    public String getTitle() {
        return Title;
    }

    public void setTitle(String title) {
        Title = title;
    }

    public String getDescription() {
        return null == Description ? "" : Description;
    }

    public void setDescription(String description) {
        Description = description;
    }

    public String getPicUrl() {
        return null == PicUrl ? "" : PicUrl;
    }

    public void setPicUrl(String picUrl) {
        PicUrl = picUrl;
    }

    public String getUrl() {
        return null == Url ? "" : Url;
    }

    public void setUrl(String url) {
        Url = url;
    }

}

 

 

请求消息和响应消息类的封装源码: http://yunpan.cn/cQyS4wtV8eyPv  访问密码 bd53

 

你可能感兴趣的:(微信开发)