import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import './utils/utils.dart'; class Global { static String appName = "Flutter Demo"; // 是否 release static bool get isRelease => const bool.fromEnvironment("dart.vm.product"); static String tokenKey = "token"; static String firstOpenKey = "device_first_open"; // 全局路由观察者 static RouteObserver routeObserver = RouteObserver(); /// 是否第一次打开 static bool? isFirstOpen; /// 是否离线登录 static bool isOfflineLogin = true; static Future init() async { // 运行初始 WidgetsFlutterBinding.ensureInitialized(); // 本地存储初始化 await StorageUtil().init(); // 网络请求初始化 Request.init(); // 读取设备第一次打开 isFirstOpen = StorageUtil().getBool(firstOpenKey); var token = StorageUtil().getString(tokenKey); if (!ToolFn.isBlank(token)) { isOfflineLogin = false; } // android 状态栏为透明的沉浸 if (Platform.isAndroid) { SystemUiOverlayStyle systemUiOverlayStyle = const SystemUiOverlayStyle( statusBarColor: Colors.transparent, ); SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle); } } // 保存用户已打开APP static saveAlreadyOpen() { StorageUtil().putBool(firstOpenKey, false); } // 保存token static saveUserToken(String token) async { StorageUtil().putJSON(tokenKey, token); isOfflineLogin = ToolFn.isBlank(token); } }