轉自:http://www.cuiyongzhi.com/post/42.html
前面有說道對接收到微信伺服器訊息後對訊息的分類,當時主要分為普通訊息和事件訊息,這裡我們要講述的是我們在給使用者回覆的訊息型別,在這裡也可以大致分為兩類:一種為不需要上傳資源到微信伺服器的這裡成為【普通訊息回覆】;還有一種需要上傳資源到微信伺服器的這裡稱為【多媒體訊息回覆】!
-
普通訊息回覆:回覆文字訊息/回覆圖文訊息
-
多媒體訊息回覆:回覆圖片訊息/回覆語音訊息/回覆視訊訊息/回覆音樂訊息
(一)回覆訊息基類的實現
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
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; // 開發者微訊號 private String FromUserName; // 訊息建立時間 (整型) 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; } } |
(二)普通訊息回覆實體實現
①文字訊息訊息體
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
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; } } |
②圖文/多圖文訊息實現
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
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; } } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
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 { // 圖文訊息個數,限制為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; } } |
(三)多媒體訊息回覆訊息體實現
①回覆圖片訊息實體
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
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; } } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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; } } |
②回覆音樂訊息實體
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
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環境優先使用該連結播放音樂 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; } } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
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; } } |
③回覆視訊訊息實體
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
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; } } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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; } } |
④回覆語音訊息實體
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
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; } } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
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; } } |
那麼到這裡回覆訊息型別的劃分和實體的具體實現程式碼就基本編寫完成了,在這些新增實體加入後我們專案的專案結構大致如下: