loadMessagesFromTime method

Future<List<EMMessage>> loadMessagesFromTime(
  1. {required int startTime,
  2. required int endTime,
  3. int count = 20}
)

加载一个时间段内的消息,不超过最大数量。

注意:当 maxCount 非常大时,需要考虑内存消耗。

Param startTime 搜索的起始时间。

Param endTime 搜索的结束时间。

Param count 搜索结果的最大条数。

Return 消息列表。

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

Implementation

Future<List<EMMessage>> loadMessagesFromTime({
  required int startTime,
  required int endTime,
  int count = 20,
}) async {
  Map req = this._toJson();
  req["startTime"] = startTime;
  req['endTime'] = endTime;
  req['count'] = count;

  Map<String, dynamic> result = await _emConversationChannel.invokeMethod(
      ChatMethodKeys.loadMsgWithTime, req);

  try {
    EMError.hasErrorFromResult(result);
    List<EMMessage> msgList = [];
    result[ChatMethodKeys.loadMsgWithTime]?.forEach((element) {
      msgList.add(EMMessage.fromJson(element));
    });
    return msgList;
  } on EMError catch (e) {
    throw e;
  }
}