loadMessagesFromTime method
加载一个时间段内的消息,不超过最大数量。
注意:当 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;
}
}