Browse SDKs · uni-app / uni-app x
Platform
SDKsuni-app / uni-app xEnterprise

Load newer messages

Paginate forward from an anchor message toward newer historical messages.

Copy

When navigating to a specific message from search results, quoted replies, or deep links, invoke getHistoryMessageList() with isReverse: true to load subsequent messages toward the present. This method queries stored history forward in time; subsequent live incoming messages continue to be delivered via the event listeners in Receive messages.

Parameters

ParameterTypeRequiredDescription
conversationIDstringYesIdentifier of the conversation containing the anchor message.
startClientMsgIDstringYesNon-empty clientMsgID of the anchor message from which to read forward.
countnumberYesMaximum number of messages to retrieve in this page.
isReversebooleanYesSupply true to paginate forward toward newer messages.
viewTypeOpenIMMessageViewTypeNoUse OpenIMMessageViewTypeHistory; defaults to standard history view when omitted.

Code example

import {
  OpenIMMessageViewTypeHistory,
  getHistoryMessageList,
} from '@/uni_modules/unix-openim-sdk'

const page = await getHistoryMessageList({
  conversationID: conversationID,
  startClientMsgID: anchorMessage.clientMsgID ?? '',
  count: 30,
  isReverse: true,
  viewType: OpenIMMessageViewTypeHistory,
})

if (page != null && page.errCode == 0) {
  appendMessages(page.messageList)
}

The anchor message must possess a non-null clientMsgID. If the identifier is unavailable, locate the message using Find messages by ID before invoking reverse pagination. Update startClientMsgID with the newest message in the retrieved page for subsequent requests; isEnd signifies that the latest boundary of local history has been reached.

Return value

The Promise resolves with an OpenIMAdvancedHistoryMessageListResult | null object containing messageList (OpenIMMessageItem[]), isEnd (boolean), errCode (number), and errMsg (string).

State changes after the call

This call performs a read-only local query and does not emit message events. Append results to your UI model scoped to conversationID, deduplicating items by clientMsgID. Avoid flipping pagination directions interchangeably at the same scroll boundary.