searchMsgFromDB method

Future<List<EMMessage>> searchMsgFromDB(
  1. String keywords, [
  2. EMMessageChatType type = EMMessageChatType.Chat,
  3. int timeStamp = 0,
  4. int maxCount = 20,
  5. String from = '',
  6. EMMessageSearchDirection direction = EMMessageSearchDirection.Up,
])

搜索包含keywords的消息,消息类型为type,起始时间timeStamp,条数maxCount, 消息发送方from,方向direction

Implementation

Future<List<EMMessage>> searchMsgFromDB(
  String keywords, [
  EMMessageChatType type = EMMessageChatType.Chat,
  int timeStamp = 0,
  int maxCount = 20,
  String from = '',
  EMMessageSearchDirection direction = EMMessageSearchDirection.Up,
]) async {
  Map req = Map();
  req['keywords'] = keywords;
  req['type'] = EMMessage.chatTypeToInt(type);
  req['timeStamp'] = timeStamp;
  req['maxCount'] = maxCount;
  req['from'] = from;
  req['direction'] = direction == EMMessageSearchDirection.Up ? "up" : "down";

  Map result =
      await _channel.invokeMethod(EMSDKMethod.searchChatMsgFromDB, req);
  EMError.hasErrorFromResult(result);
  List<EMMessage> list = [];
  result[EMSDKMethod.searchChatMsgFromDB]?.forEach((element) {
    list.add(EMMessage.fromJson(element));
  });

  return list;
}