controller.dart 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import 'package:electronic_assistant/base/base_controller.dart';
  2. import 'package:electronic_assistant/data/consts/event_report_id.dart';
  3. import 'package:electronic_assistant/data/repositories/config_repository.dart';
  4. import 'package:electronic_assistant/handler/event_handler.dart';
  5. import 'package:electronic_assistant/resource/colors.gen.dart';
  6. import 'package:electronic_assistant/utils/error_handler.dart';
  7. import 'package:electronic_assistant/utils/toast_util.dart';
  8. import 'package:flutter/cupertino.dart';
  9. import 'package:flutter_screenutil/flutter_screenutil.dart';
  10. import 'package:get/get.dart';
  11. import '../../../data/api/response/user_info_response.dart';
  12. import '../../../data/repositories/account_repository.dart';
  13. import '../../../dialog/alert_dialog.dart';
  14. import '../../../dialog/show_update_version_dialog.dart';
  15. import '../../../resource/string.gen.dart';
  16. import '../../../utils/app_info_util.dart';
  17. import '../controller.dart';
  18. class MainDrawerController extends BaseController {
  19. String get versionName => "v${appInfoUtil.appVersionName}";
  20. String get loginTxt =>
  21. accountRepository.getUserSubName(accountRepository.phone);
  22. final Rxn<UserInfoResponse> _userInfo = accountRepository.userInfo;
  23. UserInfoResponse? get userInfo => _userInfo.value;
  24. void accountLogout() {
  25. EAAlertDialog.show(
  26. contentWidget: Text(
  27. StringName.accountLogoutTips.tr,
  28. style: TextStyle(
  29. fontSize: 15.sp,
  30. color: ColorName.primaryTextColor,
  31. fontWeight: FontWeight.bold),
  32. ),
  33. cancelText: StringName.cancel.tr,
  34. confirmText: StringName.sure.tr,
  35. confirmOnTap: () {
  36. accountRepository.userDeprecate().then((data) {
  37. Get.find<MainController>().closeDrawer();
  38. accountRepository.logout();
  39. ToastUtil.showToast(StringName.accountLogoutSuccess.tr);
  40. }).catchError((error) {
  41. ErrorHandler.toastError(error);
  42. });
  43. });
  44. }
  45. void onCheckUpdate() {
  46. EventHandler.report(EventId.event_105001);
  47. configRepository.getAppVersion().then((bean) {
  48. if (bean == null) {
  49. ToastUtil.showToast(StringName.versionLatest.tr);
  50. } else {
  51. Get.find<MainController>().closeDrawer();
  52. UpdateVersionDialog.show(bean);
  53. }
  54. }).catchError((error) {
  55. ErrorHandler.toastError(error);
  56. });
  57. }
  58. }