feat(audio): 支持斜杠格式的车站编号和模糊搜索匹配

- 修改TTS音频导入逻辑,保留编号中的斜杠(/)格式(如 CH-01/CE-12),自动创建子目录
- 移除generator.html中单文件和批量导入时的斜杠转横杠逻辑
- 新增sanitizeStationCode和ensureDirForFile辅助函数,确保路径安全
- 重写findFileCaseInsensitive,支持递归子目录搜索与末尾段模糊匹配
- 新增listAllFilesRecursive和resolveAudioPathWithFuzzy工具函数
- 修改getPlaybackAudioByBaseName/findWavByBaseName支持模糊搜索查找
- 修改resolveManagedPath允许子路径访问,getManagedFiles递归扫描子目录
- 媒体路由从:file参数改为通配符/*形式,safeRelativeToBase确保路径安全
- 升级版本号至v1.0.98
This commit is contained in:
2026-08-17 14:54:21 +08:00
parent 849b43af39
commit 55f0312314
3 changed files with 204 additions and 145 deletions
-12
View File
@@ -1085,12 +1085,6 @@
const task = batchTasks[i];
if (!task.zhTempName || !task.jaTempName) continue; // Skip failed ones
// Replace slashes with dashes to ensure filesystem compatibility
if (task.code.includes('/')) {
console.log(`Replacing slashes in batch code: ${task.code}`);
task.code = task.code.replace(/\//g, '-');
}
const statusSpan = document.getElementById(`batch-status-span-${i}`);
statusSpan.textContent = 'Importing...';
statusSpan.style.color = 'var(--warning)';
@@ -1190,12 +1184,6 @@
return;
}
// Replace slashes with dashes to ensure filesystem compatibility
if (code.includes('/')) {
console.log(`Replacing slashes in code: ${code}`);
code = code.replace(/\//g, '-');
}
if (!zhTempFile || !jaTempFile) {
showToast("Error", "No audio generated to import");
return;