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 | 网页 和内页跳转 |

本文档详细介绍了基于XMPP协议的消息交互设计规范,包括消息格式、字段定义及其应用场景,如文本、语音、位置分享等功能,适用于提高软件开发团队间的协作效率。
892

被折叠的 条评论
为什么被折叠?



