web 发送自定义消息 uni-app 无法解析

uni-app 本身是不支持自定义消息,内置了四种自定义消息提供给用户使用
发布时间: 2022-06-06 16:02

回答:

  1. 目前 uni-app 只支持以下这几类自定义消息

    1. 命令消息,不存储、不计入未读计数 RC:IWCmdMsg

    2. 存储消息,存储、不计入未读计数  RC:IWStorageMsg

    3. 普通消息,存储、计入未读计数 RC:IWNormalMsg

    4. 状态消息,不存储不计数 RC:IWStatusMsg

  2. web 与 uni-app 对接时根据需求注册自定义消息

    // 示例代码以5.x 为示例,其他版本请参考文档
    const PersonMessage = RongIMLib.registerMessageType('RC:IWCmdMsg', true, true, [], false)
  3. web 发送自定消息示例代码

    // 示例代码以5.x 为示例,其他版本请参考文档
    // 构建要发送的自定义消息
    const message = new PersonMessage({msgType:'RC:IWCmdMsg', 
    msgFields: { name: 'someone', age: 18 }})
    // 发送消息
    RongIMLib.sendMessage({
     conversationType: RongIMLib.ConversationType.PRIVATE,
     targetId: '<targetId>'
    }, message).then(res => {
     if (res.code === 0) {
       console.log(res.code, res.data)
     } else {
       console.log(res.code)
     }
    })
  4. uni-app 收到的自定义消息 content 数据如下

    const msg = {
     content: {
         customFields : { name: 'someone', age: 18 },
         objectName: 'RC:IWCmdMsg'
         }
    }