21 lines
558 B
Dart
21 lines
558 B
Dart
import 'package:equatable/equatable.dart';
|
||
|
||
import '../domain/entities/user_entity.dart';
|
||
|
||
class AppUserState extends Equatable {
|
||
final UserEntity? user; // 直接存实体,包含 userId, username,token 等所有信息
|
||
|
||
const AppUserState({this.user});
|
||
|
||
// 辅助属性:判断是否登录
|
||
bool get isLoggedIn => user != null;
|
||
|
||
AppUserState copyWith(UserEntity? user) {
|
||
return AppUserState(user: user ?? this.user);
|
||
}
|
||
|
||
// 必须重写 props,UI 才会只在数据真正变化时刷新
|
||
@override
|
||
List<Object?> get props => [user];
|
||
}
|