- Netease-sync/server.js:在 processSong 中新增换源回退逻辑

- 日志会提示:
      - Trying fallback source kuwo for ...
      - No search hit from ...(若搜索无结果)
This commit is contained in:
史悦
2026-01-13 11:11:50 +08:00
parent ef44218198
commit c07c4e42e6

View File

@@ -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
}