user_db.dart 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import 'package:flustars/flustars.dart' as FlutterStars;
  2. import 'package:liftmanager/internal/account/model/user_entity.dart';
  3. import 'package:liftmanager/internal/project/project_router.dart';
  4. import 'common.dart';
  5. class User{
  6. static final User singleton = User._internal();
  7. factory User(){
  8. return singleton;
  9. }
  10. UserEntity userEntity;
  11. User._internal();
  12. ///保存当前用户
  13. setCurrentUser(UserEntity res) async{
  14. FlutterStars.SpUtil.putString(Constant.accessToken,res.token);
  15. FlutterStars.SpUtil.putString(Constant.userId,res.userId);
  16. FlutterStars.SpUtil.putString(Constant.companyId,res.maintenanceCompany.id);
  17. FlutterStars.SpUtil.putString(Constant.companyRole,res.role.code);
  18. FlutterStars.SpUtil.putObject(Constant.user,res);
  19. }
  20. Future<String> getCompanyRole() async{
  21. return FlutterStars.SpUtil.getString(Constant.companyRole);
  22. }
  23. ///获取当前用户
  24. Future<UserEntity> getCurrentUser() async{
  25. if(userEntity == null){
  26. userEntity = FlutterStars.SpUtil.getObj(Constant.user,(v) => UserEntity.fromJsonMap(v));
  27. }
  28. return userEntity;
  29. }
  30. ///清除用户信息
  31. clearUser(){
  32. FlutterStars.SpUtil.remove(Constant.accessToken);
  33. FlutterStars.SpUtil.remove(Constant.userId);
  34. FlutterStars.SpUtil.remove(Constant.companyId);
  35. FlutterStars.SpUtil.remove(Constant.companyRole);
  36. FlutterStars.SpUtil.remove(Constant.user);
  37. }
  38. }