You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

70 lines
2.0 KiB

import 'package:flutter/material.dart';
import 'package:hive_flutter/hive_flutter.dart';
import 'package:provider/provider.dart';
import 'package:win_text_editor/framework/widgets/app_scaffold.dart';
import 'package:win_text_editor/shared/data/std_fields_cache.dart';
import 'package:window_manager/window_manager.dart';
import 'framework/controllers/logger.dart'; // 新增导入
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 配置窗口
await windowManager.ensureInitialized();
WindowOptions windowOptions = const WindowOptions(
size: Size(1600, 1000),
center: true,
title: '编程辅助工具',
);
windowManager.waitUntilReadyToShow(windowOptions, () async {
await windowManager.show();
await windowManager.focus();
});
// 初始化数据缓存
WidgetsFlutterBinding.ensureInitialized();
// 清理旧数据(仅在开发时需要)
await Hive.initFlutter();
await Hive.deleteBoxFromDisk('uft_stdFieldsCache');
// 重新初始化
await StdFieldsCache.init();
runApp(
MultiProvider(
providers: [
ChangeNotifierProvider(create: (_) => Logger()), // 添加Logger提供者
// 可以在这里添加其他Provider
],
child: const MyApp(),
),
);
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: '编程辅助工具',
debugShowCheckedModeBanner: false,
theme: ThemeData(
useMaterial3: true, // 启用 Material 3 设计规范
cardTheme: const CardTheme(color: Colors.white),
// 全局主题设置会影响SfDataGrid
textTheme: const TextTheme(
bodyMedium: TextStyle(fontSize: 12), // 影响表格内容
titleMedium: TextStyle(fontSize: 14), // 影响表头
),
colorScheme: const ColorScheme.light(
primary: Colors.blue, // 影响表头背景色
onPrimary: Colors.white, // 影响表头文字颜色
),
),
home: const AppScaffold(),
);
}
}