- Netease-sync/server.js:在 processSong 中新增换源回退逻辑
- 日志会提示:
- Trying fallback source kuwo for ...
- No search hit from ...(若搜索无结果)
This commit is contained in:
@@ -551,6 +551,34 @@ async function processSong(song) {
|
|||||||
if (fallbackOk) return true;
|
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
|
return false; // Failed
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user