import 'package:get/get.dart'; import 'package:wgshare/common/mixins/request_tool_mixin.dart'; import 'package:wgshare/common/models/common/base_structure_result.dart'; import 'package:wgshare/common/models/user_info_detail.dart'; import 'package:wgshare/common/store/app_storage_key.dart'; import 'package:wgshare/routes/app_routes.dart'; import 'package:wgshare/utils/storage.dart'; class UserStore extends GetxController with RequestToolMixin { static UserStore get to => Get.find(); /// 是否登录 String? token; /// 用户Token及过期时间信息 // Rx userInfo = Rx(null); /// 用户详细信息 Rx userDetailInfo = Rx(null); UserStore init() { token = StorageService.to.read(AppStorageKey.token.value); try { var userDetail = StorageService.to.read(AppStorageKey.userInfo.value); if (userDetail != null) { userDetailInfo.value = UserInfoDetail.fromJson(userDetail); } } catch (err) { print('$err'); StorageService.to.remove(AppStorageKey.userInfo.value); } if ((token?.isNotEmpty ?? false) && userDetailInfo.value != null) { } else { /// TODO 返回登录页面 // Get.offAllNamed(Routes.login); } return this; } /// 保存 token void setToken(String token) { this.token = token; StorageService.to.write(AppStorageKey.token.value, token); } /// 保存 用户信息 void setUserDetailInfo(UserInfoDetail info) { userDetailInfo.value = info; StorageService.to.write(AppStorageKey.userInfo.value, info); } void erase() { // userInfo.value = null; userDetailInfo.value = null; token = null; StorageService.to.erase(); } // 用户信息更新 Future updateUserInfo() async { // BaseStructureResult res = await getClient().getUser(); // var data = res.data; // if (res.success && data != null) { // setUserDetailInfo(data); // return data; // } // return null; } }