SDKsHarmonyOS商业版
批量删除消息
批量删除同一会话中的消息,并可同步到当前账号的其他客户端。
同一批客户端消息 ID 必须属于同一会话。
import sdk, {
DeleteMessagesReq,
EventOnMessageDeletedData,
OpenIMSDKEvent,
} from '@openimsdk/imsdk';
const request: DeleteMessagesReq = {
conversationID: conversationID,
clientMsgIDs: selectedMessageIDs,
IsSync: true,
};
await sdk.deleteMessages(request);
const handleMessageDeleted = (data: EventOnMessageDeletedData): void => {
const targetConversationID = resolveMessageConversationID(data.message);
removeMessage(targetConversationID, data.message.clientMsgID);
};
const unsubscribeMessageDeleted = sdk.on(
OpenIMSDKEvent.EventOnMessageDeleted,
handleMessageDeleted,
);
export function removeMessageDeletedListener(): void {
unsubscribeMessageDeleted();
}IsSync 字段首字母为大写。传 true 请求把删除动作同步到当前账号的其他客户端;它不会删除其他会话成员持有的消息副本,也不会生成撤回提示。Promise 成功、删除事件到达和历史重新查询是不同阶段。退出账号或销毁状态层时移除监听。
这个页面有帮助吗?