mine_controller.dart 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. import '../about/about_page.dart';
  18. @injectable
  19. class MineController extends BaseController {
  20. final AccountRepository accountRepository;
  21. MineController(this.accountRepository);
  22. bool get isLogin => accountRepository.isLogin.value;
  23. MemberStatusInfo? get memberStatusInfo =>
  24. accountRepository.memberStatusInfo.value;
  25. String? get phone => accountRepository.loginPhoneNum.value;
  26. void onBack() {
  27. Get.back();
  28. }
  29. String getUserName(String phone) {
  30. if (phone.length > 4) {
  31. phone = phone.substring(phone.length - 4);
  32. }
  33. return '${StringName.mineAccountLoggedDesc}$phone';
  34. }
  35. onShareClick() {
  36. WechatShareUtil.shareWebPage().catchError((error) {
  37. ToastUtil.show(error);
  38. });
  39. }
  40. onCustomerServiceClick() {
  41. QiYuHelper.openCustomService();
  42. }
  43. onPermissionSettingClick() {}
  44. onAccountFeedbackClick() {
  45. FeedBackPage.start();
  46. }
  47. onAboutClick() {
  48. AboutPage.start();
  49. }
  50. onLogoutAccountClick() {
  51. logoutAccountDialog(
  52. logoutCallback: () {
  53. accountRepository.userClear().then((_) {
  54. ToastUtil.show(StringName.accountLogoutSuccess);
  55. accountRepository.logout();
  56. }).catchError((error) {
  57. ErrorHandler.toastError(error);
  58. });
  59. },
  60. cancelCallback: () {});
  61. }
  62. onFunExitAccountClick() {
  63. exitAccountDialog(confirmOnTap: () {
  64. accountRepository.logout();
  65. });
  66. }
  67. onLoginClick() {
  68. if (isLogin) {
  69. return;
  70. }
  71. LoginPage.start();
  72. }
  73. onUrgentContactClick() {
  74. UrgentContactPage.start();
  75. }
  76. }