mirror of
https://github.com/NeteaseCloudMusicApiEnhanced/api-enhanced.git
synced 2025-10-22 14:43:10 +00:00
fix: 修复请求失败, 适配SPlayer
This commit is contained in:
parent
76d8e662f7
commit
fb2eb82a86
@ -6,52 +6,69 @@ const createOption = require('../util/option.js')
|
||||
|
||||
module.exports = async (query, request) => {
|
||||
try {
|
||||
const { id, br } = query
|
||||
const { id, br = "320" } = query;
|
||||
if (!id) {
|
||||
return {
|
||||
status: 400,
|
||||
body: {
|
||||
code: 400,
|
||||
msg: 'Missing song ID',
|
||||
message: "缺少必要参数 id",
|
||||
data: [],
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
const vaildbr = ["128", "192", "320", "740", "999"]
|
||||
if (br && !vaildbr.includes(br)) {
|
||||
const validBR = ["128", "192", "320", "740", "999"];
|
||||
// const covertBR = ["128000", "192000", "320000","740000", "999000"];
|
||||
if (!validBR.includes(br)) {
|
||||
return {
|
||||
status: 400,
|
||||
body: {
|
||||
code: 400,
|
||||
msg: 'Invalid bitrate',
|
||||
message: "无效音质参数",
|
||||
allowed_values: validBR,
|
||||
data: [],
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
const apiUrl = new URL("https://music.gdstudio.xyz/api.php")
|
||||
|
||||
const apiUrl = new URL("https://music-api.gdstudio.xyz/api.php");
|
||||
apiUrl.searchParams.append("types", "url");
|
||||
apiUrl.searchParams.append("id", id);
|
||||
apiUrl.searchParams.append("br", br || "320");
|
||||
apiUrl.searchParams.append("br", br);
|
||||
|
||||
const response = await fetch(apiUrl.toString());
|
||||
if (!response.ok) throw new Error(`API 响应状态: ${response.status}`);
|
||||
const result = await response.json();
|
||||
|
||||
// 代理逻辑
|
||||
const proxy = process.env.PROXY_URL;
|
||||
if (proxy && result.url && result.url.includes("kuwo")) {
|
||||
result.proxyUrl = proxy + result.url.replace(/^http:\/\//, "http/");
|
||||
}
|
||||
|
||||
return {
|
||||
status: 200,
|
||||
body: {
|
||||
code: 200,
|
||||
msg: 'Success',
|
||||
data: result.data || [],
|
||||
},
|
||||
message: "请求成功",
|
||||
data: {
|
||||
id,
|
||||
br,
|
||||
url: result.url,
|
||||
...(proxy && result.proxyUrl ? { proxyUrl: result.proxyUrl } : {})
|
||||
}
|
||||
} catch (err) {
|
||||
}
|
||||
};
|
||||
} catch (error) {
|
||||
console.error("Error in song_url_ncmget:", error);
|
||||
return {
|
||||
status: 500,
|
||||
body: {
|
||||
code: 500,
|
||||
msg: err.message || 'Internal Server Error',
|
||||
message: "服务器处理请求失败",
|
||||
...(process.env.NODE_ENV === "development" ? { error: error.message } : {}),
|
||||
data: [],
|
||||
},
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -1570,9 +1570,9 @@ tags: 歌单标签
|
||||
|
||||
**必选参数 :** `id` : 音乐 id
|
||||
|
||||
**接口地址 :** `/song/url/unblock`
|
||||
**接口地址 :** `/song/url/unblock` 或者 `/song/url/match` (为了适配SPlayer)
|
||||
|
||||
**调用例子 :** `/song/url/unblock?id=1969519579`
|
||||
**调用例子 :** `/song/url/unblock?id=1969519579` 或者 `/song/url/match?id=1969519579`
|
||||
|
||||
### 搜索
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user