import 'package:flustars/flustars.dart' as FlutterStars; import 'package:liftmanager/internal/account/model/user_entity.dart'; import 'package:liftmanager/internal/project/project_router.dart'; import 'common.dart'; class User { static final User singleton = User._internal(); factory User() { return singleton; } UserEntity userEntity; List userAuth; User._internal(); ///保存当前用户 setCurrentUser(UserEntity res,{type:"normal"}) async { if(type == "normal"){ FlutterStars.SpUtil.putString(Constant.accessToken, res.token); FlutterStars.SpUtil.putString(Constant.userId, res.userId); FlutterStars.SpUtil.putString( Constant.companyId, res.maintenanceCompany?.id); FlutterStars.SpUtil.putString(Constant.companyRole,res.role?.code); FlutterStars.SpUtil.putObject(Constant.user, res); FlutterStars.SpUtil.putString('username', res.name); FlutterStars.SpUtil.putString('avatarUrl', res.avatarUrl); FlutterStars.SpUtil.putInt('userLevel', res.userLevel); FlutterStars.SpUtil.putInt('expertFlag', res.expertFlag); FlutterStars.SpUtil.putString('userLevelName', res.userLevelName); FlutterStars.SpUtil.putObjectList(Constant.userAuth, res.appMenus); }else if (type == "upDataAppMenus"){ FlutterStars.SpUtil.putObjectList(Constant.userAuth, res.appMenus); } } Future getCompanyRole() async{ return FlutterStars.SpUtil.getString(Constant.companyRole); } ///获取当前用户 Future getCurrentUser() async { if (userEntity == null) { userEntity = FlutterStars.SpUtil.getObj( Constant.user, (v) => UserEntity.fromJsonMap(v)); } return userEntity; } ///清除用户信息 clearUser() { FlutterStars.SpUtil.remove(Constant.accessToken); FlutterStars.SpUtil.remove(Constant.userId); FlutterStars.SpUtil.remove(Constant.companyId); FlutterStars.SpUtil.remove(Constant.companyRole); FlutterStars.SpUtil.remove(Constant.user); } // 保存用户权限 List getUserAuth() { print("getUserAuth"); userAuth = FlutterStars.SpUtil.getObjList(Constant.userAuth, (v) => AppMenus.fromJsonMap(v)); print("获取用户权限"); print(userAuth); return userAuth; } }