import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:hgdj/tools_base/global_store/store.dart'; import '../hj_page/mine/mine_setting/mine_password_logic.dart'; import '../hj_page/mine/mine_setting/mine_password_page.dart'; import '../hj_page/splash/splash_page.dart'; /// 只保留这两条:其余页面一律 Get.to(() => XxxPage())。 /// SplashPage 是 initialRoute; /// MinePasswordPage 是中间件 redirect 的目标,只能按名解析。 class AppRoutes { static final routePages = [ GetPage( name: SplashPage.routeName, page: () => const SplashPage(), middlewares: [SplashPasswordMiddleware()], ), GetPage( name: MinePasswordPage.routeName, page: () => const MinePasswordPage()), //设置锁屏密码 ]; } class SplashPasswordMiddleware extends GetMiddleware { @override RouteSettings? redirect(String? route) { if (globalStore.password.isEmpty || globalStore.isUnlocked) return super.redirect(route); return RouteSettings( name: MinePasswordPage.routeName, arguments: MinePasswordType.check); } }