1. 一个客户端的请求到返回一条消息的过程
- 客户端向微信客户端发送一个请求
- 微信服务器接受到这个请求,封装成xml,通过开发者配置的URL和Token 来找到并发送给我们的测试服务器
- 测试服务器对xml解析后对请求进行处理
- 响应,并封装成xml返回给微信服务器
- 微信服务器对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和某些属性,所以可以声明一个基类,让每个具体的消息去继承
请求消息
公共字段:
- 开发者微信号 ToUserName
- 发送方帐 号(OPEN_ID ) FromUserName
- 消息的创建时间 CreateTime
- 消息类型 MsgType
- 消息ID MsgId
私有字段:
- 文本消息:Content ,主要是文本消息内容。
- 图片消息:PicUrl 图片链接 MediaId 媒体id,可以调用多媒体文件下载接口拉取数据。
- 语音消息: MediaId 语音消息媒体id,可以调用多媒体文件下载接口拉取数据 Format 语音格式,如amr,speex等
- 视频消息:MediaId 视频消息媒体id,可以调用多媒体文件下载接口拉取数据。ThumbMediaId 视频消息缩略图的媒体id,可以调用多媒体文件下载接口拉取数据。
- 小视频消息:MediaId 视频消息媒体id,可以调用多媒体文件下载接口拉取数据。ThumbMediaId 视频消息缩略图的媒体id,可以调用多媒体文件下载接口拉取数据。
- 地理位置消息:Location_X 地理位置维度 Location_Y 地理位置经度 Scale 地图缩放大小 Label 地理位置信息
- 链接消息:Title 消息标题 Description 消息描述 Url 消息链接
事件消息:
公共字段:
- 开发者微信号 ToUserName
- 发送方帐号(一个OpenID) FromUserName
- 消息创建时间 (整型) CreateTime
- 消息类型 MsgType
- 事件类型 Event
私有字段:
- 关注/取消关注事件 事件类型,subscribe(订阅)、unsubscribe(取消订阅)
- 扫描带参数二维码事件 事件KEY值 EventKey 用于换取二维码图片 Ticket
- 上报地理位置事件 地理位置纬度 Latitude 地理位置经度 Longitude 地理位置精度 Precision
- 自定义菜单事件 事件KEY值,与自定义菜单接口中KEY值对应 EventKey
响应事件
公共字段:
- ToUserName(接收方帐号,用户的OPEN_ID);
- FromUserName(开发者的微信号);
- CreateTime(消 息的创建时间);
- MsgType(消息类型);
- FuncFlag(消息的星标标识)。
私有字段:
- 回复文本消息 Content
- 回复图片消息 (1)媒体文件id MediaId (2)图片 Image Image
- 回复语音消息 (1)媒体文件id MediaId (2)语音 Voice Voice
- 回复视频消息 (1)媒体文件id MediaId 缩略图的媒体id ThumbMediaId(2)视频 Video Video
- 回复音乐消息 (1)音乐标题 Title 音乐描述 Description 音乐链接 MusicUrl 高质量音乐链接,WIFI环境优先使用该链接播放音乐 HQMusicUrl 缩略图的媒体id,通过上传多媒体文件得到的id ThumbMediaId (2)音乐 Music Music
- 回复图文消息 (1)图文消息名称 Title 图文消息描述 Description 图片链接,支持JPG、PNG格式,较好的效果为大图640320,小图8080 PicUrl 点击图文消息跳转链接 Url (2)图文消息个数,限制为10条以内 int ArticleCount 多条图文消息信息,默认第一个item为大图 List Articles