setting_view_model.dart 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import 'package:cpt_profile/modules/change_mobile/change_mobile_page.dart';
  2. import 'package:cpt_profile/modules/reset_password/reset_password_page.dart';
  3. import 'package:cpt_profile/modules/setting/dialog/account_deactivation_dialog.dart';
  4. import 'package:cpt_profile/modules/setting/setting_state.dart';
  5. import 'package:plugin_basic/constants/app_constant.dart';
  6. import 'package:plugin_basic/provider/user_config/user_config_service.dart';
  7. import 'package:plugin_platform/engine/dialog/dialog_engine.dart';
  8. import 'package:plugin_platform/engine/sp/sp_util.dart';
  9. import 'package:plugin_platform/engine/toast/toast_engine.dart';
  10. import 'package:riverpod_annotation/riverpod_annotation.dart';
  11. import 'package:router/componentRouter/component_service_manager.dart';
  12. import 'package:widgets/dialog/app_default_dialog.dart';
  13. part 'setting_view_model.g.dart';
  14. @riverpod
  15. class SettingViewModel extends _$SettingViewModel {
  16. @override
  17. SettingState build() {
  18. return SettingState();
  19. }
  20. void changeEnableNotification(bool value) {
  21. state = state.copyWith(enbaleNofitication: value);
  22. }
  23. //去修改手机号码的页面
  24. void gotoChangeMobilePage() {
  25. ChangeMobilePage.startInstance();
  26. }
  27. void gotoResetPasswordPage() {
  28. ResetPasswordPage.startInstance();
  29. }
  30. // 退出登录
  31. void doLogout() {
  32. DialogEngine.show(
  33. widget: AppDefaultDialog(
  34. message: "Are you sure you want to logout?",
  35. confirmAction: () {
  36. //清除用户登录信息
  37. UserConfigService.getInstance().handleLogoutParams();
  38. // 清除 garagesale category 缓存
  39. SPUtil.remove(AppConstant.storageGarageCategoryList);
  40. //清除全部页面栈去登录页面
  41. ComponentServiceManager().authService.startAndPopAllLoginPage();
  42. },
  43. ));
  44. }
  45. //删除账号的提示弹窗
  46. void doDeleteAccount() {
  47. DialogEngine.show(widget: AccountDeactivationDialog(
  48. confirmAction: () {
  49. //请求接口删除账号
  50. //清除用户登录信息
  51. UserConfigService.getInstance().handleLogoutParams();
  52. //清除全部页面栈去登录页面
  53. ComponentServiceManager().authService.startAndPopAllLoginPage();
  54. },
  55. ));
  56. }
  57. }