createTeam method

  1. @override
Future<NIMCreateTeamResult?> createTeam(
  1. List<String> members, {
  2. List<String>? selectNames,
  3. String? iconUrl,
  4. String? postscript,
  5. bool isGroup = false,
  6. NIMCreateTeamOptions? options,
})
override

创建群组 members选中的账号,创建team的时候将邀请 selectNames选中者的名称,将用于生成team 名称 iconUrl群组头像,不设置将显示默认 postscript邀请他人附言 isGroup是否讨论组 options创建群组的options,如果options不为空,则options生效,以上可选参数将失效

Implementation

@override
Future<NIMCreateTeamResult?> createTeam(List<String> members,
    {List<String>? selectNames,
    String? iconUrl,
    String? postscript,
    bool isGroup = false,
    NIMCreateTeamOptions? options}) async {
  NIMCreateTeamOptions innerOptions;
  if (options != null) {
    innerOptions = options;
  } else {
    if (isGroup) {
      innerOptions = NIMCreateTeamOptions(
          name: _getTeamName(selectNames),
          teamType: NIMTeamTypeEnum.advanced,
          verifyType: NIMVerifyTypeEnum.free,
          inviteMode: NIMTeamInviteModeEnum.all,
          beInviteMode: NIMTeamBeInviteModeEnum.noAuth,
          updateInfoMode: NIMTeamUpdateModeEnum.all,
          extensionUpdateMode: NIMTeamExtensionUpdateModeEnum.all,
          extension: json.encode({TeamProvider.imUIKitGroup: true}),
          avatarUrl: iconUrl ?? teamDefaultIcons[Random().nextInt(5)],
          postscript: postscript);
    } else {
      innerOptions = NIMCreateTeamOptions(
          name: _getTeamName(selectNames),
          teamType: NIMTeamTypeEnum.advanced,
          inviteMode: NIMTeamInviteModeEnum.manager,
          beInviteMode: NIMTeamBeInviteModeEnum.noAuth,
          updateInfoMode: NIMTeamUpdateModeEnum.manager,
          avatarUrl: iconUrl ?? teamDefaultIcons[Random().nextInt(5)],
          postscript: postscript);
    }
  }
  return (await NimCore.instance.teamService
          .createTeam(createTeamOptions: innerOptions, members: members))
      .data;
}