user_db.dart 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import 'package:flustars/flustars.dart' as FlutterStars;
  2. import 'package:liftmanager/internal/account/model/user_entity.dart';
  3. import 'common.dart';
  4. class User {
  5. static final User singleton = User._internal();
  6. factory User() {
  7. return singleton;
  8. }
  9. UserEntity userEntity;
  10. List<AppMenus> userAuth;
  11. User._internal();
  12. ///保存当前用户
  13. setCurrentUser(UserEntity res, {type: "normal"}) async {
  14. if (type == "normal") {
  15. FlutterStars.SpUtil.putString(Constant.accessToken, res.token);
  16. FlutterStars.SpUtil.putString(Constant.userId, res.userId);
  17. FlutterStars.SpUtil.putString(
  18. Constant.companyId, res.maintenanceCompany?.id);
  19. FlutterStars.SpUtil.putString(Constant.companyRole, res.role?.code);
  20. FlutterStars.SpUtil.putObject(Constant.user, res);
  21. FlutterStars.SpUtil.putString('username', res.name);
  22. FlutterStars.SpUtil.putString('avatarUrl', res.avatarUrl);
  23. FlutterStars.SpUtil.putInt('userLevel', res.userLevel);
  24. FlutterStars.SpUtil.putInt('expertFlag', res.expertFlag);
  25. FlutterStars.SpUtil.putInt('expertLevel', res.expertLevel);
  26. // FlutterStars.SpUtil.putInt('expertFlag', res);
  27. FlutterStars.SpUtil.putString('userLevelName', res.userLevelName);
  28. FlutterStars.SpUtil.putObjectList(Constant.userAuth, res.appMenus);
  29. } else if (type == "upDataAppMenus") {
  30. FlutterStars.SpUtil.putInt('expertFlag', res.expertFlag);
  31. FlutterStars.SpUtil.putObjectList(Constant.userAuth, res.appMenus);
  32. }
  33. // FlutterStars.SpUtil.putObjectList(Constant.userAuth, res.appMenus);
  34. // userEntity = FlutterStars.SpUtil.getObj(
  35. // Constant.user, (v) => UserEntity.fromJsonMap(v));
  36. }
  37. Future<String> getCompanyRole() async {
  38. return FlutterStars.SpUtil.getString(Constant.companyRole);
  39. }
  40. ///获取当前用户
  41. Future<UserEntity> getCurrentUser() async {
  42. if (userEntity == null) {
  43. userEntity = FlutterStars.SpUtil.getObj(
  44. Constant.user, (v) => UserEntity.fromJsonMap(v));
  45. }
  46. return userEntity;
  47. }
  48. ///清除用户信息
  49. clearUser() {
  50. FlutterStars.SpUtil.remove(Constant.accessToken);
  51. FlutterStars.SpUtil.remove(Constant.userId);
  52. FlutterStars.SpUtil.remove(Constant.companyId);
  53. FlutterStars.SpUtil.remove(Constant.companyRole);
  54. FlutterStars.SpUtil.remove(Constant.user);
  55. }
  56. // 保存用户权限
  57. List<AppMenus> getUserAuth() {
  58. print("getUserAuth");
  59. userAuth = FlutterStars.SpUtil.getObjList(
  60. Constant.userAuth, (v) => AppMenus.fromJsonMap(v));
  61. print("获取用户权限");
  62. print(userAuth);
  63. return userAuth;
  64. }
  65. }