mine_controller.dart 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. import 'package:get/get.dart';
  2. import 'package:get/get_core/src/get_main.dart';
  3. import 'package:injectable/injectable.dart';
  4. import 'package:location/base/base_controller.dart';
  5. import 'package:location/data/bean/member_status_info.dart';
  6. import 'package:location/handler/error_handler.dart';
  7. import 'package:location/module/feedback/feed_back_page.dart';
  8. import 'package:location/module/login/login_page.dart';
  9. import 'package:location/module/urgent_contact/urgent_contact_page.dart';
  10. import 'package:location/resource/string.gen.dart';
  11. import '../../data/repositories/account_repository.dart';
  12. import '../../dialog/common_alert_dialog_impl.dart';
  13. import '../../dialog/common_confirm_dialog_impl.dart';
  14. import '../../sdk/qiyu/qi_yu_helper.dart';
  15. import '../../sdk/wechat/wechat_share_util.dart';
  16. import '../../utils/toast_util.dart';
  17. @injectable
  18. class MineController extends BaseController {
  19. final AccountRepository accountRepository;
  20. MineController(this.accountRepository);
  21. bool get isLogin => accountRepository.isLogin.value;
  22. MemberStatusInfo? get memberStatusInfo =>
  23. accountRepository.memberStatusInfo.value;
  24. String? get phone => accountRepository.loginPhoneNum.value;
  25. void onBack() {
  26. Get.back();
  27. }
  28. String getUserName(String phone) {
  29. if (phone.length > 4) {
  30. phone = phone.substring(phone.length - 4);
  31. }
  32. return '${StringName.mineAccountLoggedDesc}$phone';
  33. }
  34. onShareClick() {
  35. WechatShareUtil.shareWebPage().catchError((error) {
  36. ToastUtil.show(error);
  37. });
  38. }
  39. onCustomerServiceClick() {
  40. QiYuHelper.openCustomService();
  41. }
  42. onPermissionSettingClick() {}
  43. onAccountFeedbackClick() {
  44. FeedBackPage.start();
  45. }
  46. onAboutClick() {}
  47. onLogoutAccountClick() {
  48. logoutAccountDialog(
  49. logoutCallback: () {
  50. accountRepository.userClear().then((_) {
  51. ToastUtil.show(StringName.accountLogoutSuccess);
  52. accountRepository.logout();
  53. }).catchError((error) {
  54. ErrorHandler.toastError(error);
  55. });
  56. },
  57. cancelCallback: () {});
  58. }
  59. onFunExitAccountClick() {
  60. exitAccountDialog(confirmOnTap: () {
  61. accountRepository.logout();
  62. });
  63. }
  64. onLoginClick() {
  65. if (isLogin) {
  66. return;
  67. }
  68. LoginPage.start();
  69. }
  70. onUrgentContactClick() {
  71. UrgentContactPage.start();
  72. }
  73. }