浏览 SDKs · WASM
SDKsWASM商业版

置顶或取消置顶消息

使用 WASM SDK 置顶或取消置顶一条消息。

复制

参数说明

参数类型是否必填说明
conversationIDstring消息所在的会话 ID。
clientMsgIDstring要置顶或取消置顶的消息 ID。
pinnedbooleantrue 表示置顶,false 表示取消置顶。
await openimsdk.setConversationPinnedMsg({
  conversationID,
  clientMsgID: message.clientMsgID,
  pinned: true,
});

权限、消息类型和数量限制由 OpenIMServer 校验。Promise 成功表示置顶请求已完成,不表示变更事件已经到达。

SdkEvent.OnChangedPinnedMsg 的完整监听示例集中在本页。收到事件后,使用 conversationID 找到对应会话并替换其置顶消息列表,再按 item.msg.clientMsgID 去重。注册监听时保留处理函数引用,并在退出登录、切换账号或销毁 SDK 作用域时使用同一引用调用 off()

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

const handlePinnedChanged = ({ data }) =>
  replacePinnedMessageDetails(data.conversationID, data.msgs);
openimsdk.on(SdkEvent.OnChangedPinnedMsg, handlePinnedChanged);
const removePinnedListener = () =>
  openimsdk.off(SdkEvent.OnChangedPinnedMsg, handlePinnedChanged);