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