一、功能描述
你可以通过消息对象 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 { // 处理普通消息 } });});