Java微信公众平台开发(四)--回复消息的分类及实体的创建

转自: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;
     }
 
 
     
 
}

那么到这里回复消息类型的划分和实体的具体实现代码就基本编写完成了,在这些新增实体加入后我们项目的项目结构大致如下:

1.png

猜你喜欢

转载自www.cnblogs.com/sharpest/p/10231268.html