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