47 lines
1.4 KiB
Dart
47 lines
1.4 KiB
Dart
import 'dart:io';
|
||
|
||
import 'package:flutter/material.dart';
|
||
import 'package:flutter/services.dart';
|
||
import 'package:get/get.dart';
|
||
import 'package:shared_preferences/shared_preferences.dart';
|
||
import 'package:starwork_flutter/api/base_api_service.dart';
|
||
import 'package:starwork_flutter/api/service/common_api_service.dart';
|
||
import 'package:starwork_flutter/api/service/user_api_service.dart';
|
||
import 'package:starwork_flutter/common/utils/shared_preferences_utils.dart';
|
||
import 'package:starwork_flutter/i18n/app_i18n.dart';
|
||
|
||
class AppInitialization {
|
||
static Future<void> initializeApp() async {
|
||
try {
|
||
WidgetsFlutterBinding.ensureInitialized();
|
||
setSystemStatusBar();
|
||
await SharedPreferencesUtils.init();
|
||
|
||
// 日志:方便调试
|
||
print('✅ SharedPreferences initialized');
|
||
|
||
Get.lazyPut(() => BaseApiService());
|
||
Get.lazyPut(() => CommonApiService(Get.find<BaseApiService>()));
|
||
|
||
print('✅ API services registered');
|
||
} catch (e, stack) {
|
||
print('❌ Initialization failed: $e');
|
||
print(stack);
|
||
// 可以上报错误(Sentry 等)
|
||
rethrow;
|
||
}
|
||
}
|
||
|
||
static void setSystemStatusBar() {
|
||
if (Platform.isAndroid) {
|
||
// 全局设置:状态栏图标为黑色
|
||
SystemChrome.setSystemUIOverlayStyle(
|
||
const SystemUiOverlayStyle(
|
||
statusBarColor: Colors.transparent,
|
||
statusBarIconBrightness: Brightness.dark,
|
||
),
|
||
);
|
||
}
|
||
}
|
||
}
|