controller.dart 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import 'package:electronic_assistant/base/base_controller.dart';
  2. import 'package:electronic_assistant/resource/colors.gen.dart';
  3. import 'package:electronic_assistant/utils/error_handler.dart';
  4. import 'package:electronic_assistant/utils/toast_util.dart';
  5. import 'package:flutter/cupertino.dart';
  6. import 'package:flutter_screenutil/flutter_screenutil.dart';
  7. import 'package:get/get.dart';
  8. import '../../../data/api/response/user_info_response.dart';
  9. import '../../../data/repositories/account_repository.dart';
  10. import '../../../dialog/alert_dialog.dart';
  11. import '../../../resource/string.gen.dart';
  12. import '../../../utils/app_info_util.dart';
  13. import '../controller.dart';
  14. class MainDrawerController extends BaseController {
  15. String get versionName => "v${appInfoUtil.appVersionName}";
  16. String get loginTxt =>
  17. accountRepository.getUserSubName(accountRepository.phone);
  18. final Rxn<UserInfoResponse> _userInfo = accountRepository.userInfo;
  19. UserInfoResponse? get userInfo => _userInfo.value;
  20. void accountLogout() {
  21. EAAlertDialog.show(
  22. contentWidget: Text(
  23. StringName.accountLogoutTips.tr,
  24. style: TextStyle(
  25. fontSize: 15.sp,
  26. color: ColorName.primaryTextColor,
  27. fontWeight: FontWeight.bold),
  28. ),
  29. cancelText: StringName.cancel.tr,
  30. confirmText: StringName.sure.tr,
  31. confirmOnTap: () {
  32. accountRepository.userDeprecate().then((data) {
  33. Get.find<MainController>().closeDrawer();
  34. accountRepository.logout();
  35. ToastUtil.showToast(StringName.accountLogoutSuccess.tr);
  36. }).catchError((error) {
  37. ErrorHandler.toastError(error);
  38. });
  39. });
  40. }
  41. }