1. 目前其他客户端自定消息的消息类型字段可以自己定义,但是uniapp中不支持任意定义,只支持以下四种固定类型:
0 —— 命令消息,不存储、不计入未读计数 RC:IWCmdMsg
1 —— 存储消息,存储、不计入未读计数 RC:IWStorageMsg
2 —— 普通消息,存储、计入未读计数 RC:IWNormalMsg
3 —— 状态消息,不存储不计数 RC:IWStatusMsg
2. 如果有多端要与uniapp互通自定义消息,其他端也都需要注册uni端使用的这四个类型中的,uni-app 端不需要注册。
3. 参考格式
uni-app 端自定义消息封装格式参考:
const msg = {
conversationType: conversationType,
targetId: targetId,
content: {
objectName: 'testMsgType',
customType: 2, //2即对应上面的普通消息类型
customFields: JSON.parse(customFields),
userInfo: JSON.parse(userInfo)
},
pushContent: pushContent,
pushData: pushData,
}
其他客户端参考以下格式:
注:msgType为字符串类型,msgFields是json类型,msgFields里面结构不做限制
//自定义消息类型,请根据实际需求四选一,即其他客户端需要注册的自定义消息类型
objectName:'RC:IWNormalMsg' //该字段对应上面uniapp端中customType字段
content: {
//自定义消息类型:相当于二级消息类型分类,用于满足多类型情况(非必须)
msgType:'testMsgType' //该字段对应上面uniapp端中objectName字段
//自定义消息内容(必须)
msgFields:{ //该字段对应uniapp端中customFields字段
key1:'数据一'
key2:'数据二'
。。。
}
}