微信测试号开发之二 封装消息实体类

原文链接:https://blog.csdn.net/qq_37936542/article/details/78339048

用户、微信服务器和第三方服务器之间的对话流程是怎样的?


微信消息分类有哪些?


(一)微信向第三方服务器发送的普通消息

文本消息、图片消息、语音消息、视频消息、小视频消息、地理位置消息、连接消息


(二)微信向第三方服务器发送的事件类型消息

关注/取消关注时间、自定义菜单事件、点击菜单拉取消息时的消息推送、点击菜单跳转连接时的消息推送、扫描带参数的二维码事件、上报地理位置事件


(三)第三方服务器响应给微信的消息

回复文本消息、回复语音消息、回复音乐消息、回复图片消息、回复图文消息、回复视频消息




一:封装普通消息

因为普通消息有公共的字段,所以需要封装一个基类ReqMessage_Base

  1. public class ReqMessage_Base {  
  2.     // 开发者微信号  
  3.     private String ToUserName;  
  4.     // 发送方帐号(一个OpenID)  
  5.     private String FromUserName;  
  6.     // 消息创建时间 (整型)  
  7.     private long CreateTime;  
  8.     // 消息类型(text/image/location/link)  
  9.     private String MsgType;  
  10.     // 消息id,64位整型  
  11.     private long MsgId;  
  12.   
  13.   
  14.       
  15.     public String getToUserName() {  
  16.         return ToUserName;  
  17.     }  
  18.   
  19.   
  20.     public void setToUserName(String toUserName) {  
  21.         ToUserName = toUserName;  
  22.     }  
  23.   
  24.   
  25.     public String getFromUserName() {  
  26.         return FromUserName;  
  27.     }  
  28.   
  29.   
  30.     public void setFromUserName(String fromUserName) {  
  31.         FromUserName = fromUserName;  
  32.     }  
  33.   
  34.   
  35.     public long getCreateTime() {  
  36.         return CreateTime;  
  37.     }  
  38.   
  39.   
  40.     public void setCreateTime(long createTime) {  
  41.         CreateTime = createTime;  
  42.     }  
  43.   
  44.   
  45.     public String getMsgType() {  
  46.         return MsgType;  
  47.     }  
  48.   
  49.   
  50.     public void setMsgType(String msgType) {  
  51.         MsgType = msgType;  
  52.     }  
  53.   
  54.   
  55.     public long getMsgId() {  
  56.         return MsgId;  
  57.     }  
  58.   
  59.   
  60.     public void setMsgId(long msgId) {  
  61.         MsgId = msgId;  
  62.     }  
  63. }  



普通文本消息类 ReqMessage_Text:


  1. public class ReqMessage_Text extends ReqMessage_Base{  
  2.   
  3.   
  4. // 消息内容  
  5.     private String Content;  
  6.   
  7.   
  8.     public String getContent() {  
  9.         return Content;  
  10.     }  
  11.   
  12.   
  13.     public void setContent(String content) {  
  14.         Content = content;  
  15.     }  
  16. }  


其他的需要再整理!!



二:封装事件类型的消息:

基类 EventMessage_Base


  1. public class EventMessage_Base {  
  2. // 开发者微信号  
  3. private String ToUserName;  
  4. // 发送方帐号(一个OpenID)  
  5. private String FromUserName;  
  6. // 消息创建时间 (整型)  
  7. private long CreateTime;  
  8. // 消息类型  
  9. private String MsgType;  
  10. // 事件类型  
  11. private String Event;  
  12.   
  13.   
  14. public String getToUserName() {  
  15. return ToUserName;  
  16. }  
  17.   
  18.   
  19. public void setToUserName(String toUserName) {  
  20. ToUserName = toUserName;  
  21. }  
  22.   
  23.   
  24. public String getFromUserName() {  
  25. return FromUserName;  
  26. }  
  27.   
  28.   
  29. public void setFromUserName(String fromUserName) {  
  30. FromUserName = fromUserName;  
  31. }  
  32.   
  33.   
  34. public long getCreateTime() {  
  35. return CreateTime;  
  36. }  
  37.   
  38.   
  39. public void setCreateTime(long createTime) {  
  40. CreateTime = createTime;  
  41. }  
  42.   
  43.   
  44. public String getMsgType() {  
  45. return MsgType;  
  46. }  
  47.   
  48.   
  49. public void setMsgType(String msgType) {  
  50. MsgType = msgType;  
  51. }  
  52.   
  53.   
  54. public String getEvent() {  
  55. return Event;  
  56. }  
  57.   
  58.   
  59. public void setEvent(String event) {  
  60. Event = event;  
  61. }  
  62. }  



关注事件 EventMessage_Subscribe

  1. public class Event_Subscribe extends EventMessage_Base{  
  2.   
  3.   
  4. }  


三:封装回复消息事件

基类RespMessage_Base:

  1. public class RespMessage_Base {  
  2. // 接收方帐号(收到的OpenID)  
  3. private String ToUserName;  
  4. // 开发者微信号  
  5. private String FromUserName;  
  6. // 消息创建时间 (整型)  
  7. private long CreateTime;  
  8. // 消息类型  
  9. private String MsgType;  
  10.   
  11.   
  12. public String getToUserName() {  
  13. return ToUserName;  
  14. }  
  15.   
  16.   
  17. public void setToUserName(String toUserName) {  
  18. ToUserName = toUserName;  
  19. }  
  20.   
  21.   
  22. public String getFromUserName() {  
  23. return FromUserName;  
  24. }  
  25.   
  26.   
  27. public void setFromUserName(String fromUserName) {  
  28. FromUserName = fromUserName;  
  29. }  
  30.   
  31.   
  32. public long getCreateTime() {  
  33. return CreateTime;  
  34. }  
  35.   
  36.   
  37. public void setCreateTime(long createTime) {  
  38. CreateTime = createTime;  
  39. }  
  40.   
  41.   
  42. public String getMsgType() {  
  43. return MsgType;  
  44. }  
  45.   
  46.   
  47. public void setMsgType(String msgType) {  
  48. MsgType = msgType;  
  49. }  
  50. }  


响应文本内容

  1. public class RespMessage_Text extends RespMessage_Base{  
  2. // 回复的消息内容  
  3. private String Content;  
  4.   
  5.   
  6. public String getContent() {  
  7. return Content;  
  8. }  
  9.   
  10.   
  11. public void setContent(String content) {  
  12. Content = content;  
  13. }  

文末福利:

福利一:前端,Java,产品经理,微信小程序,Python等10G资源合集大放送:jianshu.com/p/e8197d4d9

福利二:微信小程序入门与实战全套详细视频教程。


【领取方法】

关注 【编程微刊】微信公众号:

回复【小程序demo】一键领取130个微信小程序源码demo资源。

回复【领取资源】一键领取前端,Java,产品经理,微信小程序,Python等资源合集10G资源大放送。





原文作者:祈澈姑娘
原文链接:jianshu.com/u/05f416aef
创作不易,转载请告知

90后前端妹子,爱编程,爱运营,爱折腾。
坚持总结工作中遇到的技术问题,坚持记录工作中所所思所见,欢迎大家一起探讨交流。


posted @ 2018-03-29 16:46  前端视听  阅读(230)  评论(0编辑  收藏  举报