import 'dart:async'; import 'dart:ui'; import 'package:flutter/material.dart'; import 'package:flutter_subscreen_plugin/flutter_subscreen_plugin.dart'; import 'package:get/get.dart'; import 'package:pj_supermarket_cloud/app.dart'; import 'package:pj_supermarket_cloud/common/index.dart'; import 'package:pj_supermarket_cloud/sub_screen/page/index.dart'; void main() { checkSubScreen(); } Future checkSubScreen() async { final defaultRouteName = PlatformDispatcher.instance.defaultRouteName; logger.d("当前的屏幕$defaultRouteName"); switch (defaultRouteName) { case "/": WidgetsFlutterBinding.ensureInitialized(); DartPluginRegistrant.ensureInitialized(); await AppRuntimeTool.initializePlatform(); final appTheme = Get.put(AppThemeControl()); Get.put(TerminalAdminSessionControl(), permanent: true); final terminalMenu = Get.put(TerminalMenuControl()); final app = Get.put(AppControl()); Get.put(FaceRecognitionSessionService(), permanent: true); runApp(MainApp()); await Future.microtask(() => app.initAsync()); if (app.startupFinished.value) { await appTheme.initAsync(); await terminalMenu.initAsync(); } break; case "subMain": WidgetsFlutterBinding.ensureInitialized(); DartPluginRegistrant.ensureInitialized(); bool isMultipleScreen = await SubScreenPlugin.isMultipleScreen; bool isOverlay = await SubScreenPlugin.checkOverlayPermission; if (isMultipleScreen && isOverlay) { runApp(SubAppPage()); } break; } }