This commit is contained in:
会做饭的二哈
2025-03-19 18:32:20 +08:00
parent 086c3a7818
commit c4c7d93ca8
25 changed files with 430 additions and 157 deletions
+11 -2
View File
@@ -387,6 +387,12 @@ class AppConfig {
return _instance;
}
// 在AppConfig类中添加静态方法setConfigDir
static void setConfigDir(String dirPath) {
_configDirectory = dirPath;
print('配置目录已设置为: $_configDirectory');
}
AppConfig._internal() {
// 注册所有配置类型
_registerConfig<ThemeConfig>(
@@ -451,8 +457,10 @@ class AppConfig {
if (_initialized) return;
try {
// 获取可执行文件所在目录作为Hive数据库存储位置
_configDirectory = File(Platform.resolvedExecutable).parent.path;
// 如果没有预先设置配置目录,则尝试获取可执行文件所在目录
if (!_configDirectory.isNotEmpty) {
_configDirectory = File(Platform.resolvedExecutable).parent.path;
}
print('配置目录: $_configDirectory');
// 初始化Hive
@@ -478,6 +486,7 @@ class AppConfig {
print('AppConfig初始化失败: $e');
// 尝试使用备用目录
try {
// 使用应用文档目录作为备用目录
final appDocDir = Directory(path.join(
Directory.current.path,
'config',
+15 -4
View File
@@ -1,6 +1,8 @@
import 'package:flutter/material.dart';
import 'package:astral/src/rust/frb_generated.dart';
import 'package:window_manager/window_manager.dart';
import 'dart:io' show Platform, Directory;
import 'package:path_provider/path_provider.dart';
import 'app.dart';
import 'config/windowconfiguration.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
@@ -12,10 +14,19 @@ Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化应用信息
await AppInfoUtil.init();
await windowManager.ensureInitialized();
// 获取pid
// 设置窗口属性
await setupWindow();
// 为Android平台设置配置目录
if (Platform.isAndroid) {
final appDir = await getApplicationDocumentsDirectory();
AppConfig.setConfigDir(appDir.path);
}
if (Platform.isWindows || Platform.isLinux || Platform.isMacOS) {
await windowManager.ensureInitialized();
// 设置窗口属性
await setupWindow();
}
await AppConfig.init();
// 初始化应用信息
await RustLib.init();