zoukankan      html  css  js  c++  java
  • 微信测试号开发之二 封装消息实体类

    原文链接: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后前端妹子,爱编程,爱运营,爱折腾。
    坚持总结工作中遇到的技术问题,坚持记录工作中所所思所见,欢迎大家一起探讨交流。


  • 相关阅读:
    开放个人电脑端口[Windows]
    mysql局域网服务搭建
    JS数据分组[JSON]
    网站缓存【我只是单纯的保存网站!】
    JS生成数字加减乘法验证码
    【http反向代理】多个域名指向同一个ip的不同网站解决方法
    JQuery获取ID含有特殊字符的DOM元素
    java.lang.NoClassDefFoundError: org/apache/commons/collections4/ListValuedMap
    大型网站技术架构,6网站的伸缩性架构之分布式缓存集群的伸缩性设计
    大型网站技术架构,6网站的伸缩性架构之应用服务器集群的伸缩性设计
  • 原文地址:https://www.cnblogs.com/wangting888/p/9701597.html
Copyright © 2011-2022 走看看