1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- import 'package:flutter/foundation.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter/services.dart';
- import 'package:get/get.dart';
- import 'package:vnote_device_plugin/vnote_device_plugin_platform_interface.dart';
- import 'package:vitalapp/architecture/network_connectivity.dart';
- import 'package:vitalapp/architecture/utils/prompt_box.dart';
- import 'package:vitalapp/managers/index.dart';
- import 'package:vitalapp/managers/interfaces/permission.dart';
- import 'package:vitalapp/rpc.dart';
- import 'package:vitalapp/store/store.dart';
- import 'package:fis_common/logger/logger.dart';
- import 'architecture/app_parameters.dart';
- abstract class Global {
- static Future<void> init() async {
- logger.i("Global init start...");
- // 锁定横屏
- await SystemChrome.setPreferredOrientations([
- DeviceOrientation.landscapeLeft,
- DeviceOrientation.landscapeRight,
- ]);
- // SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.light);
- SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersive);
- SystemChrome.setSystemUIChangeCallback((systemOverlaysAreVisible) async {
- await Future.delayed(const Duration(seconds: 1));
- SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersive);
- });
- SystemChrome.setSystemUIOverlayStyle(
- const SystemUiOverlayStyle(
- statusBarColor: Colors.transparent,
- statusBarIconBrightness: Brightness.light,
- ),
- );
- // SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: []);
- // 日志
- if (kReleaseMode) {
- // 生产环境
- Get.isLogEnable = false;
- } else {
- // debug/profile 环境
- logger.setMinimumLevel(LogLevel.Degbug);
- }
- await logger.init();
- // Loading工具
- PromptBox.init();
- /// 预设配置
- await AppParameters.load();
- // 状态
- await Store.init();
- // 开始检测网络状态
- netChecker.run();
- _initRpc();
- /// 全局管理器中心
- ManagerCenter.load();
- /// 初始化动态权限
- _initPermission();
- /// 设备测量插件初始化
- await VnoteDevicePluginPlatform.instance.init();
- logger.i("Global init finish...");
- }
- static void _initRpc() {
- _updateRpcHostPath(Store.app.serverUrl);
- }
- static void _updateRpcHostPath(String hostPath) {
- final uri = Uri.parse(hostPath);
- rpc.setServerHost("${uri.host}:${uri.port}", uri.scheme == 'https');
- rpc.clearCache();
- }
- static Future<void> _initPermission() async {
- IPermissionManager permissionManager = Get.find<IPermissionManager>();
- await permissionManager.requestLocationPermission();
- await permissionManager.requestBluetoothConnectPermission();
- await permissionManager.requestBluetoothAdvertisePermission();
- await permissionManager.requestBluetoothScanPermission();
- }
- }
|