controller.dart 2.5 KB

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