Web&小程序&uni-app

最近更新时间:2024-11-15 14:59:03

我的收藏

功能描述

撤回单聊消息或者群聊消息。撤回成功后,MessageisRevoked 属性值为 true
您可以通过消息对象 MessagerevokerInfo 获取消息撤回者的信息,包含 avatar/nick/userID
您可以通过消息对象 MessagerevokeReason 获取消息撤回的原因。
说明:
1. 消息可撤回时间默认为2分钟。您可通过 控制台 调整消息可撤回时间。
2. 被撤回的消息,您可以调用 getMessageList 接口从单聊或者群聊消息漫游中拉取到。接入侧须根据消息对象的 isRevoked 属性妥善处理被撤回消息的展示。如单聊会话内可展示为 "对方撤回了一条消息";群聊会话内可展示为 "XXX撤回了一条消息"。
3. 您可使用 REST API 撤回单聊消息撤回群聊消息
4. v3.1.2起支持撤回直播群(AVChatRoom)的消息。

revokeMessage

接口
chat.revokeMessage(message);
参数
Name
Type
Description
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 {
// 处理普通消息
}
});
});