createTeam method
Future<NIMCreateTeamResult?>
createTeam(
- List<
String> inviteeAccountIds, { - String? postscript,
- List<
String> ? selectNames, - NIMCreateTeamParams? createTeamParams,
- String? iconUrl,
- bool isGroup = false,
- 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;
}