acceptGroupApplication method
Future<V2TimCallback>
acceptGroupApplication({
- required String groupID,
- String? reason,
- required String fromUser,
- required String toUser,
- int? addTime,
- GroupApplicationTypeEnum? type,
- V2TimGroupApplication? application,
Implementation
Future<V2TimCallback> acceptGroupApplication({
required String groupID,
String? reason,
required String fromUser,
required String toUser,
int? addTime,
GroupApplicationTypeEnum? type,
V2TimGroupApplication? application,
}) async {
if (!TIMManager.instance.isInitSDK()) {
return V2TimCallback(code: TIMErrCode.ERR_SDK_NOT_INITIALIZED.value, desc: "sdk not init");
}
String userData = Tools.generateUserData('acceptGroupApplication');
V2TimGroupApplication adjustApplication = V2TimGroupApplication(groupID: groupID, fromUser: fromUser, toUser: toUser, addTime: addTime, type: type?.index ?? 0, handleStatus: 0, handleResult: 0);
if (application != null && application.authentication.isNotEmpty) {
adjustApplication = application;
adjustApplication.groupID = groupID;
adjustApplication.fromUser = fromUser;
adjustApplication.toUser = toUser;
adjustApplication.addTime = addTime ?? application.addTime;
adjustApplication.type = type?.index ?? application.type;
Completer<V2TimCallback> completer = Completer();
NativeLibraryManager.timCallback2Future(userData, completer);
V2TimGroupHandleApplicationParam param = V2TimGroupHandleApplicationParam(isAccept: true, reason: reason ?? '', application: adjustApplication);
Pointer<Char> pParam = Tools.string2PointerChar(json.encode(param.toJson()));
Pointer<Void> pUserData = Tools.string2PointerVoid(userData);
NativeLibraryManager.bindings.DartHandleGroupPendency(pParam, pUserData);
return completer.future;
}
// 兼容旧版本的处理
return handleGroupApplication(groupID: groupID, fromUser: fromUser, toUser: toUser, addTime: addTime ?? 0, type: type, isAccept: true, userData: userData);
}