route_provider.dart 578 B

1234567891011121314151617
  1. import 'package:flutter/material.dart';
  2. import 'package:flutter_riverpod/flutter_riverpod.dart';
  3. import 'package:go_router/go_router.dart';
  4. import 'app_routes.dart';
  5. import 'route_guard.dart';
  6. /// 全局导航键,用于在没有BuildContext的情况下进行导航
  7. final GlobalKey<NavigatorState> rootNavigatorKey = GlobalKey<NavigatorState>();
  8. final goRouterProvider = Provider<GoRouter>((ref) {
  9. return GoRouter(
  10. navigatorKey: rootNavigatorKey,
  11. routes: AppRoutes.routes,
  12. redirect: RouteGuard.redirectLogic,
  13. initialLocation: AppRoutePaths.splash,
  14. );
  15. });