- 新增 DiscoverBloc (LoadData/Refresh) + DiscoverModels 4 个数据类 - DiscoverPage 改为 BlocBuilder 驱动: loading/loaded/error/empty 四态 - 替换全部硬编码占位数据为 API 实时数据 - 添加 RefreshIndicator 下拉刷新 - 离线异常时保留已有数据,友好错误提示
31 lines
568 B
Dart
31 lines
568 B
Dart
part of 'discover_bloc.dart';
|
|
|
|
/// 发现页状态
|
|
sealed class DiscoverState {
|
|
const DiscoverState();
|
|
}
|
|
|
|
/// 初始状态
|
|
final class DiscoverInitial extends DiscoverState {
|
|
const DiscoverInitial();
|
|
}
|
|
|
|
/// 加载中
|
|
final class DiscoverLoading extends DiscoverState {
|
|
const DiscoverLoading();
|
|
}
|
|
|
|
/// 加载成功
|
|
final class DiscoverLoaded extends DiscoverState {
|
|
final DiscoverData data;
|
|
|
|
const DiscoverLoaded(this.data);
|
|
}
|
|
|
|
/// 加载失败
|
|
final class DiscoverError extends DiscoverState {
|
|
final String message;
|
|
|
|
const DiscoverError(this.message);
|
|
}
|