mirror of
https://github.com/EasyTier/astral.git
synced 2025-05-19 10:30:24 +00:00
11
This commit is contained in:
@@ -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
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user