fetchHistoryMessages method

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

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

Param conversationId 会话 ID。

Param type 会话类型,详见EMConversationType

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

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

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

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

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

Implementation

@Deprecated('Use [fetchHistoryMessagesByOption] instead')

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