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

撤回单聊消息或者群聊消息。撤回成功后,Message 的 isRevoked 属性值为 true。可以以通过消息对象 Message 的 revokerInfo 获取消息撤回者的信息,包含 avatar/nick/userID。

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

一、功能描述

你可以通过消息对象 Message 的 revokeReason 获取消息撤回的原因。

注意:说明:

注意:1. 消息可撤回时间默认为2分钟。你可通过 控制台 调整消息可撤回时间。

注意:2. 被撤回的消息,你可以调用 getMessageList 接口从单聊或者群聊消息漫游中拉取到。接入侧须根据消息对象的 isRevoked 属性妥善处理被撤回消息的展示。如单聊会话内可展示为 "对方撤回了一条消息";群聊会话内可展示为 "XXX撤回了一条消息"。

注意:3. 你可使用 REST API 撤回单聊消息 或 撤回群聊消息。

注意:4. v3.1.2起支持撤回直播群(AVChatRoom)的消息。

二、revokeMessage

接口

chat.revokeMessage(message);

参数

参数 类型 说明
message Message 消息实例

返回值

Promise

示例

// 主动撤回消息let promise = chat.revokeMessage(message);promise.then(function(imResponse) { // 消息撤回成功}).catch(function(imError) { // 消息撤回失败 console.warn('revokeMessage error:', imError);});

// 收到消息被撤回的通知chat.on(TencentCloudChat.EVENT.MESSAGE_REVOKED, function(event) { // event.name – TIM.EVENT.MESSAGE_REVOKED // event.data – 存储 Message 对象的数组 – [Message] – 每个 Message 对象的 isRevoked 属性值为 true});

// 获取会话的消息列表时遇到被撤回的消息let promise = chat.getMessageList({conversationID: 'C2Ctest', count: 15});promise.then(function(imResponse) { const messageList = imResponse.data.messageList; // 消息列表 messageList.forEach(function(message) { if (message.isRevoked) { // 处理被撤回的消息 } else { // 处理普通消息 } });});

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