modifyMessage
功能介绍
消息变更 4.0.1及以后版本支持
- 会话里面已经发送成功的消息,会话内任意成员可以针对消息做二次修改。消息修改成功后会通过OnRecvMessageModified同步给会话的全部成员。
- 修改消息时,IM SDK 仅限制了会话参与者才能修改,如果您需要更多限制,比如限制只有消息发送者才能修改,可以自行在业务层处理。
注意:
目前消息支持修改的信息如下:
localCustomData
localCustomInt
cloudCustomData
V2TIMTextElem
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) {
// 修改成功
}
}
}
}