123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- 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();
- // }
- }
- }
|