feat(flutter): 增加目录加载诊断与前台重试

This commit is contained in:
Zhou Weidong committed 2026-10-20 18:17:36 +08:00
1 parent d68734cdab
commit 730a96559b
10 files changed
+268 -16

No files matched your search

+15 -3
View File
@@ -2,12 +2,14 @@
import 'dart:async';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:provider/provider.dart';
import '../../core/data/models/drama.dart';
import '../../core/data/repositories/search_repository.dart';
import '../../core/data/services/catalog_retry.dart';
import '../../core/data/services/category_controller.dart';
import '../../core/formatting/error_text.dart';
import '../../core/theme/app_colors.dart';
@@ -15,6 +17,7 @@ import '../../core/theme/app_dimens.dart';
import '../../core/theme/app_theme.dart';
import '../../core/widgets/app_bottom_nav.dart';
import '../../core/widgets/app_pull_to_refresh.dart';
import '../../core/widgets/catalog_debug_info.dart';
import '../../core/widgets/empty_state.dart';
import '../../l10n/app_localizations.dart';
import '../filter/filter_page.dart';
@@ -253,7 +256,10 @@ class _DiscoverPageState extends State<DiscoverPage> {
title: errorText(l10n, error, l10n.categoriesError),
subtitle: l10n.emptyHint,
actionLabel: l10n.retry,
onAction: categories.load,
onAction: () => unawaited(_retryCategories(categories)),
footer: kDebugMode
? CatalogDebugInfo(error: categories.debugError ?? error)
: null,
),
),
];
@@ -503,8 +509,14 @@ class _DiscoverPageState extends State<DiscoverPage> {
Navigator.of(context).push<void>(MaterialPageRoute(builder: (_) => page));
}
Widget _block(Widget child) =>
SizedBox(height: 280, child: Center(child: child));
Widget _block(Widget child) => ConstrainedBox(
constraints: const BoxConstraints(minHeight: 280),
child: Center(child: child),
);
Future<void> _retryCategories(CategoryController categories) {
return retryCatalogLoad(reload: categories.load);
}
void _act(DiscoverPageAction action) {
logic.act(