starwork_flutter/lib/base/app_initialization.dart

47 lines
1.4 KiB
Dart
Raw Normal View History

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';
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';
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 {
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,
),
);
}
}
}