account_controller.dart 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import 'package:get/get.dart';
  2. import '../../../../config/translations/strings_enum.dart';
  3. import '../../../../utils/device_manager.dart';
  4. import '../../../controllers/api_controller.dart';
  5. import '../../../dialog/loading/loading_dialog.dart';
  6. import '../../../routes/app_pages.dart';
  7. class AccountController extends GetxController {
  8. final apiController = Get.find<ApiController>();
  9. // UID
  10. String uid = '';
  11. void toSubscription() {
  12. Get.toNamed(Routes.SUBSCRIPTION);
  13. }
  14. @override
  15. void onInit() {
  16. super.onInit();
  17. uid = DeviceManager.getCacheDeviceId().length > 12
  18. ? '${DeviceManager.getCacheDeviceId().substring(0, 6)}***${DeviceManager.getCacheDeviceId().substring(DeviceManager.getCacheDeviceId().length - 6)}'
  19. : DeviceManager.getCacheDeviceId();
  20. }
  21. // 处理退出登录
  22. Future<void> handleLogout() async {
  23. await LoadingDialog.show(
  24. context: Get.context!,
  25. loadingText: Strings.loggingOut.tr,
  26. successText: Strings.logoutSuccessful.tr,
  27. onRequest: () async {
  28. // 执行你的异步请求
  29. await apiController.logout();
  30. },
  31. onSuccess: () {
  32. // 成功后的操作
  33. Get.offAllNamed(Routes.HOME);
  34. },
  35. );
  36. }
  37. // 处理删除账户
  38. Future<void> handleDeleteAccount() async {
  39. await LoadingDialog.show(
  40. context: Get.context!,
  41. loadingText: Strings.deletingAccount.tr,
  42. successText: Strings.deleteAccountSuccessful.tr,
  43. onRequest: () async {
  44. // 执行你的异步请求
  45. await apiController.deleteAccount();
  46. },
  47. onSuccess: () {
  48. // 成功后的操作
  49. Get.offAllNamed(Routes.HOME);
  50. },
  51. );
  52. }
  53. }