浏览 SDKs · WASM
SDKsWASM

删除群聊中指定用户的全部消息

使用 WASM SDK 删除指定用户在群聊中的全部消息。

复制
await openimsdk.deleteUserAllMessagesInConv({
  conversationID,
  userID: targetUserID,
});

该 API 只用于群聊,可删除指定用户在目标群会话中的全部消息。这是高影响的群组管控操作,不应放入普通单条消息菜单;操作者权限由 OpenIMServer 校验。Promise 成功不等于事件已到达。

CbEvents.OnDeleteUserAllMsgsInConv 是本页归属事件,载荷为 { conversationID, userID }。收到事件后,可按这两个字段移除当前缓存中该用户发送的消息,或重新读取会话历史进行校准。

import { CbEvents } from '@openim/wasm-client-sdk';

const handleUserMessagesDeleted = ({ data }) => {
  removeMessagesBySender(data.conversationID, data.userID);
};

openimsdk.on(
  CbEvents.OnDeleteUserAllMsgsInConv,
  handleUserMessagesDeleted,
);

function removeUserMessagesDeletedListener() {
  openimsdk.off(
    CbEvents.OnDeleteUserAllMsgsInConv,
    handleUserMessagesDeleted,
  );
}

组件卸载、退出登录或切换账号时调用 removeUserMessagesDeletedListener()。Promise 成功、事件到达和重新查询历史是三个独立阶段。