From ad972dd2a567c1b110cc11023131534ac44e14f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=B2=E6=82=A6?= Date: Tue, 13 Jan 2026 11:19:47 +0800 Subject: [PATCH] =?UTF-8?q?=20-=20Netease-sync/server.js=20=20=20=20=20=20?= =?UTF-8?q?=20-=20=E6=96=B0=E5=A2=9E=20formatSongLog=20=20=20=20=20=20=20-?= =?UTF-8?q?=20=E8=A7=A3=E6=9E=90=E5=A4=B1=E8=B4=A5=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E5=8C=85=E5=90=AB=20id/source/apiUrl=20=20=20=20=20=20=20-=20?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E5=A4=B1=E8=B4=A5=E6=97=A5=E5=BF=97=E5=8C=85?= =?UTF-8?q?=E5=90=AB=20id/source/directUrl?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Netease-sync/server.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Netease-sync/server.js b/Netease-sync/server.js index e9f2895..a2b3754 100644 --- a/Netease-sync/server.js +++ b/Netease-sync/server.js @@ -353,6 +353,13 @@ function buildDownloadCandidates(source, songId, songUrl, types) { return candidates; } +function formatSongLog(song, source) { + const name = song?.name || 'unknown'; + const id = song?.id || 'unknown'; + const src = source || song?.source || 'unknown'; + return `${name} (id=${id}, source=${src})`; +} + async function tryDownloadWithCandidates(song, source, baseName, candidates, downloadHeaders) { const tried = new Set(); @@ -362,7 +369,7 @@ async function tryDownloadWithCandidates(song, source, baseName, candidates, dow const directUrl = await resolveTuneHubAudioUrl(candidate.apiUrl); if (!directUrl) { - console.warn(`[Sync] Failed to resolve audio url for ${song.name} (${candidate.label})`); + console.warn(`[Sync] Failed to resolve audio url for ${formatSongLog(song, source)} (${candidate.label}) api=${candidate.apiUrl}`); continue; } @@ -412,7 +419,7 @@ async function tryDownloadWithCandidates(song, source, baseName, candidates, dow return true; // Downloaded (fallback) } } catch (err) { - console.error(`[Sync] Download failed for ${song.name} (${candidate.label}):`, err.message); + console.error(`[Sync] Download failed for ${formatSongLog(song, source)} (${candidate.label}) url=${directUrl}:`, err.message); if (fs.existsSync(tempFile)) fs.unlinkSync(tempFile); } }