3.3 KiB
3.3 KiB
07 - 全局配置: 路径配置
1. 功能概述
- 功能名称:全局路径配置
- 核心逻辑:通过配置一个全局根目录 (WorkDir),自动派生出音频处理流水线(汇聚 -> 转换 -> 去重 -> 繁简转换 -> 整理 -> 入库)中各个阶段所需的标准子目录。
- 设计目标:一键配置,全流程自动化运行,减少用户在每个环节手动输入路径的操作。
2. 全局根路径设计
用户只需在设置界面指定一个 根路径 (BasePath),系统将自动在该路径下维护以下结构:
| 目录名称 | 变量名示例 | 物理路径 (假设根为 /MusicWork) |
用途说明 |
|---|---|---|---|
| Input | SRC_ACC_DIR |
/MusicWork/Input |
默认存放待处理的原始杂乱音频 |
| Staging_Aggregated | DST_ACC_DIR |
/MusicWork/Staging_Aggregated |
扁平化汇聚后的核心工作区 |
| Staging_Format_Issues | DST_CONV_ISSUE |
/MusicWork/Staging_Format_Issues |
存放转换失败或格式不达标的文件 |
| Staging_Duplicates | DST_DEDUP_TRASH |
/MusicWork/Staging_Duplicates |
存放被识别为重复的文件 |
| Staging_T2S_Output | DST_ZH_CONV |
/MusicWork/Staging_T2S_Output |
存放完成繁简转换后的文件 |
| Staging_Organized | DST_ORG_DIR |
/MusicWork/Staging_Organized |
存放最终按 A-Z 结构整理好的文件 |
| Library_Final | DST_LIB_FINAL |
/MusicWork/Library_Final |
最终入库合并的目标主库 |
3. 各模块路径映射关系 (Pipeline)
根据流水线顺序,各模块的路径使用逻辑如下:
- 音频文件汇聚 (01)
- 源目录:
${ROOT}/Input(用户可自定义修改,默认从此开始) - 目标目录:
${ROOT}/Staging_Aggregated(固定)
- 源目录:
- 音频格式智能处理 (02)
- 源目录:
${ROOT}/Staging_Aggregated(固定,使用汇聚后的结果) - 转换后异常目录:
${ROOT}/Staging_Format_Issues(固定)
- 源目录:
- 音乐去重 (03)
- 源目录:
${ROOT}/Staging_Aggregated(固定) - 重复文件存放目录:
${ROOT}/Staging_Duplicates(固定)
- 源目录:
- 元数据繁简转换 (04)
- 源目录:
${ROOT}/Staging_Aggregated(固定) - 转换后输出目录:
${ROOT}/Staging_T2S_Output(固定)
- 源目录:
- 音乐整理 (05)
- 源目录:
${ROOT}/Staging_Aggregated(或根据流程选择输出目录) - 整理后固定目录:
${ROOT}/Staging_Organized(固定)
- 源目录:
- 整理入库 (06)
- 源目录:
${ROOT}/Staging_Organized(固定,取自音乐整理的输出) - 主库固定目录:
${ROOT}/Library_Final(固定)
- 源目录:
4. 前端交互设计
- 配置入口:全局设置 (Settings) 页面。
- 交互流程:
- 用户点击“选择根目录”。
- 系统展示派生出的子目录预览列表。
- 点击“保存”,系统自动创建尚未存在的子目录。
- 各功能页面的路径输入框默认填充上述对应的自动路径。
5. 后端实现建议
- ConfigService: 负责保存
BasePath并提供获取各子路径的方法(如getAggregatedDir())。 - 初始化逻辑: 在保存
BasePath时,调用Files.createDirectories()确保整个工作流目录结构就绪。 - 路径解析: 使用
Paths.get(basePath, subDirName)确保跨平台路径兼容。