From 7c953406e09100738c7031620c77edc39f68d2c6 Mon Sep 17 00:00:00 2001 From: alger Date: Sun, 5 Jul 2026 14:51:51 +0800 Subject: [PATCH] =?UTF-8?q?fix(download):=20=E5=8D=95=E7=8B=AC=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E6=AD=8C=E8=AF=8D=E7=9A=84=E6=96=87=E4=BB=B6=E5=90=8D?= =?UTF-8?q?=E8=B7=9F=E9=9A=8F=E6=96=87=E4=BB=B6=E5=90=8D=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit downloadLyric 改用 set.downloadNameFormat 模板拼接文件名,与歌曲下载行为 一致(此前硬编码'歌曲名 - 歌手');多歌手连接符与歌曲下载统一为'、'。 Closes #655 --- src/renderer/hooks/useDownload.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/renderer/hooks/useDownload.ts b/src/renderer/hooks/useDownload.ts index 0d9d8b9..521c487 100644 --- a/src/renderer/hooks/useDownload.ts +++ b/src/renderer/hooks/useDownload.ts @@ -147,10 +147,18 @@ export const useDownload = () => { lrcContent = mergeLrcWithTranslation(lyricData.lrc.lyric, lyricData.tlyric.lyric); } - const artistNames = (song.ar || song.song?.artists) - ?.map((a: { name: string }) => a.name) - .join(','); - const filename = `${song.name} - ${artistNames}`; + // 与歌曲下载一致:使用设置中的文件名格式模板拼接歌词文件名(#655) + const nameFormat = + (ipcRenderer?.sendSync('get-store-value', 'set.downloadNameFormat') as string) || + '{songName} - {artistName}'; + const artistNames = + (song.ar || song.song?.artists)?.map((a: { name: string }) => a.name).join('、') || + '未知艺术家'; + const albumName = song.al?.name || '未知专辑'; + const filename = nameFormat + .replace(/\{songName\}/g, song.name || '') + .replace(/\{artistName\}/g, artistNames) + .replace(/\{albumName\}/g, albumName); const result = await ipcRenderer?.invoke('save-lyric-file', { filename, lrcContent });