createTeam method

  1. @override
Future<NIMCreateTeamResult?> createTeam(
  1. List<String> inviteeAccountIds, {
  2. String? postscript,
  3. List<String>? selectNames,
  4. NIMCreateTeamParams? createTeamParams,
  5. String? iconUrl,
  6. bool isGroup = false,
  7. NIMAntispamConfig? antispamConfig,
})
override

创建群组 inviteeAccountIds选中的账号,创建team的时候将邀请 selectNames选中者的名称,将用于生成team 名称 postscript邀请他人附言 isGroup是否讨论组 createTeamParams创建群组的params,如果createTeamParams不为空,则createTeamParams生效,以上可选参数将失效

Implementation

@override
Future<NIMCreateTeamResult?> createTeam(List<String> inviteeAccountIds,
    {String? postscript,
    List<String>? selectNames,
    NIMCreateTeamParams? createTeamParams,
    String? iconUrl,
    bool isGroup = false,
    NIMAntispamConfig? antispamConfig}) async {
  NIMCreateTeamParams innerParams;
  if (createTeamParams != null) {
    innerParams = createTeamParams;
  } else {
    if (isGroup) {
      innerParams = NIMCreateTeamParams(
        name: _getTeamName(selectNames),
        teamType: NIMTeamType.typeNormal,
        joinMode: NIMTeamJoinMode.joinModeFree,
        inviteMode: NIMTeamInviteMode.inviteModeAll,
        agreeMode: NIMTeamAgreeMode.agreeModeNoAuth,
        updateInfoMode: NIMTeamUpdateInfoMode.updateInfoModeAll,
        updateExtensionMode:
            NIMTeamUpdateExtensionMode.updateExtensionModeAll,
        serverExtension: json.encode({TeamProvider.imUIKitGroup: true}),
        avatar: iconUrl ?? teamDefaultIcons[Random().nextInt(5)],
      );
    } else {
      innerParams = NIMCreateTeamParams(
        name: _getTeamName(selectNames),
        teamType: NIMTeamType.typeNormal,
        inviteMode: NIMTeamInviteMode.inviteModeManager,
        agreeMode: TeamKitConfigCenter.teamAgreeMode,
        joinMode: TeamKitConfigCenter.teamJoinMode,
        updateInfoMode: NIMTeamUpdateInfoMode.updateInfoModeManager,
        avatar: iconUrl ?? teamDefaultIcons[Random().nextInt(5)],
      );
    }
  }
  return (await NimCore.instance.teamService.createTeam(
          innerParams, inviteeAccountIds, postscript, antispamConfig))
      .data;
}