47 lines
1.6 KiB
Dart
47 lines
1.6 KiB
Dart
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<void> 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;
|
|
}
|
|
}
|