Java微信公眾平臺開發(fā)(4) 回復(fù)消息的分類及實體的創(chuàng)建
前面有說道對接收到微信服務(wù)器消息后對消息的分類,當(dāng)時主要分為普通消息和事件消息,這里我們要講述的是我們在給用戶回復(fù)的消息類型,在這里也可以大致分為兩類:一種為不需要上傳資源到微信服務(wù)器的這里成為【普通消息回復(fù)】;還有一種需要上傳資源到微信服務(wù)器的這里稱為【多媒體消息回復(fù)】!
普通消息回復(fù):回復(fù)文本消息/回復(fù)圖文消息
多媒體消息回復(fù):回復(fù)圖片消息/回復(fù)語音消息/回復(fù)視頻消息/回復(fù)音樂消息
(一)回復(fù)消息基類的實現(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; } }
(二)普通消息回復(fù)實體實現(xiàn)
①文本消息消息體
package com.cuiyongzhi.wechat.message.resp; /** * ClassName: TextMessage * @Description: 文本消息消息體 * @author dapengniao * @date 2016年3月7日 下午3:54:22 */ public class TextMessage extends BaseMessage { // 回復(fù)的消息內(nèi)容 private String Content; public String getContent() { return Content; } public void setContent(String content) { Content = content; } }
②圖文/多圖文消息實現(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; // 點擊圖文消息跳轉(zhuǎn)鏈接 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條以內(nèi) private int ArticleCount; // 多條圖文消息信息,默認(rèn)第一個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; } }
(三)多媒體消息回復(fù)消息體實現(xiàn)
①回復(fù)圖片消息實體
package com.cuiyongzhi.wechat.message.resp; /** * ClassName: Image * @Description: 圖片回復(fù)消息體 * @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; } }
②回復(fù)音樂消息實體
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; // 高質(zhì)量音樂鏈接,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; } }
③回復(fù)視頻消息實體
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; } }
④回復(fù)語音消息實體
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; } }
那么到這里回復(fù)消息類型的劃分和實體的具體實現(xiàn)代碼就基本編寫完成了,在這些新增實體加入后我們項目的項目結(jié)構(gòu)大致如下:
下篇將講述【普通消息體的回復(fù)】實現(xiàn),感謝你的翻閱,如有疑問可以留言討論!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JAVA中實現(xiàn)原生的 socket 通信機(jī)制原理
本篇文章主要介紹了JAVA中實現(xiàn)原生的 socket 通信機(jī)制原理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08Intellij Idea中進(jìn)行Mybatis逆向工程的實現(xiàn)
這篇文章主要介紹了Intellij Idea中進(jìn)行Mybatis逆向工程的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05Java將Date日期類型字段轉(zhuǎn)換成json字符串的方法
這篇文章主要給大家介紹了關(guān)于Java將Date日期類型字段轉(zhuǎn)換成json字符串的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02