fix:第一轮跑

This commit is contained in:
jingyun committed 2026-08-24 19:07:31 +08:00
1 parent e834ec7586
commit 33235f450b
56 files changed
+4357 -210

No files matched your search

+20
View File
@@ -15,8 +15,10 @@ import '../../features/news/presentation/news_page.dart';
import '../../features/profile/presentation/profile_page.dart';
import '../../features/settings/presentation/settings_page.dart';
import '../../features/settings/presentation/privacy_consent_page.dart';
import '../../features/web/presentation/web_page.dart';
import '../services/device_header_service.dart';
import 'tab_shell.dart';
import 'route_error_page.dart';
abstract final class AppRoutes {
static const assets = '/assets';
@@ -33,13 +35,18 @@ abstract final class AppRoutes {
static const debugTypography = '/debug/typography';
static const fancyDioInspector = '/debug/fancy_dio_inspector';
static const privacyConsent = '/privacy-consent';
static const web = '/web';
}
final rootNavigatorKey = GlobalKey<NavigatorState>();
final routerProvider = Provider<GoRouter>((ref) {
final startupListenable = ValueNotifier<int>(0);
return GoRouter(
navigatorKey: rootNavigatorKey,
initialLocation: AppRoutes.assets,
refreshListenable: startupListenable,
errorBuilder: (_, state) => RouteErrorPage(error: state.error),
redirect: (context, state) {
final loc = state.matchedLocation;
final onConsent = loc == AppRoutes.privacyConsent;
@@ -131,6 +138,19 @@ final routerProvider = Provider<GoRouter>((ref) {
path: AppRoutes.privacyConsent,
builder: (_, s) => const PrivacyConsentPage(),
),
GoRoute(
path: AppRoutes.web,
builder: (_, state) {
final uri = parseSafeWebUri(state.uri.queryParameters['url']);
if (uri == null) {
return const Scaffold(body: Center(child: Text('页面地址不可用')));
}
return AppWebPage(
initialUri: uri,
hideTitle: state.uri.queryParameters['hideTitle'] == '1',
);
},
),
],
);
});