modifyMessage

功能介绍

消息变更 4.0.1及以后版本支持

  • 会话里面已经发送成功的消息,会话内任意成员可以针对消息做二次修改。消息修改成功后会通过OnRecvMessageModified同步给会话的全部成员。
  • 修改消息时,IM SDK 仅限制了会话参与者才能修改,如果您需要更多限制,比如限制只有消息发送者才能修改,可以自行在业务层处理。

注意:

目前消息支持修改的信息如下:

  1. localCustomData

  2. localCustomInt

  3. cloudCustomData

  4. V2TIMTextElem

  5. V2TIMCustomElem

参数详解

参数名称 参数类型 是否必填 描述
message V2TimMessage 需要修改的消息

返回值

V2TimValueCallback<V2TimMessageChangeInfo>

{
    code : int
    desc : String
    data : {
      code : int
      desc : String
      message : V2TimMessage
    }
}

返回值详解

名称 数值类型 描述
code int 请求结果错误码
desc String 请求结果描述
data V2TimMessageChangeInfo 修改后的信息

代码示例

    // 通过消息id查找到需要修改的消息
    V2TimValueCallback<List<V2TimMessage>> msgListRes = await TencentImSDKPlugin
        .v2TIMManager
        .getMessageManager()
        .findMessages(messageIDList: ['msgid']); // 查找需要修改消息的id
    // 编辑消息
    if (msgListRes.code == 0) {
      List<V2TimMessage>? messageList = msgListRes.data;
      if (messageList!.isNotEmpty) {
        V2TimMessage originMessage = messageList[0];
        originMessage.cloudCustomData = "change data"; // 修改消息的信息
        V2TimValueCallback<V2TimMessageChangeInfo> modifyMessageRes =
            await TencentImSDKPlugin.v2TIMManager
                .getMessageManager()
                .modifyMessage(message: originMessage);
        if (modifyMessageRes.code == 0) {
          if (modifyMessageRes.data?.code == 0) {
            // 修改成功
          }
        }
      }
    }

results matching ""

    No results matching ""