更新数据目录配置

This commit is contained in:
2026-03-21 22:13:31 +08:00
parent 78c3644b2c
commit d09a0487ae
6 changed files with 58 additions and 8 deletions

View File

@@ -0,0 +1,37 @@
import 'dart:io';
/// 应用配置管理
///
/// 支持通过环境变量配置数据目录和缓存目录:
/// - `DATA_DIR`: 数据目录路径,默认为 `data`
/// - `CACHE_DIR`: 缓存目录路径,默认为 `cache`
class AppConfig {
/// 数据目录路径
final String dataDir;
/// 缓存目录路径
final String cacheDir;
/// 单例实例
static final AppConfig _instance = AppConfig._fromEnvironment();
/// 获取配置实例
factory AppConfig() => _instance;
/// 从环境变量创建配置
AppConfig._fromEnvironment()
: dataDir = Platform.environment['DATA_DIR'] ?? 'data',
cacheDir = Platform.environment['CACHE_DIR'] ?? 'cache';
/// 获取相册预览缓存目录
String get previewCacheDir => '$cacheDir/preview';
/// 确保所有必需的目录都存在
Future<void> ensureDirectoriesExist() async {
await Directory(dataDir).create(recursive: true);
await Directory(previewCacheDir).create(recursive: true);
}
@override
String toString() => 'AppConfig(dataDir: $dataDir, cacheDir: $cacheDir)';
}