用途:在 Flutter 项目中使用 auto_route 实现类型化路由、嵌套路由与鉴权守卫。适用于任务明确使用 auto_route 或其生成路由器的场景。
主要能力:为页面添加 @RoutePage() 注解;配置继承 _$AppRouter 并使用 @AutoRouterConfig 注解的路由器;使用生成的类型化路由类(如 HomeRoute())导航,禁止字符串导航;通过实现 AutoRouteGuard 添加认证与授权逻辑;@RoutePage 组件的构造函数参数自动成为路由参数;优先使用 context.pushRoute() 或 context.replaceRoute() 等声明式调用;在 AutoRoute 中使用 children 支持标签页等嵌套路由,并通过 children 参数定义初始激活子路由。
使用方式:按 core/router/ 结构组织,app_router.dart 存放路由器配置,app_router.gr.dart 为生成路由;工作流为标注页面、配置路由器、类型化导航、添加守卫、处理参数。完整路由器配置与鉴权守卫实现参见 references/REFERENCE.md。
限制与反模式:不要使用字符串导航,应使用生成的类型化路由类(如 OrderDetailRoute(id: 123));每个受保护路由必须声明 AutoRouteGuard,不能仅依赖 UI 层检查;不要在 BLoC 中调用导航,应发出状态并由表现层导航。相关参考:go-router-navigation、layer-based-clean-architecture。