1目的
以该设计作为系统各软件交互的规范准则,可以提高团队之间协作开发效率作为维护、设计及管理接口的重要依据、提高可维护性、可读性。
2.总体技术要求
2.1.协议
基于XMPP传输协议。JSON数据格式便于在各个异构系统中进行解析、数据交换,具容量小、占带宽小的优势。
3.总体技术要求
3.1.消息包体协议
字段名称 | 类型 | 说明 |
---|---|---|
from | Json | 发送者详情 |
to | String | 接收者xmpp name 因为xmpp已经有了,该字段可以不要 |
body | json | 信息内容(最长为500个字节) |
timestamp | Long | 消息时间 单位:s(秒) |
expire_time | Long | 单位s,接收的当前时间大于此时间,丢弃body,没有此字段无过期处理。 |
msg_type | int | 消息类型:0、推送,1、文本、2语音,3、图片,4、交换资料,5、发送位置, 200、在线提醒…..,201、首次登陆进入app通知服务器,202.上线提醒 |
3.2.From包体协议
字段名称 | 类 型 | 说 明 |
---|---|---|
uid | String | 发送者ID |
name | String | 发送者名称 |
portrait | String | 用户头像 |
xmpp_user | String | Xmpp的用户名 |
3.3.Body 聊天包体协议
* 3.3.1、普通聊天body 结构*
字段名称 | 类 型 | 说 明 |
---|---|---|
txt | String | 文本消息 |
img | String | 图片地址 |
audio | String | 声音地址 |
… 其他根据类型扩充
w Int 图片宽度
H Int 图库高度
例:{“txt”:”hello”} ,
{“img”:”http://baidu.png”,”w”:100,”h”:100}
{“txt”:”3s语音”, “audio”:”http://abc.amr”}
….
3.3.2、msg_typew为200 body结构
该消息半个小时发送一次 发送给后台管理员。 body 可以不传
字段名称 | 类 型 | 说 明 |
---|---|---|
statue | String | 上线 |
… 其他根据类型扩充
3.3.3、发送位置 msg_type=5 body结构
字段名称 | 类 型 | 说 明 |
---|---|---|
txt | String | 位置文本描述 |
img | String | 地图图片截图地址 |
lon | double | 精度 |
lat | double | 维度 |
3.3.4 发送201 消息
不需要body,只要求from字段,接收消息人 admin
3.3.5 交换资料
字段名称 | 类 型 | 说 明 |
---|---|---|
txt | String | 文本描述 |
statue | int | 1.申请交换,2同意交换,3.拒绝交换(暂时不需要) |
3.3.6 用户上线提醒202
不需要body,只要求from字段,接收消息人 admin, 客户端保证一小时只能发送一次,发送成功后,服务端会推送 设置上线提醒过的通知, 通知点击进入用户主页。
3.4.推送包体协议Body
推送消息有过期处理,当接到此条消息的时间已经超过expire 丢弃
字段名称 | 类 型 | 说 明 |
---|---|---|
body | json | 位置文本描述 |
type | int | 1.通知,2.气泡 … |
3.4.1 气泡通知型
气泡类型:用于做本地 +1 操作
字段名称 | 类 型 | 说 明 |
---|---|---|
txt | string | 文本描述(可无) |
type=4 :txt{“id”:1,”status”:90}
type int 1.评论,2.邀请回复,3.赞(大家一起聊),4.参加活动,5、强制登出
3.4.2通知类型
用于做内容提醒,打开网页,页面跳转等
字段名称 | 类 型 | 说 明 |
---|---|---|
txt | string | 文本内容 |
type | int | 1.文本,2.网页,3.内页跳转 |
url | string | 网页 和内页跳转 |