消息体约定

消息体是通信过程中多个客户端之间的约定通信协议,客户端与服务器都需要基于该通信协议来发送与接收消息 完整消息体示意如下: ```javascript // 示例一:发送文本 { channelId: '656565321231', // 会话id channelType: 1, // 会话类型 from:{ // 消息发送人信息(源) id:'1', name:'康养小花', avatar:'https://download.zhengyunkeji.net/pro/132456423.jpg' }, to:{ // 消息接收人信息(目的) id:'2', name:'康养小蓝', avatar:'https://download.zhengyunkeji.net/pro/465465465.jpg' }, content:'你好呀,我是康养智家小小小小小花。很高兴认识你!', // 消息内容 msgType: 1 // 消息内容的类型 } // 示例二:发送图片 { channelId: '656565321231', // 会话id channelType: 1, // 会话类型 from:{ // 消息发送人信息(源) id:'2', name:'康养小蓝', avatar:'https://download.zhengyunkeji.net/pro/132456423.jpg' }, to:{ // 消息接收人信息(目的) id:'1', name:'康养小花', avatar:'https://download.zhengyunkeji.net/pro/465465465.jpg' }, content:'{"size":456,"src":"https:download.zhengyunkeji.net/pro/554982222114541.jpg"}', // 消息内容 msgType: 2 // 消息内容的类型 } ``` 其中消息内容目前定义7种大类型 分别为 **1-文本; 2-图片; 3-语音; 4-视频; 5-文件; 6-富文本; 7-事件** >w 注意 消息内容(content)是string类型,不同的消息类型(msgType),解析方式有所不同 例如 图片格式 当发送时需 将content使用 JSON.stringify() 序列化成字符串后放入消息体中发送 当接收时需 将content使用 JSON.parse() 解析后取值读取 文本: 格式如下 ```javascript '你好呀,我是康养智家小智。很高兴认识你!' ``` 图片: 格式如下 ```javascript { size:456, //体积,单位是kb w:1080, // 宽 h:960, // 高 src:'https:download.zhengyunkeji.net/pro/554982222114541.jpg' } ``` 语音: 格式如下 ```javascript { duration: 31, //时长,单位是s size: 50, //体积,单位是kb src:'https:download.zhengyunkeji.net/pro/47541122444553341.wav'//文件下载地址 } ``` 视频: 格式如下 ```javascript { duration: 31, //时长,单位是s size: 2048, //体积,单位是kb src:'https://download.zhengyunkeji.net/pro/5435434872122114.mp4' //文件下载地址 } ``` 文件: 格式如下 ```javascript { name: '康养知识.txt', //文件原名称 size: 30, //体积,单位是kb src:'https://download.zhengyunkeji.net/pro/55215463321121.txt'//文件下载地址 } ``` 富文本: 格式如下 ```javascript { title: '康养知识大讲堂', //标题 text: '<p>天冷了,对自己好一点...</p>', //内容 href: 'https://app.zhengyunkeji.net/ticket/index.html' // 内容跳转链接 } ``` 事件: 格式如下 ```javascript { type: 'friendApply', //事件类型 text: 'XX申请加您为好友', // data : [object] //携带的一些其他参数 } ``` >w 再次提醒 消息内容(content)是string类型,不同的消息类型(msgType),解析方式有所不同 例如 图片格式 当发送时需 将content使用 JSON.stringify() 序列化成字符串后放入消息体中发送 当接收时需 将content使用 JSON.parse() 解析后取值读取