// import 'dart:async'; // import 'package:fis_i18n/i18n.dart'; // import 'package:flutter/foundation.dart'; // import 'package:flutter/material.dart'; // import 'package:flyinsono/architecture/config/config.dart'; // import 'package:flyinsono/architecture/services/index.dart'; // import 'package:flyinsono/architecture/states/states.dart'; // import 'package:fis_common/web/web_asset_bundle.dart'; // import 'package:fis_common/logger/logger.dart'; // import 'package:flutter/services.dart'; // import 'package:flyinsono/architecture/storage/shared_storage.dart'; // import 'package:flyinsono/architecture/theme.dart'; // import 'package:fis_ui/utils/sizer/sizer.dart'; // import 'package:flyinsono/rpc.dart'; // import 'package:get/get.dart'; // import 'package:fis_theme/theme.dart'; // import 'package:universal_html/js.dart' as js; // import 'manager/index.dart'; // /// 全局设置 // class LabGlobal { // static AssetBundle? _assetBundle; // static AssetBundle get assetBundle => _assetBundle!; // /// 配置 // static ConfigService get config => ConfigService.ins; // /// 初始化 // static Future init() async { // print('Lab Global init start'); // WidgetsFlutterBinding.ensureInitialized(); // await Get.putAsync(() => SharedStorageService.init()); // // 状态 // await Store.init(); // // 日志 // if (kReleaseMode) { // // 生产环境 // Get.isLogEnable = false; // } else { // // debug/profile 环境 // logger.setMinimumLevel(LogLevel.Degbug); // } // await logger.init(); // _initAssetBundle(); // Sizer.init(); // // 配置 // final config = await ConfigService.init(); // Get.put(config); // print('currentAddress:${config.data.server.current}'); // // rpc服务 // _initRpc(); // rpc.platform.setRpcUrl(config.data.server.current!); // FManagerGuide.setup(); // // 依赖注入 // await initServices(); // // 国际化 // await _initI18n(); // print('Global set theme start'); // // 主题 // final theme = AppTheme(themeMode: ThemeMode.system); // await FTheme.init(theme); // Get.put(theme); // print('Global set theme end'); // print('Lab Global init end'); // } // /// TODO 服务器地址 配置部分 // static String get gateway => "http://192.168.6.103:7312"; // /// rpc // static void _initRpc() { // _updateRpcHostPath(gateway); // // _updateRpcHostPath("http://api2.flyinsono.com"); // //监听服务地址更新 // // bus.on( // // bus.Keys.SERVER_ADDRESS_CHANGED, // // (arg) { // // _updateRpcHostPath(arg); // // Future.delayed( // // Duration(milliseconds: 100), // // () { // // // 等rpc先处理再获取最新服务地址 // // // TODO: 更改静态资源路径 // // fRootBundle.setResourcePath( // // "${rpc.currentHostAddress}:9001/static/themes"); // // }, // // ); // // }, // // ); // } // /// 初始化资源包 // static void _initAssetBundle() { // if (kIsWeb) { // final jsVersion = js.context["serviceWorkerVersion"]; // String version = jsVersion?.toString() ?? // "debug_${DateTime.now().millisecondsSinceEpoch}"; // _assetBundle = WebPlatformAssetBundle( // rootPath: js.context["STATIC_ROOT"]!.toString(), // version: version, // ); // } else { // _assetBundle = rootBundle; // } // } // static void _updateRpcHostPath(String hostPath) { // final uri = Uri.parse(hostPath); // rpc.setServerHost("${uri.host}:${uri.port}", uri.scheme == 'https'); // rpc.clearCache(); // } // // 国际化 // static Future _initI18n() async { // FI18n.setAssetBundle(assetBundle); // final curLocale = Store.app.locale; // var bookOptions = [ // FTrKeybookOption.ChineseOption, // FTrKeybookOption.EnglishOption, // FTrKeybookOption.RussianOption, // FTrKeybookOption.SpanishOption, // FTrKeybookOption.RomaniaOption, // ]; // await FI18n.init((locale) => Get.updateLocale(locale), bookOptions); // await FI18n.load(curLocale); // Get.put(FI18n.ins); // } // }