getMessageList method

Future<V2TimValueCallback<List<V2TimMessage>>> getMessageList(
  1. dynamic getMsgListParams
)

Implementation

Future<V2TimValueCallback<List<V2TimMessage>>> getMessageList(dynamic getMsgListParams) async {
  // try {
  final res = await wrappedPromiseToFuture(timeweb!.getMessageList(getMsgListParams));
  final code = res.code;
  if (code == 0) {
    final List messageList = jsToMap(res.data)['messageList'];
    final historyMessageListPromises = messageList.reversed.skipWhile((value) => jsToMap(value)["isDeleted"]).map((element) async {
      final message = jsToMap(element);
      if (message['type'] == MsgType.MSG_MERGER) {
        mergerMsgList.add(element);
      }

      final responses = await V2TIMMessage.convertMessageFromWebToDart(element);
      return responses;
    }).toList();
    final historyMessageList = await Future.wait(historyMessageListPromises);
    return CommonUtils.returnSuccess<List<V2TimMessage>>(historyMessageList);
  } else {
    return CommonUtils.returnErrorForValueCb("获取历史消息失败");
  }
  // } catch (error) {
  //   return CommonUtils.returnError(error);
  // }
}