user_config.dart 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. // 用户相关的操作状态 State 类,用于 RiverPod 中 Provider 的定义
  2. import 'package:domain/entity/user_me_entity.dart';
  3. class UserConfig {
  4. //用户的详情信息
  5. UserMeEntity? user;
  6. //用户的登录Token
  7. String? token;
  8. //用户姓名
  9. String? userName;
  10. //用户是否已经登录
  11. bool hasLogin = false;
  12. /// 获取用户默认的房产名称
  13. String? getDefaultEstateName() {
  14. return user?.estates
  15. ?.firstWhere(
  16. (estate) => estate.accounts?.any((a) => a.isDefault == 1) ?? false,
  17. orElse: () => UserMeEstates(), // 如果没有匹配项返回 null name
  18. )
  19. .name;
  20. }
  21. /// =================================== 插件自动生成-无需手动修改 ↓ ===================================
  22. //<editor-fold desc="Data Methods">
  23. UserConfig({
  24. this.user,
  25. this.token,
  26. this.userName,
  27. required this.hasLogin,
  28. });
  29. UserConfig copyWith({
  30. UserMeEntity? user,
  31. String? token,
  32. String? userName,
  33. bool? hasLogin,
  34. String? registrationId,
  35. int? unreadNotificationsCount,
  36. }) {
  37. return UserConfig(
  38. user: user ?? this.user,
  39. token: token ?? this.token,
  40. userName: userName ?? this.userName,
  41. hasLogin: hasLogin ?? this.hasLogin,
  42. );
  43. }
  44. //</editor-fold>
  45. }