SDKsWASM商业版
置顶或取消置顶消息
使用 WASM SDK 置顶或取消置顶一条消息。
参数说明
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
conversationID | string | 是 | 消息所在的会话 ID。 |
clientMsgID | string | 是 | 要置顶或取消置顶的消息 ID。 |
pinned | boolean | 是 | true 表示置顶,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);这个页面有帮助吗?