formateFriendInfoResult static method

Future<List> formateFriendInfoResult(
  1. dynamic list,
  2. dynamic failureUserIDList
)

Implementation

static Future<List> formateFriendInfoResult(list, failureUserIDList) async {
  final formateList = [];
  List<dynamic> userIDList = [];
  list.forEach((element) {
    userIDList.add(jsToMap(element)['userID']);
  });
  failureUserIDList.forEach((element) {
    userIDList.add(jsToMap(element)['userID']);
  });

  final formateParams = mapToJSObj({"userIDList": userIDList});
  if (userIDList.isEmpty) {
    return [];
  }

  final res = await wrappedPromiseToFuture(
      V2TIMManagerWeb.timWeb!.checkFriend(formateParams));
  final successUserIDList = jsToMap(res.data)['successUserIDList'];

  for (int i = 0; i < list.length; i++) {
    final element = jsToMap(list[i]);
    Map<String, dynamic> item = {
      "resultCode": 0, // web没有
      "resultInfo": "OK", // web没有
      "relation":
          getRelationByUserID(element['userID'] as String, successUserIDList),
      "friendInfo": formateFriendInfo(element)
    };

    formateList.add(item);
  }

  formateList.addAll(
      formateFriendInfoFailInfoList(failureUserIDList, successUserIDList));

  return formateList;
}