import 'package:get/get.dart'; import '../../../../config/translations/strings_enum.dart'; import '../../../../utils/awesome_notifications_helper.dart'; import '../../../constants/enums.dart'; import '../../../controllers/api_controller.dart'; import '../../../data/sp/ix_sp.dart'; import '../../../dialog/loading/loading_dialog.dart'; class SettingController extends GetxController { final _apiController = Get.find(); // 自动重连开关 final _autoReconnect = true.obs; bool get autoReconnect => _autoReconnect.value; set autoReconnect(bool value) => _autoReconnect.value = value; final _pushNotifications = false.obs; bool get pushNotifications => _pushNotifications.value; set pushNotifications(bool value) => _pushNotifications.value = value; final _isPremium = false.obs; bool get isPremium => _isPremium.value; set isPremium(bool value) => _isPremium.value = value; //是否是游客 final _isGuest = false.obs; bool get isGuest => _isGuest.value; set isGuest(bool value) => _isGuest.value = value; @override void onInit() { super.onInit(); initPushNotifications(); initIsGuest(); } void initIsGuest() { final user = IXSP.getUser(); if (user != null) { isGuest = user.memberLevel == MemberLevel.guest.level; } } Future initPushNotifications() async { pushNotifications = await AwesomeNotificationsHelper.checkNotificationPermission(); } Future showNotificationConfigPage() async { await AwesomeNotificationsHelper.showNotificationConfigPage(); initPushNotifications(); } // 处理退出登录 Future handleLogout() async { await LoadingDialog.show( context: Get.context!, loadingText: Strings.loggingOut.tr, successText: Strings.logoutSuccessful.tr, onRequest: () async { // 执行你的异步请求 await _apiController.logout(); }, onSuccess: () { // 成功后的操作 Get.back(); }, ); } // 处理删除账户 Future handleDeleteAccount() async { await LoadingDialog.show( context: Get.context!, loadingText: Strings.deletingAccount.tr, successText: Strings.deleteAccountSuccessful.tr, onRequest: () async { // 执行你的异步请求 await _apiController.deleteAccount(); }, onSuccess: () { // 成功后的操作 Get.back(); }, ); } }