浏览 SDKs · HarmonyOS
平台
SDKsHarmonyOS商业版

置顶或取消置顶消息

置顶或取消置顶一条会话消息。

复制

通过 pinned 设置置顶或取消置顶。

import sdk, {
  EventOnChangedPinnedMsgData,
  OpenIMSDKEvent,
  SetConversationPinnedMsgReq,
} from '@openimsdk/imsdk';

const request: SetConversationPinnedMsgReq = {
  conversationID: conversationID,
  clientMsgID: message.clientMsgID,
  pinned: true,
};
await sdk.setConversationPinnedMsg(request);

const handlePinnedMessagesChanged = (data: EventOnChangedPinnedMsgData): void => {
  replacePinnedMessageRecords(data.conversationID, data.msgs);
};
const unsubscribePinnedMessages = sdk.on(
  OpenIMSDKEvent.EventOnChangedPinnedMsg,
  handlePinnedMessagesChanged,
);

export function removePinnedMessageListener(): void {
  unsubscribePinnedMessages();
}

权限、消息类型和数量限制由 OpenIMServer 校验。Promise 成功不表示变更事件已经到达;事件中的 msgs 是包含置顶人、时间和消息的记录。销毁状态层时移除监听。