鍍金池/ 教程/ Java/ Java 微信公眾平臺開發(fā)(四)--回復消息的分類及實體的創(chuàng)建
Java 微信公眾平臺開發(fā)(八)--多媒體消息回復
Java 微信公眾平臺開發(fā)(四)--回復消息的分類及實體的創(chuàng)建
Mybatis 工具 Generator
Java 微信公眾平臺開發(fā)(十一)--開發(fā)中微信公眾平臺/開放平臺/商戶平臺的關聯(lián)
微信開發(fā)準備(二)--springmvc+mybatis 項目結構的搭建
 Java 微信公眾平臺開發(fā)(十二)--微信用戶信息的獲取
Java 微信公眾平臺開發(fā)(十五)--微信 JSSDK 的使用
微信開發(fā)準備(三)--框架以及工具的基本使用
Java 微信公眾平臺開發(fā)(十三)--微信 JSSDK 中 Config 配置
Java 微信公眾平臺開發(fā)(一)--接入微信公眾平臺
Java 微信公眾平臺開發(fā)(十四)【番外篇】--微信 web 開發(fā)者工具使用
Java 微信公眾平臺開發(fā)【番外篇】(七)--公眾平臺測試帳號的申請
微信開發(fā)準備(一)--Maven 倉庫管理新建 WEB 項目
Java 微信公眾平臺開發(fā)(三)--接收消息的分類及實體的創(chuàng)建
Java 微信公眾平臺開發(fā)(九)--關鍵字回復以及客服接口實現(xiàn)(該公眾號暫時無法提供服務解決方案)
微信開發(fā)準備(四)--nat123 內網(wǎng)地址公網(wǎng)映射實現(xiàn)
Java 微信公眾平臺開發(fā)(五)--文本及圖文消息回復的實現(xiàn)
Java 微信公眾平臺開發(fā)(十)--微信自定義菜單的創(chuàng)建實現(xiàn)
Java 微信公眾平臺開發(fā)(六)--微信開發(fā)中的 token 獲取
Java 微信公眾平臺開發(fā)(二)--微信服務器 post 消息體的接收

Java 微信公眾平臺開發(fā)(四)--回復消息的分類及實體的創(chuàng)建

前面有說道對接收到微信服務器消息后對消息的分類,當時主要分為普通消息和事件消息,這里我們要講述的是我們在給用戶回復的消息類型,在這里也可以大致分為兩類:一種為不需要上傳資源到微信服務器的這里成為【普通消息回復】;還有一種需要上傳資源到微信服務器的這里稱為【多媒體消息回復】!

  • 普通消息回復:回復文本消息/回復圖文消息
  • 多媒體消息回復:回復圖片消息/回復語音消息/回復視頻消息/回復音樂消息

(一)回復消息基類的實現(xiàn)

package com.cuiyongzhi.wechat.message.resp;

/**
 * ClassName: BaseMessage
 * @Description: 返回消息體-基本消息
 * @author dapengniao
 * @date 2016 年 3 月 7 日 下午 3:16:57
 */
public class BaseMessage {  
    // 接收方帳號(收到的 OpenID)   
    private String ToUserName;  
    // 開發(fā)者微信號   
    private String FromUserName;  
    // 消息創(chuàng)建時間 (整型)   
    private long CreateTime;  
    // 消息類型(text/music/news)   
    private String MsgType;  

    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;  
    }  

}

(二)普通消息回復實體實現(xiàn)

1.文本消息消息體

package com.cuiyongzhi.wechat.message.resp;

/**
 * ClassName: TextMessage
 * @Description: 文本消息消息體
 * @author dapengniao
 * @date 2016 年 3 月 7 日 下午 3:54:22
 */
public class TextMessage extends BaseMessage {  
    // 回復的消息內容   
    private String Content;  

    public String getContent() {  
        return Content;  
    }  

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

2.圖文/多圖文消息實現(xiàn)

package com.cuiyongzhi.wechat.message.resp;

/**
 * ClassName: Article
 * @Description: 圖文消息體
 * @author dapengniao
 * @date 2016 年 3 月 7 日 下午 3:16:28
 */
public class Article {  
    // 圖文消息名稱   
    private String Title;  
    // 圖文消息描述   
    private String Description;  
    // 圖片鏈接,支持 JPG、PNG 格式,較好的效果為大圖 640*320,小圖 80*80,
    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;  
    }  

}
package com.cuiyongzhi.wechat.message.resp;

import java.util.List;

/**
 * ClassName: NewsMessage
 * @Description: 多圖文消息
 * @author dapengniao
 * @date 2016 年 3 月 7 日 下午 3:52:18
 */
public class NewsMessage extends BaseMessage {  
    // 圖文消息個數(shù),限制為 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;  
    }  
}

(三)多媒體消息回復消息體實現(xiàn)

1.回復圖片消息實體

package com.cuiyongzhi.wechat.message.resp;

/**
 * ClassName: Image
 * @Description: 圖片回復消息體
 * @author dapengniao
 * @date 2016 年 3 月 8 日 下午 5:55:18
 */
public class Image {

    private String MediaId;

    public String getMediaId() {
        return MediaId;
    }

    public void setMediaId(String mediaId) {
        MediaId = mediaId;
    }

}
package com.cuiyongzhi.wechat.message.resp;

/**
 * ClassName: ImageMessage
 * @Description: 圖片消息
 * @author dapengniao
 * @date 2016 年 3 月 8 日 下午 5:58:10
 */
public class ImageMessage {

    private Image Image;

    public Image getImage() {
        return Image;
    }

    public void setImage(Image image) {
        Image = image;
    }

}

2.回復音樂消息實體

package com.cuiyongzhi.wechat.message.resp;

/**
 * ClassName: Music
 * @Description: 音樂消息消息體
 * @author dapengniao
 * @date 2016 年 3 月 7 日 下午 3:54:00
 */
public class Music {  
    // 音樂名稱   
    private String Title;  
    // 音樂描述   
    private String Description;  
    // 音樂鏈接   
    private String MusicUrl;  
    // 高質量音樂鏈接,WIFI 環(huán)境優(yōu)先使用該鏈接播放音樂   
    private String HQMusicUrl;

    private String ThumbMediaId; //縮略圖的媒體 id

    public String getThumbMediaId() {
        return ThumbMediaId;
    }

    public void setThumbMediaId(String thumbMediaId) {
        ThumbMediaId = thumbMediaId;
    }

    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.cuiyongzhi.wechat.message.resp;

/**
 * ClassName: MusicMessage
 * @Description: 音樂消息
 * @author dapengniao
 * @date 2016 年 3 月 7 日 下午 3:53:38
 */
public class MusicMessage extends BaseMessage {  
    // 音樂   
    private Music Music;  

    public Music getMusic() {  
        return Music;  
    }  

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

3.回復視頻消息實體

package com.cuiyongzhi.wechat.message.resp;

/**
 * ClassName: Video
 * @Description: 視頻消息體
 * @author dapengniao
 * @date 2016 年 3 月 8 日 下午 6:05:45
 */
public class Video {

    private String MediaId;
    private String Title;
    private String Description;

    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 getMediaId() {
        return MediaId;
    }

    public void setMediaId(String mediaId) {
        MediaId = mediaId;
    }

}
package com.cuiyongzhi.wechat.message.resp;

/**
 * ClassName: VideoMessage
 * @Description: 視頻消息
 * @author dapengniao
 * @date 2016 年 3 月 8 日 下午 6:06:29
 */
public class VideoMessage {

    private Video Video;

    public Video getVideo() {
        return Video;
    }

    public void setVideo(Video video) {
        Video = video;
    }

}

4.回復語音消息實體

package com.cuiyongzhi.wechat.message.resp;

/**
 * ClassName: Voice
 * @Description: 語音消息體
 * @author dapengniao
 * @date 2016 年 3 月 8 日 下午 6:02:29
 */
public class Voice {

    private String MediaId;

    public String getMediaId() {
        return MediaId;
    }

    public void setMediaId(String mediaId) {
        MediaId = mediaId;
    }

}
package com.cuiyongzhi.wechat.message.resp;

/**
 * ClassName: VoiceMessage
 * @Description: 語音消息
 * @author dapengniao
 * @date 2016 年 3 月 8 日 下午 6:02:13
 */
public class VoiceMessage {

    private Voice Voice;

    public Voice getVoice() {
        return Voice;
    }

    public void setVoice(Voice voice) {
        Voice = voice;
    }

}

那么到這里回復消息類型的劃分和實體的具體實現(xiàn)代碼就基本編寫完成了,在這些新增實體加入后我們項目的項目結構大致如下:

http://wiki.jikexueyuan.com/project/java-wechat/images/22.png" alt="" />

下篇將講述【普通消息體的回復】實現(xiàn),感謝你的翻閱,如有疑問可以留言討論!