123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- import 'package:cpt_profile/modules/change_mobile/change_mobile_page.dart';
- import 'package:cpt_profile/modules/reset_password/reset_password_page.dart';
- import 'package:cpt_profile/modules/setting/dialog/account_deactivation_dialog.dart';
- import 'package:cpt_profile/modules/setting/setting_state.dart';
- import 'package:cs_resources/generated/l10n.dart';
- import 'package:domain/repository/auth_repository.dart';
- import 'package:plugin_basic/constants/app_constant.dart';
- import 'package:plugin_basic/provider/user_config/user_config_service.dart';
- import 'package:plugin_platform/engine/dialog/dialog_engine.dart';
- import 'package:plugin_platform/engine/sp/sp_util.dart';
- import 'package:plugin_platform/engine/toast/toast_engine.dart';
- import 'package:plugin_platform/http/dio/dio_cancelable_mixin.dart';
- import 'package:riverpod_annotation/riverpod_annotation.dart';
- import 'package:router/componentRouter/component_service_manager.dart';
- import 'package:shared/utils/event_bus.dart';
- import 'package:widgets/dialog/app_default_dialog.dart';
- part 'setting_view_model.g.dart';
- @riverpod
- class SettingViewModel extends _$SettingViewModel with DioCancelableMixin {
- late final AuthRepository _authRepository;
- @override
- SettingState build() {
- _authRepository = ref.read(authRepositoryProvider);
- return const SettingState();
- }
- void changeEnableNotification(bool value) {
- state = state.copyWith(enbaleNofitication: value);
- }
- //去修改手机号码的页面
- void gotoChangeMobilePage() {
- ChangeMobilePage.startInstance();
- }
- void gotoResetPasswordPage() {
- ResetPasswordPage.startInstance();
- }
- // 退出登录
- void doLogout() {
- DialogEngine.show(
- widget: AppDefaultDialog(
- message: S.current.logout_alert,
- confirmAction: () {
- _requestLogout();
- },
- ));
- }
- /// 调用接口注退出登录
- void _requestLogout() async {
- final result = await _authRepository.authLogout(cancelToken: cancelToken);
- //请求成功去首页
- if (result.isSuccess) {
- //清除用户登录信息
- _gotoLoginPage();
- } else {
- ToastEngine.show(result.errorMsg ?? "UnKnow Error");
- }
- }
- void _gotoLoginPage() {
- UserConfigService.getInstance().handleLogoutParams();
- // 清除 garagesale category 缓存
- SPUtil.remove(AppConstant.storageGarageCategoryList);
- // 清除 servives category 缓存
- SPUtil.remove(AppConstant.storagePaidServiceCategoryList);
- SPUtil.remove(AppConstant.storageRepairServiceCategoryList);
- //清除全部页面栈去登录页面
- ComponentServiceManager().authService.startAndPopAllLoginPage();
- }
- //删除账号的提示弹窗
- void doDeleteAccount() {
- DialogEngine.show(widget: AccountDeactivationDialog(
- confirmAction: () {
- //请求接口删除账号
- _requestAccountDeactivate();
- },
- ));
- }
- //请求删除账号
- void _requestAccountDeactivate() async {
- final result = await _authRepository.accountDeactivate(cancelToken: cancelToken);
- //请求成功去首页
- if (result.isSuccess) {
- //清除用户登录信息
- _gotoLoginPage();
- } else {
- ToastEngine.show(result.errorMsg ?? "UnKnow Error");
- }
- }
- //评价我们,跳转到各平台的应用商城
- void rateUs() {}
- }
|