| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- 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<ApiController>();
- // 自动重连开关
- 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<void> initPushNotifications() async {
- pushNotifications =
- await AwesomeNotificationsHelper.checkNotificationPermission();
- }
- Future<void> showNotificationConfigPage() async {
- await AwesomeNotificationsHelper.showNotificationConfigPage();
- initPushNotifications();
- }
- // 处理退出登录
- Future<void> 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<void> handleDeleteAccount() async {
- await LoadingDialog.show(
- context: Get.context!,
- loadingText: Strings.deletingAccount.tr,
- successText: Strings.deleteAccountSuccessful.tr,
- onRequest: () async {
- // 执行你的异步请求
- await _apiController.deleteAccount();
- },
- onSuccess: () {
- // 成功后的操作
- Get.back();
- },
- );
- }
- }
|