基础库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

60 lines
1.3 KiB

  1. import 'package:equatable/equatable.dart';
  2. import 'package:flutter/cupertino.dart';
  3. import 'package:zhiying_comm/models/user/user_info_model.dart';
  4. import 'package:zhiying_comm/pages/login_page/model/login_style_model.dart';
  5. abstract class LoginState extends Equatable {
  6. const LoginState();
  7. @override
  8. List<Object> get props => [];
  9. }
  10. /// 初始化状态
  11. class InitialLoginState extends LoginState {}
  12. /// 缓存数据状态
  13. class LoginCacheState extends LoginState {
  14. final LoginStyleModel model;
  15. const LoginCacheState({this.model});
  16. @override
  17. List<Object> get props => [this.model];
  18. }
  19. /// 数据加载完毕状态
  20. class LoginLoadedState extends LoginState {
  21. final LoginStyleModel model;
  22. const LoginLoadedState({this.model});
  23. @override
  24. List<Object> get props => [this.model];
  25. }
  26. /// 数据加载出错
  27. class LoginErrorState extends LoginState {}
  28. /// 第三方登录成功
  29. class LoginThirdLoginSuccessState extends LoginState {
  30. String thirdType;
  31. UserInfoModel model;
  32. LoginThirdLoginSuccessState({@required this.model, @required this.thirdType});
  33. @override
  34. List<Object> get props => [this.model];
  35. }
  36. /// 第三方登录失败
  37. class LoginThirdLoginErrorState extends LoginState {
  38. @override
  39. bool operator ==(Object other) {
  40. return false;
  41. }
  42. @override
  43. int get hashCode => super.hashCode;
  44. }