2025-08-27 18:20:37 +08:00
|
|
|
|
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';
|
2025-09-01 10:24:46 +08:00
|
|
|
|
import 'package:starwork_flutter/api/base_api_service.dart';
|
2025-09-01 18:20:05 +08:00
|
|
|
|
import 'package:starwork_flutter/api/service/common_api_service.dart';
|
2025-09-01 10:24:46 +08:00
|
|
|
|
import 'package:starwork_flutter/api/service/user_api_service.dart';
|
2025-08-27 18:20:37 +08:00
|
|
|
|
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 {
|
2025-09-01 18:20:05 +08:00
|
|
|
|
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;
|
|
|
|
|
|
}
|
2025-08-27 18:20:37 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static void setSystemStatusBar() {
|
|
|
|
|
|
if (Platform.isAndroid) {
|
|
|
|
|
|
// 全局设置:状态栏图标为黑色
|
|
|
|
|
|
SystemChrome.setSystemUIOverlayStyle(
|
|
|
|
|
|
const SystemUiOverlayStyle(
|
|
|
|
|
|
statusBarColor: Colors.transparent,
|
|
|
|
|
|
statusBarIconBrightness: Brightness.dark,
|
|
|
|
|
|
),
|
|
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|