5.4 仅首次显示欢迎
实现步骤:

- APP 每次打开都会先到 Splash 界面
- 首次打开先去 Welcome 界面
- 以后直接去 Main 界面
第 1 步:定义常量
lib/common/values/constants.dart
1
| static const storageFirstOpen = 'first_open';
|
第 2 步:ConfigService 配置
lib/common/services/config.dart
1 2 3 4 5 6 7
| bool get isFirstOpen => Storage().getBool(Constants.storageFirstOpen);
void setAlreadyOpen() { Storage().setBool(Constants.storageFirstOpen, true); }
|
第 3 步:控制器
lib/pages/system/welcome/controller.dart
1 2 3 4 5 6 7
| @override void onReady() { super.onReady(); ConfigService().setAlreadyOpen(); _initData(); }
|
第 4 步:路由加入 main 定义
lib/common/routers/pages.dart
1 2 3 4 5 6 7
| static List<GetPage> list = [ GetPage( name: RouteNames.main, page: () => const MainPage(), ),
|
最后:Splash 类
lib/pages/system/splash/controller.dart
1 2 3 4 5 6 7 8 9 10 11 12 13
| @override void onReady() { super.onReady(); FlutterNativeSplash.remove();
if (ConfigService.to.isFirstOpen == false) { Get.offAllNamed(RouteNames.systemWelcome); } else { Get.offAllNamed(RouteNames.main); } }
|
提交代码到 git