微信公众号的搭建-第三天-对请求、事件、响应类的封装

1. 一个客户端的请求到返回一条消息的过程

  1. 客户端向微信客户端发送一个请求
  2. 微信服务器接受到这个请求,封装成xml,通过开发者配置的URL和Token 来找到并发送给我们的测试服务器
  3. 测试服务器对xml解析后对请求进行处理
  4. 响应,并封装成xml返回给微信服务器
  5. 微信服务器对xml进行解析,并把结果返回给用户

2. 对请求信息、事件信息、响应信息的类封装

这里面有这三个类的代码分享
https://pan.baidu.com/s/1i5J4rpb 密码:3n8e

其中用户可以向微信服务器发送的消息类型大概可以分为:文本消息,图片消息,语音消息,视频消息,小视频消息,地理位置消息,链接消息。

以文本消息为例:

 <xml>
 <ToUserName><![CDATA[toUser]]></ToUserName>
 <FromUserName><![CDATA[fromUser]]></FromUserName> 
 <CreateTime>1348831860</CreateTime>
 <MsgType><![CDATA[text]]></MsgType>
 <Content><![CDATA[this is a test]]></Content>
 <MsgId>1234567890123456</MsgId>
 </xml>
参数    描述
ToUserName    开发者微信号
FromUserName    发送方帐号(一个OpenID)
CreateTime    消息创建时间 (整型)
MsgType    text
Content    文本消息内容
MsgId    消息id,64位整型

其他的消息中与文本消息的差别就在于Type和某些属性,所以可以声明一个基类,让每个具体的消息去继承

请求消息

公共字段:

  1. 开发者微信号 ToUserName
  2. 发送方帐 号(OPEN_ID ) FromUserName
  3. 消息的创建时间 CreateTime
  4. 消息类型 MsgType
  5. 消息ID MsgId

私有字段:

  1. 文本消息:Content ,主要是文本消息内容。
  2. 图片消息:PicUrl 图片链接 MediaId 媒体id,可以调用多媒体文件下载接口拉取数据。
  3. 语音消息: MediaId 语音消息媒体id,可以调用多媒体文件下载接口拉取数据 Format 语音格式,如amr,speex等
  4. 视频消息:MediaId 视频消息媒体id,可以调用多媒体文件下载接口拉取数据。ThumbMediaId 视频消息缩略图的媒体id,可以调用多媒体文件下载接口拉取数据。
  5. 小视频消息:MediaId 视频消息媒体id,可以调用多媒体文件下载接口拉取数据。ThumbMediaId 视频消息缩略图的媒体id,可以调用多媒体文件下载接口拉取数据。
  6. 地理位置消息:Location_X 地理位置维度 Location_Y 地理位置经度 Scale 地图缩放大小 Label 地理位置信息
  7. 链接消息:Title 消息标题 Description 消息描述 Url 消息链接

事件消息:

公共字段:

  1. 开发者微信号 ToUserName
  2. 发送方帐号(一个OpenID) FromUserName
  3. 消息创建时间 (整型) CreateTime
  4. 消息类型 MsgType
  5. 事件类型 Event

私有字段:

  1. 关注/取消关注事件 事件类型,subscribe(订阅)、unsubscribe(取消订阅)
  2. 扫描带参数二维码事件 事件KEY值 EventKey 用于换取二维码图片 Ticket
  3. 上报地理位置事件 地理位置纬度 Latitude 地理位置经度 Longitude 地理位置精度 Precision
  4. 自定义菜单事件 事件KEY值,与自定义菜单接口中KEY值对应 EventKey

响应事件

公共字段:

  1. ToUserName(接收方帐号,用户的OPEN_ID);
  2. FromUserName(开发者的微信号);
  3. CreateTime(消 息的创建时间);
  4. MsgType(消息类型);
  5. FuncFlag(消息的星标标识)。

私有字段:

  1. 回复文本消息 Content
  2. 回复图片消息 (1)媒体文件id MediaId (2)图片 Image Image
  3. 回复语音消息 (1)媒体文件id MediaId (2)语音 Voice Voice
  4. 回复视频消息 (1)媒体文件id MediaId 缩略图的媒体id ThumbMediaId(2)视频 Video Video
  5. 回复音乐消息 (1)音乐标题 Title 音乐描述 Description 音乐链接 MusicUrl 高质量音乐链接,WIFI环境优先使用该链接播放音乐 HQMusicUrl 缩略图的媒体id,通过上传多媒体文件得到的id ThumbMediaId (2)音乐 Music Music
  6. 回复图文消息 (1)图文消息名称 Title 图文消息描述 Description 图片链接,支持JPG、PNG格式,较好的效果为大图640320,小图8080 PicUrl 点击图文消息跳转链接 Url (2)图文消息个数,限制为10条以内 int ArticleCount 多条图文消息信息,默认第一个item为大图 List
    Articles
原文地址:https://www.cnblogs.com/qjx-2016/p/7821627.html