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