35 lines
1.1 KiB
Dart
35 lines
1.1 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'core/constants/app_constants.dart';
|
|
import 'core/utils/logger.dart';
|
|
import 'presentation/app_widget.dart';
|
|
|
|
/// 应用程序主入口
|
|
/// 负责初始化应用并配置全局设置
|
|
void main() async {
|
|
// 确保Flutter绑定已初始化
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
|
|
// 初始化日志系统
|
|
Logger.setLogLevel(LogLevel.info);
|
|
Logger.info('应用启动 - ${AppConstants.appName} v${AppConstants.appVersion}');
|
|
|
|
// 捕获并记录未处理的异常
|
|
FlutterError.onError = (FlutterErrorDetails details) {
|
|
Logger.logException('Flutter Error', details.exception, stackTrace: details.stack);
|
|
FlutterError.presentError(details);
|
|
};
|
|
|
|
// 运行应用
|
|
runApp(
|
|
const ProviderScope(
|
|
child: AppWidget(),
|
|
),
|
|
);
|
|
}
|
|
|
|
/// 全局错误处理
|
|
/// 捕获并记录未处理的异步异常
|
|
void handleGlobalError(Object error, StackTrace stackTrace) {
|
|
Logger.logException('Global Error', error, stackTrace: stackTrace, isFatal: true);
|
|
} |