mirror of
https://github.com/NeteaseCloudMusicApiEnhanced/api-enhanced.git
synced 2026-10-21 23:21:22 +08:00
refactor: 精简weapi的链接,统一使用uri
This commit is contained in:
+28
-37
@@ -1,41 +1,32 @@
|
||||
// 相关歌单
|
||||
|
||||
const { default: axios } = require('axios')
|
||||
const createOption = require('../util/option.js')
|
||||
module.exports = (query, request) => {
|
||||
return request(
|
||||
'GET',
|
||||
`https://music.163.com/playlist?id=${query.id}`,
|
||||
{},
|
||||
{
|
||||
uaType: 'pc',
|
||||
cookie: query.cookie,
|
||||
ua: query.ua || '',
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
},
|
||||
).then((response) => {
|
||||
try {
|
||||
const pattern =
|
||||
/<div class="cver u-cover u-cover-3">[\s\S]*?<img src="([^"]+)">[\s\S]*?<a class="sname f-fs1 s-fc0" href="([^"]+)"[^>]*>([^<]+?)<\/a>[\s\S]*?<a class="nm nm f-thide s-fc3" href="([^"]+)"[^>]*>([^<]+?)<\/a>/g
|
||||
let result,
|
||||
playlists = []
|
||||
while ((result = pattern.exec(response.body)) != null) {
|
||||
playlists.push({
|
||||
creator: {
|
||||
userId: result[4].slice('/user/home?id='.length),
|
||||
nickname: result[5],
|
||||
},
|
||||
coverImgUrl: result[1].slice(0, -'?param=50y50'.length),
|
||||
name: result[3],
|
||||
id: result[2].slice('/playlist?id='.length),
|
||||
})
|
||||
}
|
||||
response.body = { code: 200, playlists: playlists }
|
||||
return response
|
||||
} catch (err) {
|
||||
response.status = 500
|
||||
response.body = { code: 500, msg: err.stack }
|
||||
return Promise.reject(response)
|
||||
}
|
||||
module.exports = async (query, request) => {
|
||||
const res = await axios({
|
||||
method: 'GET',
|
||||
url: `https://music.163.com/playlist?id=${query.id}`,
|
||||
})
|
||||
try {
|
||||
const pattern =
|
||||
/<div class="cver u-cover u-cover-3">[\s\S]*?<img src="([^"]+)">[\s\S]*?<a class="sname f-fs1 s-fc0" href="([^"]+)"[^>]*>([^<]+?)<\/a>[\s\S]*?<a class="nm nm f-thide s-fc3" href="([^"]+)"[^>]*>([^<]+?)<\/a>/g
|
||||
let result,
|
||||
playlists = []
|
||||
while ((result = pattern.exec(res.data)) != null) {
|
||||
playlists.push({
|
||||
creator: {
|
||||
userId: result[4].slice('/user/home?id='.length),
|
||||
nickname: result[5],
|
||||
},
|
||||
coverImgUrl: result[1].slice(0, -'?param=50y50'.length),
|
||||
name: result[3],
|
||||
id: result[2].slice('/playlist?id='.length),
|
||||
})
|
||||
}
|
||||
res.body = { code: 200, playlists: playlists }
|
||||
return res
|
||||
} catch (err) {
|
||||
res.status = 500
|
||||
res.body = { code: 500, msg: err.stack }
|
||||
return Promise.reject(res)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user