浏览 SDKs · uni-app / uni-app x
平台
SDKsuni-app / uni-app x

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

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

复制

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

import { deleteUserAllMessagesInConv } from '@/uni_modules/unix-openim-sdk'

await deleteUserAllMessagesInConv({
  conversationID,
  userID: targetUserID,
})

conversationID 必须是目标群聊会话 ID,userID 是要清理消息的发送者用户 ID。Promise 成功表示删除请求已经完成,不表示其他客户端已经刷新。

接收删除通知

onDeleteUserAllMsgsInConv() 的事件载荷类型为 string,SDK 没有公开字符串的内部结构。将事件作为群消息可能变化的刷新信号,并重新加载正在显示的群聊历史,不依赖未公开的对象字段。

import {
  off,
  onDeleteUserAllMsgsInConv,
} from '@/uni_modules/unix-openim-sdk'

const handleUserMessagesDeleted = (_payload: string) => {
  reloadCurrentGroupHistory()
}

const userMessagesDeletedSubscription =
  onDeleteUserAllMsgsInConv(handleUserMessagesDeleted)

// 页面卸载或账号切换时:
off(userMessagesDeletedSubscription)

Promise 成功、事件到达和重新查询历史是三个独立阶段。