import 'package:get/get.dart'; import 'package:school_asignment_app/common/job/user_info.dart'; import 'package:school_asignment_app/common/utils/storage.dart'; import 'package:school_asignment_app/common/store/app_storage_key.dart'; import 'package:school_asignment_app/routes/app_pages.dart'; class UserStore extends GetxController { static UserStore get to => Get.find(); /// 是否登录 final isLogin = false.obs; String? token; String? xToken; /// 用户信息 Rx userInfo = Rx(null); void init() { token = StorageService.to.read(AppStorageKey.STORAGE_USER_TOKEN) ?? ''; try { userInfo.value = StorageService.to.read(AppStorageKey.STORAGE_USER_INFO); } catch (err) { StorageService.to.remove(AppStorageKey.STORAGE_USER_INFO); } if ((token?.isNotEmpty ?? false) && userInfo.value != null) { isLogin.value = true; } else { isLogin.value = false; Get.toNamed(Routes.login); } } /// 保存 token void setToken(String token) { token = token; StorageService.to.write(AppStorageKey.STORAGE_USER_TOKEN, token); } void setXToken(String xtoken) { xtoken = xtoken; StorageService.to.write(AppStorageKey.STORAGE_X_TOKEN, xtoken); } /// 保存 token void setUserInfo(UserInfo info) { userInfo.value = info; StorageService.to.write(AppStorageKey.STORAGE_USER_INFO, info); } }