loadMessagesWithMsgType method

Future<List<EMMessage?>> loadMessagesWithMsgType({
  1. required EMMessageBodyType type,
  2. int timestamp = -1,
  3. int count = 20,
  4. String? sender,
  5. EMMessageSearchDirection direction = EMMessageSearchDirection.Up,
})

根据类型获取当前会话汇总的消息

Implementation

Future<List<EMMessage?>> loadMessagesWithMsgType({
  required EMMessageBodyType type,
  int timestamp = -1,
  int count = 20,
  String? sender,
  EMMessageSearchDirection direction = EMMessageSearchDirection.Up,
}) async {
  Map req = this.toJson();
  req['type'] = EMMessageBody.bodyTypeToTypeStr(type);
  req['timestamp'] = timestamp;
  req['count'] = count;
  req['sender'] = sender;
  req['direction'] = direction == EMMessageSearchDirection.Up ? "up" : "down";

  Map result = await _emConversationChannel.invokeMethod(
      EMSDKMethod.loadMsgWithMsgType, req);
  EMError.hasErrorFromResult(result);

  List<EMMessage?> list = [];
  result[EMSDKMethod.loadMsgWithMsgType]?.forEach((element) {
    list.add(EMMessage.fromJson(element));
  });
  return list;
}