fetchHistoryMessages method

  1. @Deprecated('Use [fetchHistoryMessagesByOption] instead')
Future<ChatCursorResult<ChatMessage>> fetchHistoryMessages({
  1. required String conversationId,
  2. ChatConversationType type = ChatConversationType.Chat,
  3. int pageSize = 20,
  4. ChatSearchDirection direction = ChatSearchDirection.Up,
  5. String startMsgId = '',
})

从服务器分页获取历史消息。

Param conversationId 会话 ID。

Param type 会话类型,详见ChatConversationType

Param pageSize 每页获取的消息数量。

Param direction 要搜索的消息方向. 见 ChatSearchDirection.

Param startMsgId 获取历史消息的开始消息 ID,如果为空,从最新的消息向前开始获取。

Return 返回消息列表和用于继续获取历史消息的 ChatCursorResult

Throws 如果有异常会在这里抛出,包含错误码和错误描述,详见 ChatError

Implementation

@Deprecated('Use [fetchHistoryMessagesByOption] instead')

///
///
/// 从服务器分页获取历史消息。
///
/// Param [conversationId] 会话 ID。
///
/// Param [type] 会话类型,详见[ChatConversationType]。
///
/// Param [pageSize] 每页获取的消息数量。
///
/// Param [direction] 要搜索的消息方向. 见 [ChatSearchDirection].
///
/// Param [startMsgId] 获取历史消息的开始消息 ID,如果为空,从最新的消息向前开始获取。
///
/// **Return** 返回消息列表和用于继续获取历史消息的 [ChatCursorResult]
///
/// **Throws**  如果有异常会在这里抛出,包含错误码和错误描述,详见 [ChatError]。
///
Future<ChatCursorResult<ChatMessage>> fetchHistoryMessages({
  required String conversationId,
  ChatConversationType type = ChatConversationType.Chat,
  int pageSize = 20,
  ChatSearchDirection direction = ChatSearchDirection.Up,
  String startMsgId = '',
}) async {
  Map req = Map();
  req['convId'] = conversationId;
  req['type'] = type.index;
  req['pageSize'] = pageSize;
  req['startMsgId'] = startMsgId;
  req['direction'] = direction.index;
  Map result = await ChatChannel.invokeMethod(
      ChatMethodKeys.fetchHistoryMessages, req);
  try {
    ChatError.hasErrorFromResult(result);
    return ChatCursorResult<ChatMessage>.fromJson(
        result[ChatMethodKeys.fetchHistoryMessages],
        dataItemCallback: (value) {
      return ChatMessage.fromJson(value);
    });
  } on ChatError catch (e) {
    throw e;
  }
}