enums.dart 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. //页面状态
  2. enum ViewState {
  3. loading, // 加载中
  4. success, // 加载成功
  5. empty, // 空数据
  6. error, // 错误
  7. }
  8. enum SplashType {
  9. normal, // 正常
  10. signin, // 登录
  11. signup, // 注册
  12. google, // 谷歌登录
  13. apple, // 苹果登录
  14. facebook, // 脸书登录
  15. logout, // 退出登录
  16. }
  17. enum RegisterMode {
  18. auto(1, 'Auto'),
  19. manual(2, 'Manual'),
  20. buy(3, 'Buy'),
  21. gen(4, 'Gen');
  22. final int value;
  23. final String label;
  24. const RegisterMode(this.value, this.label);
  25. }
  26. enum AccountType {
  27. activate, // 激活
  28. changePassword, // 修改密码
  29. }
  30. enum BannerAction {
  31. notice, // 弹窗通知
  32. page, // 路由跳转
  33. urlOut, // 网页外部跳转
  34. urlIn, // 网页内部跳转
  35. deepLink, // scheme跳转
  36. openPkg, // 打开app
  37. }
  38. enum LogLevel { info, error, warn, debug, verbose }
  39. enum FirebaseEvent {
  40. launch,
  41. launchCache,
  42. launchSuccess,
  43. launchCacheSuccess,
  44. register,
  45. login,
  46. logout,
  47. startBoost,
  48. cancelBoost,
  49. errorBoost,
  50. stopBoost,
  51. }
  52. enum ConnectionState {
  53. disconnected, // 默认状态
  54. connecting, // 连接中状态
  55. connected, // 连接成功状态
  56. disconnecting, // 断开连接中状态
  57. error, // 连接错误状态
  58. }
  59. enum MemberLevel {
  60. guest(1, 'Guest'),
  61. normal(2, 'Normal'),
  62. vip(3, 'VIP');
  63. final int level;
  64. final String label;
  65. const MemberLevel(this.level, this.label);
  66. // 从 int 值获取枚举
  67. static MemberLevel? fromLevel(int? level) {
  68. if (level == null) return null;
  69. return MemberLevel.values.firstWhere(
  70. (e) => e.level == level,
  71. orElse: () => MemberLevel.guest,
  72. );
  73. }
  74. }