即时通信 IM Web&小程序&uni-app(消息变更)

会话里面已经发送成功的消息,会话内任意成员可以针对消息做二次修改。消息修改成功后会同步给会话的全部成员。

相关产品
即时通信 IM 产品页,含版本规格、价格与购买入口。

一、效果展示

你可以通过消息变更的 API,修改消息的 cloudCustomData,实现如下所示的消息回复、引用等功能:

二、modifyMessage

变更消息的接口。变更成功后,自己和对端用户(C2C)或群组成员(Group)都会收到 MESSAGE_MODIFIED 事件。

注意:1. 不支持修改在线消息;不支持修改直播群消息;请勿修改消息的 random,sequence,time 等字段。

注意:2. 只支持修改文本消息、自定义消息、地理位置消息和表情消息。

注意:3. 如果在修改消息过程中,消息已经被其他人修改,SDK 会返回错误码2480,表示修改消息时发生冲突。

注意:4. 支持修改所有类型消息的 cloudCustomData 字段。

接口

chat.modifyMessage(message);

参数

参数 类型 描述
message Message 消息实例

返回值

Promise

示例

// 监听 MESSAGE_MODIFIED 事件,当修改消息成功后,SDK 会派发此事件let onMessageModified = function(event) { // event.data – 存储被修改过的 Message 对象的数组 – [Message]};chat.on(TencentCloudChat.EVENT.MESSAGE_MODIFIED, onMessageModified);// 将 txtMessage 的文本内容改为 "Hello Tencent"txtMessage.payload.text = "Hello Tencent";let promise = chat.modifyMessage(txtMessage);promise.then(function(imResponse) { const { message } = imResponse.data; // 修改消息成功,message 是最新的消息}).catch(function(imError) { // 修改消息失败 const { code, data } = imError; if (code === 2480) { // 修改消息发生冲突,data.message 是最新的消息 } else if (code === 2481) { // 不支持修改直播群消息 } else if (code === 20026) { // 消息不存在 }});

赞 (0)
上一篇 4天前
下一篇 4天前