flutter-samples/lib/main.dart
2025-05-03 15:33:44 +08:00

55 lines
1.7 KiB
Dart

import 'dart:developer' as developer;
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_samples/router/router.dart';
import 'package:flutter_samples/styles/styles.dart';
import 'package:logging/logging.dart';
void main() {
_setupLogging();
WidgetsFlutterBinding.ensureInitialized();
runApp(const ProviderScope(child: MyApp()));
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp.router(
theme: ThemeData(
fontFamily: 'PingFang SC',
colorScheme: ColorScheme.fromSeed(seedColor: $styles.colors.mainColor),
useMaterial3: true,
scaffoldBackgroundColor: $styles.colors.bgColor,
bottomNavigationBarTheme: BottomNavigationBarThemeData(
backgroundColor: $styles.colors.bgColor,
),
),
routerConfig: router,
debugShowCheckedModeBanner: false,
);
}
}
void _setupLogging() {
Logger.root.level = Level.ALL; // Set the default log level
Logger.root.onRecord.listen((LogRecord record) {
developer.log(
record.message, // 主要信息
time: record.time, // 日志时间
sequenceNumber: record.sequenceNumber, // 序列号
level: record.level.value, // 日志级别 (数字表示)
name: record.loggerName, // 记录器名称
zone: record.zone, // Zone 信息 (通常为 null)
error: record.error, // 错误对象 (如果有)
stackTrace: record.stackTrace, // 堆栈跟踪 (如果有)
);
});
}
/// Global helpers
AppStyle get $styles => AppStyle();