import 'package:dating_touchme_app/pages/home_page.dart'; import 'package:dating_touchme_app/pages/test_page.dart'; import 'package:dating_touchme_app/router/route_paths.dart'; import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; class AppRouter { AppRouter(); // 根 Navigator(需要时可区分 root / shell 子导航) final GlobalKey _rootKey = GlobalKey(); late final GoRouter router = GoRouter( navigatorKey: _rootKey, initialLocation: RoutePaths.home, debugLogDiagnostics: true, // 开发期建议开启 // 统一错误页 errorBuilder: (context, state) => Scaffold( body: Center( child: Text('Oops: ${state.error?.toString() ?? 'Page not found'}'), ), ), routes: [ // 启动/闪屏(或可直接跳 home / login) GoRoute( name: RouteNames.home, path: RoutePaths.home, builder: (context, state) => const HomePage(), ), GoRoute( name: RouteNames.test, path: RoutePaths.test, builder: (context, state) { final a = int.parse(state.uri.queryParameters['a'] ?? '0'); final b = int.parse(state.uri.queryParameters['b'] ?? '0'); return TestPage(a: a, b: b); }, ), ], ); }