From c07c4e42e6c1d5da8849180071229b83685ded73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=B2=E6=82=A6?= Date: Tue, 13 Jan 2026 11:11:50 +0800 Subject: [PATCH] =?UTF-8?q?=20-=20Netease-sync/server.js=EF=BC=9A=E5=9C=A8?= =?UTF-8?q?=20processSong=20=E4=B8=AD=E6=96=B0=E5=A2=9E=E6=8D=A2=E6=BA=90?= =?UTF-8?q?=E5=9B=9E=E9=80=80=E9=80=BB=E8=BE=91=20=20=20-=20=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E4=BC=9A=E6=8F=90=E7=A4=BA=EF=BC=9A=20=20=20=20=20=20?= =?UTF-8?q?=20-=20Trying=20fallback=20source=20kuwo=20for=20...=20=20=20?= =?UTF-8?q?=20=20=20=20-=20No=20search=20hit=20from=20...=EF=BC=88?= =?UTF-8?q?=E8=8B=A5=E6=90=9C=E7=B4=A2=E6=97=A0=E7=BB=93=E6=9E=9C=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Netease-sync/server.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/Netease-sync/server.js b/Netease-sync/server.js index b06a5df..e9f2895 100644 --- a/Netease-sync/server.js +++ b/Netease-sync/server.js @@ -551,6 +551,34 @@ async function processSong(song) { if (fallbackOk) return true; } + // 换源回退:kuwo -> qq + const fallbackSources = ['kuwo', 'qq'].filter(s => s !== source); + for (const fallbackSource of fallbackSources) { + console.log(`[Sync] Trying fallback source ${fallbackSource} for ${song.name}`); + const fallbackHit = await searchSongOnTuneHub(song.name, song.artist, fallbackSource); + if (!fallbackHit?.id) { + console.warn(`[Sync] No search hit from ${fallbackSource} for ${song.name}`); + continue; + } + + const fallbackHeaders = buildDownloadHeaders(fallbackSource); + const fallbackCandidates = buildDownloadCandidates( + fallbackSource, + fallbackHit.id, + fallbackHit.url, + fallbackHit.types + ); + + const fallbackOk = await tryDownloadWithCandidates( + song, + fallbackSource, + baseName, + fallbackCandidates, + fallbackHeaders + ); + if (fallbackOk) return true; + } + return false; // Failed }