sortList function

List<UserInfoWithTeam>? sortList(
  1. List<UserInfoWithTeam>? memberList
)

特定规则排序群成员 群主>管理员>普通成员 加入时间早的在前面

Implementation

List<UserInfoWithTeam>? sortList(List<UserInfoWithTeam>? memberList) {
  memberList?.sort((a, b) {
    if (a.teamInfo.memberRole == NIMTeamMemberRole.memberRoleOwner) {
      return -1;
    } else if (b.teamInfo.memberRole == NIMTeamMemberRole.memberRoleOwner) {
      return 1;
    } else if (a.teamInfo.memberRole == NIMTeamMemberRole.memberRoleManager &&
        b.teamInfo.memberRole != NIMTeamMemberRole.memberRoleManager) {
      return -1;
    } else if (a.teamInfo.memberRole != NIMTeamMemberRole.memberRoleManager &&
        b.teamInfo.memberRole == NIMTeamMemberRole.memberRoleManager) {
      return 1;
    } else if (a.teamInfo.joinTime == 0) {
      return 1;
    } else if (b.teamInfo.joinTime == 0) {
      return -1;
    }
    return a.teamInfo.joinTime - b.teamInfo.joinTime;
  });
  return memberList;
}