import 'package:flutter_bugly/flutter_bugly.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; import 'package:app/jpush/jpush_receive.dart'; import 'package:app/modules/main/main_page.dart'; import 'package:initializer/app_initializer.dart'; import 'package:plugin_basic/constants/app_constant.dart'; import 'package:plugin_basic/service/config_services_injection.dart'; import 'package:plugin_platform/engine/directory/directory_util.dart'; import 'package:plugin_platform/engine/sp/sp_util.dart'; import 'package:shared/utils/device_utils.dart'; import 'package:shared/utils/log_utils.dart'; class SplashController extends GetxController { @override void onReady() { super.onReady(); //是否是第一次进入App,需要同意协议弹窗,否则退出App final isFirstOpen = SPUtil.getBool(AppConstant.storageFirstOpen) ?? false; Log.d('isFirstOpen:$isFirstOpen'); if (!isFirstOpen) { //展示协议弹窗 _showAgreementDialog(); if (DeviceUtils.isAndroid) { // AppChannel.skipAndroidSplashScreen(); } } else { _gotoNextPage(); } } // 展示协议弹窗 void _showAgreementDialog() { // SmartDialog.show( // usePenetrate: false, // clickMaskDismiss: false, // backDismiss: false, // keepSingle: true, // builder: (context) => PrivacyPolicyDialog( // confirmAction: () { // Log.d('同意协议了'); // SPUtil.putBool(AppConstant.storageFirstOpen, true); // _gotoNextPage(); // }, // cancelAction: () { // //提示是否进入基础功能 // _showSimpleModelDialog(); // }, // ), // ); SPUtil.putBool(AppConstant.storageFirstOpen, true); _gotoNextPage(); } // 展示基础功能弹窗 void _showSimpleModelDialog() { // SmartDialog.show( // usePenetrate: false, // clickMaskDismiss: false, // backDismiss: false, // keepSingle: true, // builder: (context) => SimpleModelDialog( // confirmAction: () { // Log.d('同意协议了'); // SpUtil.putBool(AppConstant.storageFirstOpen, true); // _gotoNextPage(); // }, // cancelAction: () { // //进入基础功能 // Log.d('进入基础功能'); // }, // ), // ); } /// 同意了协议之后的初始化第三方与真正跳转逻辑判断 void _gotoNextPage() async { await AppInitializer.delayInitialize(futureTasks: [ () async { await FlutterBugly.init( androidAppId: "12345678", iOSAppId: "12345678", ); }, ], normalTasks: [ () { if (DeviceUtils.isIOS || DeviceUtils.isAndroid) { jpush.init(); } }, ]); // 先查询原生平台有没有保存需要跳转的子路由 // String routerName = await AppChannel.getNativeRouterName(); // Log.d('SplashController - 查询原生平台有没有保存需要跳转的子路由:$routerName'); MainPage.startWithPopAll(); // if (!Utils.isEmpty(routerName)) { // // 只跳转一次 // Get.offAllNamed(routerName); // AppChannel.clearNativeRouterName(); // } else { // // 如果没有经历过GUIDE页面,进入GUIDE,否则进入首页 // MainPage.startWithPopAll(); // } //跳转页面之后清除 Android 的 SplashScreen 库 // if (Device.isAndroid) { // AppChannel.skipAndroidSplashScreen(); // } } }