createGroup method
Implementation
Future<V2TimValueCallback<String>> createGroup(
String groupType, String groupID, String groupName, String faceUrl, List<V2TimGroupMember>? memberList) async {
final result = await TencentImSDKPlugin.v2TIMManager.getGroupManager().createGroup(
groupType: groupType, groupID: groupID, groupName: groupName, faceUrl: faceUrl, memberList: memberList);
if (result.code != 0) {
TencentCloudChat.instance.logInstance.console(
componentName: _tag,
logs: "createGroup - code:${result.code}, desc:${result.desc}",
logLevel: TencentCloudChatLogLevel.error,
);
} else {
var loginUserResult = await TencentImSDKPlugin.v2TIMManager.getLoginUser();
final messageCustom = MessageCustom(
version: MessageCustom.groupCreateVersion,
businessID: MessageCustom.businessIDGroupCreate,
opUser: loginUserResult.data!,
content: tL10n.createGroupTips,
cmd: groupType == GroupType.Community ? 1 : 0,
);
// 转换为 JSON 字符串
final jsonData = jsonEncode(messageCustom.toJson());
final createResult =
await TencentImSDKPlugin.v2TIMManager.getMessageManager().createCustomMessage(data: jsonData);
if (createResult.code == 0) {
await Future.delayed(const Duration(milliseconds: 200));
final sendMessageResult = await TencentImSDKPlugin.v2TIMManager.getMessageManager().sendMessage(
id: createResult.data?.id ?? '',
groupID: result.data as String,
receiver: "",
);
if (sendMessageResult.code != 0) {
TencentCloudChat.instance.logInstance.console(
componentName: _tag,
logs: "sendCreateGroupCustomMessage code:${result.code}, desc:${result.desc}",
logLevel: TencentCloudChatLogLevel.error,
);
}
}
}
return result;
}