mirror of
https://github.com/imsyy/SPlayer.git
synced 2025-11-25 03:14:57 +08:00
Merge pull request #549 from MoYingJi/feat-unlock
refactor(unlock): 重写部分 getUnlockSongUrl
This commit is contained in:
@@ -84,22 +84,24 @@ export const getUnlockSongUrl = async (songData: SongType): Promise<string | nul
|
|||||||
const artist = Array.isArray(songData.artists) ? songData.artists[0].name : songData.artists;
|
const artist = Array.isArray(songData.artists) ? songData.artists[0].name : songData.artists;
|
||||||
const keyWord = songData.name + "-" + artist;
|
const keyWord = songData.name + "-" + artist;
|
||||||
if (!songId || !keyWord) return null;
|
if (!songId || !keyWord) return null;
|
||||||
|
|
||||||
|
const servers: any[] = [
|
||||||
|
"bodian",
|
||||||
|
"netease",
|
||||||
|
];
|
||||||
|
|
||||||
// 尝试解锁
|
// 尝试解锁
|
||||||
const results = await Promise.allSettled([
|
const promises = servers.map(server => unlockSongUrl(songId, keyWord, server));
|
||||||
unlockSongUrl(songId, keyWord, "bodian"),
|
const results = await Promise.allSettled(promises);
|
||||||
unlockSongUrl(songId, keyWord, "netease"),
|
|
||||||
]);
|
|
||||||
// 解析结果
|
// 解析结果
|
||||||
const [neteaseRes, kuwoRes] = results;
|
for (const result of results) {
|
||||||
if (
|
if (
|
||||||
neteaseRes.status === "fulfilled" &&
|
result.status === "fulfilled" &&
|
||||||
neteaseRes.value.code === 200 &&
|
result.value.code === 200 &&
|
||||||
neteaseRes.value.url
|
result.value.url
|
||||||
) {
|
) {
|
||||||
return neteaseRes.value.url;
|
return result.value.url;
|
||||||
}
|
}
|
||||||
if (kuwoRes.status === "fulfilled" && kuwoRes.value.code === 200 && kuwoRes.value.url) {
|
|
||||||
return kuwoRes.value.url;
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user