用户、微信服务器和第三方服务器之间的对话流程是怎样的?
微信消息分类有哪些?
(一)微信向第三方服务器发送的普通消息
文本消息、图片消息、语音消息、视频消息、小视频消息、地理位置消息、连接消息
(二)微信向第三方服务器发送的事件类型消息
关注/取消关注时间、自定义菜单事件、点击菜单拉取消息时的消息推送、点击菜单跳转连接时的消息推送、扫描带参数的二维码事件、上报地理位置事件
(三)第三方服务器响应给微信的消息
回复文本消息、回复语音消息、回复音乐消息、回复图片消息、回复图文消息、回复视频消息
一:封装普通消息
因为普通消息有公共的字段,所以需要封装一个基类ReqMessage_Base
public class ReqMessage_Base {
// 开发者微信号
private String ToUserName;
// 发送方帐号(一个OpenID)
private String FromUserName;
// 消息创建时间 (整型)
private long CreateTime;
// 消息类型(text/image/location/link)
private String MsgType;
// 消息id,64位整型
private long MsgId;
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;
}
public long getMsgId() {
return MsgId;
}
public void setMsgId(long msgId) {
MsgId = msgId;
}
}
普通文本消息类 ReqMessage_Text:
public class ReqMessage_Text extends ReqMessage_Base{
// 消息内容
private String Content;
public String getContent() {
return Content;
}
public void setContent(String content) {
Content = content;
}
}
其他的需要再整理!!
二:封装事件类型的消息:
基类 EventMessage_Base
public class EventMessage_Base {
// 开发者微信号
private String ToUserName;
// 发送方帐号(一个OpenID)
private String FromUserName;
// 消息创建时间 (整型)
private long CreateTime;
// 消息类型
private String MsgType;
// 事件类型
private String Event;
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;
}
public String getEvent() {
return Event;
}
public void setEvent(String event) {
Event = event;
}
}
关注事件 EventMessage_Subscribe
public class Event_Subscribe extends EventMessage_Base{
}
三:封装回复消息事件
基类RespMessage_Base:
public class RespMessage_Base {
// 接收方帐号(收到的OpenID)
private String ToUserName;
// 开发者微信号
private String FromUserName;
// 消息创建时间 (整型)
private long CreateTime;
// 消息类型
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;
}
}
响应文本内容
public class RespMessage_Text extends RespMessage_Base{
// 回复的消息内容
private String Content;
public String getContent() {
return Content;
}
public void setContent(String content) {
Content = content;
}
}