mirror of
https://github.com/NeteaseCloudMusicApiEnhanced/api-enhanced.git
synced 2025-12-09 17:23:10 +00:00
Merge branch 'main' into 'main'
refactor: 很多代码优化 See merge request Binaryify/neteasecloudmusicapi!12
This commit is contained in:
commit
0d2e3232f3
@ -1,20 +1,9 @@
|
|||||||
// 初始化名字
|
// 初始化名字
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
nickname: query.nickname,
|
nickname: query.nickname,
|
||||||
}
|
}
|
||||||
return request(
|
return request('POST', `/api/activate/initProfile`, data, createOption(query))
|
||||||
'POST',
|
|
||||||
`https://music.163.com/eapi/activate/initProfile`,
|
|
||||||
data,
|
|
||||||
{
|
|
||||||
crypto: 'eapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
url: '/api/activate/initProfile',
|
|
||||||
},
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,6 +4,7 @@
|
|||||||
// 可按需修改此 API 的代码
|
// 可按需修改此 API 的代码
|
||||||
/* {"extInfo":"{\"lastRequestTimestamp\":1692358373509,\"lbsInfoList\":[{\"lat\":40.23076381,\"lon\":129.07545186,\"time\":1692358543},{\"lat\":40.23076381,\"lon\":129.07545186,\"time\":1692055283}],\"listenedTs\":false,\"noAidjToAidj\":true}","header":"{}","e_r":true} */
|
/* {"extInfo":"{\"lastRequestTimestamp\":1692358373509,\"lbsInfoList\":[{\"lat\":40.23076381,\"lon\":129.07545186,\"time\":1692358543},{\"lat\":40.23076381,\"lon\":129.07545186,\"time\":1692055283}],\"listenedTs\":false,\"noAidjToAidj\":true}","header":"{}","e_r":true} */
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
var extInfo = {}
|
var extInfo = {}
|
||||||
if (query.latitude != undefined) {
|
if (query.latitude != undefined) {
|
||||||
@ -24,15 +25,8 @@ module.exports = (query, request) => {
|
|||||||
// console.log(data)
|
// console.log(data)
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://interface3.music.163.com/eapi/aidj/content/rcmd/info`,
|
`/api/aidj/content/rcmd/info`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query),
|
||||||
crypto: 'eapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
url: '/api/aidj/content/rcmd/info',
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,11 @@
|
|||||||
// 专辑内容
|
// 专辑内容
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/v1/album/${query.id}`,
|
`/api/v1/album/${query.id}`,
|
||||||
{},
|
{},
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,18 +1,13 @@
|
|||||||
// 数字专辑详情
|
// 数字专辑详情
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.id,
|
id: query.id,
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/vipmall/albumproduct/detail`,
|
`/api/vipmall/albumproduct/detail`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,18 +1,13 @@
|
|||||||
// 专辑动态信息
|
// 专辑动态信息
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.id,
|
id: query.id,
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/album/detail/dynamic`,
|
`/api/album/detail/dynamic`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
// 数字专辑-新碟上架
|
// 数字专辑-新碟上架
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 30,
|
limit: query.limit || 30,
|
||||||
@ -9,14 +10,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/vipmall/albumproduct/list`,
|
`/api/vipmall/albumproduct/list`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
// 数字专辑-语种风格馆
|
// 数字专辑-语种风格馆
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 10,
|
limit: query.limit || 10,
|
||||||
@ -8,14 +9,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/vipmall/appalbum/album/style`,
|
`/api/vipmall/appalbum/album/style`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
// 全部新碟
|
// 全部新碟
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 30,
|
limit: query.limit || 30,
|
||||||
@ -6,11 +7,5 @@ module.exports = (query, request) => {
|
|||||||
total: true,
|
total: true,
|
||||||
area: query.area || 'ALL', //ALL:全部,ZH:华语,EA:欧美,KR:韩国,JP:日本
|
area: query.area || 'ALL', //ALL:全部,ZH:华语,EA:欧美,KR:韩国,JP:日本
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/weapi/album/new`, data, {
|
return request('POST', `/api/album/new`, data, createOption(query, 'weapi'))
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,11 @@
|
|||||||
// 最新专辑
|
// 最新专辑
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/discovery/newAlbum`,
|
`/api/discovery/newAlbum`,
|
||||||
{},
|
{},
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,20 +1,9 @@
|
|||||||
// 获取专辑歌曲的音质
|
// 获取专辑歌曲的音质
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.id,
|
id: query.id,
|
||||||
}
|
}
|
||||||
return request(
|
return request('POST', `/api/album/privilege`, data, createOption(query))
|
||||||
'POST',
|
|
||||||
`https://interface.music.163.com/eapi/album/privilege`,
|
|
||||||
data,
|
|
||||||
{
|
|
||||||
crypto: 'eapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
url: '/api/album/privilege',
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
// 数字专辑&数字单曲-榜单
|
// 数字专辑&数字单曲-榜单
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
let data = {
|
let data = {
|
||||||
albumType: query.albumType || 0, //0为数字专辑,1为数字单曲
|
albumType: query.albumType || 0, //0为数字专辑,1为数字单曲
|
||||||
@ -12,14 +13,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/feealbum/songsaleboard/${type}/type`,
|
`/api/feealbum/songsaleboard/${type}/type`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
// 收藏/取消收藏专辑
|
// 收藏/取消收藏专辑
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.t = query.t == 1 ? 'sub' : 'unsub'
|
query.t = query.t == 1 ? 'sub' : 'unsub'
|
||||||
const data = {
|
const data = {
|
||||||
id: query.id,
|
id: query.id,
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/api/album/${query.t}`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/album/${query.t}`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
// 已收藏专辑列表
|
// 已收藏专辑列表
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 25,
|
limit: query.limit || 25,
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
total: true,
|
total: true,
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/weapi/album/sublist`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/album/sublist`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 歌手专辑列表
|
// 歌手专辑列表
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 30,
|
limit: query.limit || 30,
|
||||||
@ -8,14 +9,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/artist/albums/${query.id}`,
|
`/api/artist/albums/${query.id}`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,19 +1,14 @@
|
|||||||
// 歌手介绍
|
// 歌手介绍
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.id,
|
id: query.id,
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/artist/introduction`,
|
`/api/artist/introduction`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,11 @@
|
|||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/artist/head/info/get`,
|
`/api/artist/head/info/get`,
|
||||||
{
|
{
|
||||||
id: query.id,
|
id: query.id,
|
||||||
},
|
},
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,20 +1,14 @@
|
|||||||
// 歌手动态信息
|
// 歌手动态信息
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.id,
|
id: query.id,
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://interface.music.163.com/eapi/artist/detail/dynamic`,
|
`/api/artist/detail/dynamic`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query),
|
||||||
crypto: 'eapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
url: '/api/artist/detail/dynamic',
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
// 歌手粉丝
|
// 歌手粉丝
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.id,
|
id: query.id,
|
||||||
limit: query.limit || 20,
|
limit: query.limit || 20,
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/weapi/artist/fans/get`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/artist/fans/get`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,19 +1,14 @@
|
|||||||
// 歌手粉丝数量
|
// 歌手粉丝数量
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.id,
|
id: query.id,
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/artist/follow/count/get`,
|
`/api/artist/follow/count/get`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,6 +17,7 @@
|
|||||||
initial 取值 a-z/A-Z
|
initial 取值 a-z/A-Z
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
initial: isNaN(query.initial)
|
initial: isNaN(query.initial)
|
||||||
@ -28,11 +29,10 @@ module.exports = (query, request) => {
|
|||||||
type: query.type || '1',
|
type: query.type || '1',
|
||||||
area: query.area,
|
area: query.area,
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/api/v1/artist/list`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/v1/artist/list`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 歌手相关MV
|
// 歌手相关MV
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
artistId: query.id,
|
artistId: query.id,
|
||||||
@ -7,11 +8,5 @@ module.exports = (query, request) => {
|
|||||||
offset: query.offset,
|
offset: query.offset,
|
||||||
total: true,
|
total: true,
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/weapi/artist/mvs`, data, {
|
return request('POST', `/api/artist/mvs`, data, createOption(query, 'weapi'))
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 20,
|
limit: query.limit || 20,
|
||||||
@ -5,14 +6,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/sub/artist/new/works/mv/list`,
|
`/api/sub/artist/new/works/mv/list`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 20,
|
limit: query.limit || 20,
|
||||||
@ -5,14 +6,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/sub/artist/new/works/song/list`,
|
`/api/sub/artist/new/works/song/list`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
query.cookie.appver = '2.9.7'
|
query.cookie.appver = '2.9.7'
|
||||||
@ -9,11 +10,10 @@ module.exports = (query, request) => {
|
|||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
limit: query.limit || 100,
|
limit: query.limit || 100,
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/api/v1/artist/songs`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/v1/artist/songs`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 收藏与取消收藏歌手
|
// 收藏与取消收藏歌手
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.t = query.t == 1 ? 'sub' : 'unsub'
|
query.t = query.t == 1 ? 'sub' : 'unsub'
|
||||||
const data = {
|
const data = {
|
||||||
@ -8,14 +9,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/artist/${query.t}`,
|
`/api/artist/${query.t}`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
// 关注歌手列表
|
// 关注歌手列表
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 25,
|
limit: query.limit || 25,
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
total: true,
|
total: true,
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/weapi/artist/sublist`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/artist/sublist`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
// 歌手热门 50 首歌曲
|
// 歌手热门 50 首歌曲
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.id,
|
id: query.id,
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/api/artist/top/song`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/artist/top/song`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 歌手相关视频
|
// 歌手相关视频
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
artistId: query.id,
|
artistId: query.id,
|
||||||
@ -12,14 +13,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/mlog/artist/video`,
|
`/api/mlog/artist/video`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,11 @@
|
|||||||
// 歌手单曲
|
// 歌手单曲
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/v1/artist/${query.id}`,
|
`/api/v1/artist/${query.id}`,
|
||||||
{},
|
{},
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
const { default: axios } = require('axios')
|
const { default: axios } = require('axios')
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = async (query, request) => {
|
module.exports = async (query, request) => {
|
||||||
const res = await axios({
|
const res = await axios({
|
||||||
method: 'get',
|
method: 'get',
|
||||||
|
|||||||
@ -1,19 +1,14 @@
|
|||||||
const uploadPlugin = require('../plugins/upload')
|
const uploadPlugin = require('../plugins/upload')
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = async (query, request) => {
|
module.exports = async (query, request) => {
|
||||||
const uploadInfo = await uploadPlugin(query, request)
|
const uploadInfo = await uploadPlugin(query, request)
|
||||||
const res = await request(
|
const res = await request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/user/avatar/upload/v1`,
|
`/api/user/avatar/upload/v1`,
|
||||||
{
|
{
|
||||||
imgid: uploadInfo.imgId,
|
imgid: uploadInfo.imgId,
|
||||||
},
|
},
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
return {
|
return {
|
||||||
status: 200,
|
status: 200,
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
// 首页轮播图
|
// 首页轮播图
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const type =
|
const type =
|
||||||
{
|
{
|
||||||
@ -10,14 +10,8 @@ module.exports = (query, request) => {
|
|||||||
}[query.type || 0] || 'pc'
|
}[query.type || 0] || 'pc'
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/v2/banner/get`,
|
`/api/v2/banner/get`,
|
||||||
{ clientType: type },
|
{ clientType: type },
|
||||||
{
|
createOption(query),
|
||||||
crypto: 'api',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 批量请求接口
|
// 批量请求接口
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
e_r: true,
|
e_r: true,
|
||||||
@ -9,12 +10,5 @@ module.exports = (query, request) => {
|
|||||||
data[i] = query[i]
|
data[i] = query[i]
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
return request('POST', `https://music.163.com/eapi/batch`, data, {
|
return request('POST', `/api/batch`, data, createOption(query))
|
||||||
crypto: 'eapi',
|
|
||||||
proxy: query.proxy,
|
|
||||||
url: '/api/batch',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
realIP: query.realIP,
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
startTime: query.startTime || Date.now(),
|
startTime: query.startTime || Date.now(),
|
||||||
endTime: query.endTime || Date.now(),
|
endTime: query.endTime || Date.now(),
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/api/mcalendar/detail`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/mcalendar/detail`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
// 发送验证码
|
// 发送验证码
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
ctcode: query.ctcode || '86',
|
ctcode: query.ctcode || '86',
|
||||||
cellphone: query.phone,
|
cellphone: query.phone,
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/api/sms/captcha/sent`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/sms/captcha/sent`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 校验验证码
|
// 校验验证码
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
ctcode: query.ctcode || '86',
|
ctcode: query.ctcode || '86',
|
||||||
@ -8,14 +9,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/sms/captcha/verify`,
|
`/api/sms/captcha/verify`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 检测手机号码是否已注册
|
// 检测手机号码是否已注册
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
cellphone: query.phone,
|
cellphone: query.phone,
|
||||||
@ -7,15 +8,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/eapi/cellphone/existence/check`,
|
`/api/cellphone/existence/check`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query),
|
||||||
crypto: 'eapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
url: '/api/cellphone/existence/check',
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 歌曲可用性
|
// 歌曲可用性
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
ids: '[' + parseInt(query.id) + ']',
|
ids: '[' + parseInt(query.id) + ']',
|
||||||
@ -7,15 +8,9 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/song/enhance/player/url`,
|
`/api/song/enhance/player/url`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
).then((response) => {
|
).then((response) => {
|
||||||
let playable = false
|
let playable = false
|
||||||
if (response.body.code == 200) {
|
if (response.body.code == 200) {
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
const mm = require('music-metadata')
|
const mm = require('music-metadata')
|
||||||
const uploadPlugin = require('../plugins/songUpload')
|
const uploadPlugin = require('../plugins/songUpload')
|
||||||
const md5 = require('md5')
|
const md5 = require('md5')
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = async (query, request) => {
|
module.exports = async (query, request) => {
|
||||||
let ext = 'mp3'
|
let ext = 'mp3'
|
||||||
// if (query.songFile.name.indexOf('flac') > -1) {
|
// if (query.songFile.name.indexOf('flac') > -1) {
|
||||||
@ -35,7 +36,7 @@ module.exports = async (query, request) => {
|
|||||||
}
|
}
|
||||||
const res = await request(
|
const res = await request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://interface.music.163.com/api/cloud/upload/check`,
|
`/api/cloud/upload/check`,
|
||||||
{
|
{
|
||||||
bitrate: String(bitrate),
|
bitrate: String(bitrate),
|
||||||
ext: '',
|
ext: '',
|
||||||
@ -44,13 +45,7 @@ module.exports = async (query, request) => {
|
|||||||
songId: '0',
|
songId: '0',
|
||||||
version: 1,
|
version: 1,
|
||||||
},
|
},
|
||||||
{
|
createOption(query),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
let artist = ''
|
let artist = ''
|
||||||
let album = ''
|
let album = ''
|
||||||
@ -100,7 +95,7 @@ module.exports = async (query, request) => {
|
|||||||
}
|
}
|
||||||
const tokenRes = await request(
|
const tokenRes = await request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/nos/token/alloc`,
|
`/api/nos/token/alloc`,
|
||||||
{
|
{
|
||||||
bucket: '',
|
bucket: '',
|
||||||
ext: ext,
|
ext: ext,
|
||||||
@ -110,12 +105,7 @@ module.exports = async (query, request) => {
|
|||||||
type: 'audio',
|
type: 'audio',
|
||||||
md5: query.songFile.md5,
|
md5: query.songFile.md5,
|
||||||
},
|
},
|
||||||
{
|
createOption(query),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if (res.body.needUpload) {
|
if (res.body.needUpload) {
|
||||||
@ -125,7 +115,7 @@ module.exports = async (query, request) => {
|
|||||||
// console.log(tokenRes.body.result)
|
// console.log(tokenRes.body.result)
|
||||||
const res2 = await request(
|
const res2 = await request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/upload/cloud/info/v2`,
|
`/api/upload/cloud/info/v2`,
|
||||||
{
|
{
|
||||||
md5: query.songFile.md5,
|
md5: query.songFile.md5,
|
||||||
songid: res.body.songId,
|
songid: res.body.songId,
|
||||||
@ -136,29 +126,17 @@ module.exports = async (query, request) => {
|
|||||||
bitrate: String(bitrate),
|
bitrate: String(bitrate),
|
||||||
resourceId: tokenRes.body.result.resourceId,
|
resourceId: tokenRes.body.result.resourceId,
|
||||||
},
|
},
|
||||||
{
|
createOption(query),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
// console.log({ res2, privateCloud: res2.body.privateCloud })
|
// console.log({ res2, privateCloud: res2.body.privateCloud })
|
||||||
// console.log(res.body.songId, 'songid')
|
// console.log(res.body.songId, 'songid')
|
||||||
const res3 = await request(
|
const res3 = await request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://interface.music.163.com/api/cloud/pub/v2`,
|
`/api/cloud/pub/v2`,
|
||||||
{
|
{
|
||||||
songid: res2.body.songId,
|
songid: res2.body.songId,
|
||||||
},
|
},
|
||||||
{
|
createOption(query),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
// console.log({ res3 })
|
// console.log({ res3 })
|
||||||
return {
|
return {
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
userId: query.uid,
|
userId: query.uid,
|
||||||
@ -6,14 +7,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/cloud/user/song/match`,
|
`/api/cloud/user/song/match`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 搜索
|
// 搜索
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
s: query.keywords,
|
s: query.keywords,
|
||||||
@ -8,17 +9,5 @@ module.exports = (query, request) => {
|
|||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
total: true,
|
total: true,
|
||||||
}
|
}
|
||||||
return request(
|
return request('POST', `/api/cloudsearch/pc`, data, createOption(query))
|
||||||
'POST',
|
|
||||||
`https://interface.music.163.com/eapi/cloudsearch/pc`,
|
|
||||||
data,
|
|
||||||
{
|
|
||||||
crypto: 'eapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
url: '/api/cloudsearch/pc',
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
const { resourceTypeMap } = require('../util/config.json')
|
const { resourceTypeMap } = require('../util/config.json')
|
||||||
// 发送与删除评论
|
// 发送与删除评论
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'android'
|
query.cookie.os = 'android'
|
||||||
query.t = {
|
query.t = {
|
||||||
@ -24,14 +25,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/resource/comments/${query.t}`,
|
`/api/resource/comments/${query.t}`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 专辑评论
|
// 专辑评论
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
// query.cookie.os = 'pc'
|
// query.cookie.os = 'pc'
|
||||||
// query.cookie.appver = '2.9.7'
|
// query.cookie.appver = '2.9.7'
|
||||||
@ -11,14 +12,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/v1/resource/comments/R_AL_3_${query.id}`,
|
`/api/v1/resource/comments/R_AL_3_${query.id}`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 电台评论
|
// 电台评论
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
query.cookie.appver = '2.9.7'
|
query.cookie.appver = '2.9.7'
|
||||||
@ -11,14 +12,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/v1/resource/comments/A_DJ_1_${query.id}`,
|
`/api/v1/resource/comments/A_DJ_1_${query.id}`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 获取动态评论
|
// 获取动态评论
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 20,
|
limit: query.limit || 20,
|
||||||
@ -8,14 +9,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/v1/resource/comments/${query.threadId}`,
|
`/api/v1/resource/comments/${query.threadId}`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
const { resourceTypeMap } = require('../util/config.json')
|
const { resourceTypeMap } = require('../util/config.json')
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.type = resourceTypeMap[query.type]
|
query.type = resourceTypeMap[query.type]
|
||||||
const data = {
|
const data = {
|
||||||
@ -9,14 +10,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/resource/comment/floor/get`,
|
`/api/resource/comment/floor/get`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
const { resourceTypeMap } = require('../util/config.json')
|
const { resourceTypeMap } = require('../util/config.json')
|
||||||
// 热门评论
|
// 热门评论
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
query.cookie.appver = '2.9.7'
|
query.cookie.appver = '2.9.7'
|
||||||
@ -13,14 +14,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/v1/resource/hotcomments/${query.type}${query.id}`,
|
`/api/v1/resource/hotcomments/${query.type}${query.id}`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
const { resourceTypeMap } = require('../util/config.json')
|
const { resourceTypeMap } = require('../util/config.json')
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.type = resourceTypeMap[query.type || 0]
|
query.type = resourceTypeMap[query.type || 0]
|
||||||
const threadId = query.type + query.sid
|
const threadId = query.type + query.sid
|
||||||
@ -13,14 +14,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/v2/resource/comments/hug/list`,
|
`/api/v2/resource/comments/hug/list`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query),
|
||||||
crypto: 'api',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
const { resourceTypeMap } = require('../util/config.json')
|
const { resourceTypeMap } = require('../util/config.json')
|
||||||
// 点赞与取消点赞评论
|
// 点赞与取消点赞评论
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
query.cookie.appver = '2.9.7'
|
query.cookie.appver = '2.9.7'
|
||||||
@ -15,14 +16,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/v1/comment/${query.t}`,
|
`/api/v1/comment/${query.t}`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 歌曲评论
|
// 歌曲评论
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
query.cookie.appver = '2.9.7'
|
query.cookie.appver = '2.9.7'
|
||||||
@ -11,14 +12,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/v1/resource/comments/R_SO_4_${query.id}`,
|
`/api/v1/resource/comments/R_SO_4_${query.id}`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// MV评论
|
// MV评论
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
query.cookie.appver = '2.9.7'
|
query.cookie.appver = '2.9.7'
|
||||||
@ -11,14 +12,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/v1/resource/comments/R_MV_5_${query.id}`,
|
`/api/v1/resource/comments/R_MV_5_${query.id}`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
const { resourceTypeMap } = require('../util/config.json')
|
const { resourceTypeMap } = require('../util/config.json')
|
||||||
// 评论
|
// 评论
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
query.cookie.appver = '2.9.7'
|
query.cookie.appver = '2.9.7'
|
||||||
@ -34,17 +35,5 @@ module.exports = (query, request) => {
|
|||||||
cursor: cursor,
|
cursor: cursor,
|
||||||
sortType: sortType, //99:按推荐排序,2:按热度排序,3:按时间排序
|
sortType: sortType, //99:按推荐排序,2:按热度排序,3:按时间排序
|
||||||
}
|
}
|
||||||
return request(
|
return request('POST', `/api/v2/resource/comments`, data, createOption(query))
|
||||||
'POST',
|
|
||||||
`https://music.163.com/api/v2/resource/comments`,
|
|
||||||
data,
|
|
||||||
{
|
|
||||||
crypto: 'eapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
url: '/api/v2/resource/comments',
|
|
||||||
},
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 歌单评论
|
// 歌单评论
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
query.cookie.appver = '2.9.7'
|
query.cookie.appver = '2.9.7'
|
||||||
@ -11,14 +12,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/v1/resource/comments/A_PL_0_${query.id}`,
|
`/api/v1/resource/comments/A_PL_0_${query.id}`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 视频评论
|
// 视频评论
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
query.cookie.appver = '2.9.7'
|
query.cookie.appver = '2.9.7'
|
||||||
@ -11,14 +12,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/v1/resource/comments/R_VI_62_${query.id}`,
|
`/api/v1/resource/comments/R_VI_62_${query.id}`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,17 +1,6 @@
|
|||||||
// 国家编码列表
|
// 国家编码列表
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {}
|
const data = {}
|
||||||
return request(
|
return request('POST', `/api/lbs/countries/v1`, data, createOption(query))
|
||||||
'POST',
|
|
||||||
`https://interface3.music.163.com/eapi/lbs/countries/v1`,
|
|
||||||
data,
|
|
||||||
{
|
|
||||||
crypto: 'eapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
url: '/api/lbs/countries/v1',
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,17 +1,11 @@
|
|||||||
// 获取达人用户信息
|
// 获取达人用户信息
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {}
|
const data = {}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://interface.music.163.com/weapi/user/creator/authinfo/get`,
|
`/api/user/creator/authinfo/get`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query),
|
||||||
crypto: 'eapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
url: '/api/user/creator/authinfo/get',
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,15 +7,15 @@
|
|||||||
未登录 {'android': {'code': 301}, 'web': {'code': 301}}
|
未登录 {'android': {'code': 301}, 'web': {'code': 301}}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
type: query.type || 0,
|
type: query.type || 0,
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/weapi/point/dailyTask`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/point/dailyTask`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,19 +1,14 @@
|
|||||||
// 数字专辑详情
|
// 数字专辑详情
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.id,
|
id: query.id,
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/vipmall/albumproduct/detail`,
|
`/api/vipmall/albumproduct/detail`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 购买数字专辑
|
// 购买数字专辑
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
business: 'Album',
|
business: 'Album',
|
||||||
@ -15,14 +16,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/ordering/web/digital`,
|
`/api/ordering/web/digital`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 我的数字专辑
|
// 我的数字专辑
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 30,
|
limit: query.limit || 30,
|
||||||
@ -8,14 +9,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/digitalAlbum/purchased`,
|
`/api/digitalAlbum/purchased`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,19 +1,14 @@
|
|||||||
// 数字专辑销量
|
// 数字专辑销量
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
albumIds: query.ids,
|
albumIds: query.ids,
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/vipmall/albumproduct/album/query/sales`,
|
`/api/vipmall/albumproduct/album/query/sales`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
//电台排行榜获取
|
//电台排行榜获取
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
djRadioId: query.djRadioId || null, // 电台id
|
djRadioId: query.djRadioId || null, // 电台id
|
||||||
@ -8,13 +9,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
'https://interface.music.163.com/weapi/expert/worksdata/works/top/get',
|
'/api/expert/worksdata/works/top/get',
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,18 +1,13 @@
|
|||||||
// 电台banner
|
// 电台banner
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
query.cookie.appver = '2.9.7'
|
query.cookie.appver = '2.9.7'
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/djradio/banner/get`,
|
`/api/djradio/banner/get`,
|
||||||
{},
|
{},
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,11 @@
|
|||||||
// 电台非热门类型
|
// 电台非热门类型
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/djradio/category/excludehot`,
|
`/api/djradio/category/excludehot`,
|
||||||
{},
|
{},
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,11 @@
|
|||||||
// 电台推荐类型
|
// 电台推荐类型
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/djradio/home/category/recommend`,
|
`/api/djradio/home/category/recommend`,
|
||||||
{},
|
{},
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,11 @@
|
|||||||
// 电台分类列表
|
// 电台分类列表
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/djradio/category/get`,
|
`/api/djradio/category/get`,
|
||||||
{},
|
{},
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
// 电台详情
|
// 电台详情
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.rid,
|
id: query.rid,
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/api/djradio/v2/get`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/djradio/v2/get`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
// 热门电台
|
// 热门电台
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 30,
|
limit: query.limit || 30,
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/weapi/djradio/hot/v1`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/djradio/hot/v1`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,20 +1,16 @@
|
|||||||
// 付费电台
|
// 付费电台
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 30,
|
limit: query.limit || 30,
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
|
_nmclfl: 1,
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/djradio/home/paygift/list?_nmclfl=1`,
|
`/api/djradio/home/paygift/list`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,18 +1,13 @@
|
|||||||
// 电台个性推荐
|
// 电台个性推荐
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/djradio/personalize/rcmd`,
|
`/api/djradio/personalize/rcmd`,
|
||||||
{
|
{
|
||||||
limit: query.limit || 6,
|
limit: query.limit || 6,
|
||||||
},
|
},
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 电台节目列表
|
// 电台节目列表
|
||||||
const { toBoolean } = require('../util')
|
const { toBoolean } = require('../util')
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
radioId: query.rid,
|
radioId: query.rid,
|
||||||
@ -9,14 +10,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/dj/program/byradio`,
|
`/api/dj/program/byradio`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
// 电台节目详情
|
// 电台节目详情
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.id,
|
id: query.id,
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/api/dj/program/detail`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/dj/program/detail`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
// 电台节目榜
|
// 电台节目榜
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 100,
|
limit: query.limit || 100,
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/api/program/toplist/v1`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/program/toplist/v1`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
// 电台24小时节目榜
|
// 电台24小时节目榜
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 100,
|
limit: query.limit || 100,
|
||||||
@ -6,14 +7,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/djprogram/toplist/hours`,
|
`/api/djprogram/toplist/hours`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,11 @@
|
|||||||
// 类别热门电台
|
// 类别热门电台
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
cateId: query.cateId,
|
cateId: query.cateId,
|
||||||
limit: query.limit || 30,
|
limit: query.limit || 30,
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/api/djradio/hot`, data, {
|
return request('POST', `/api/djradio/hot`, data, createOption(query, 'weapi'))
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,11 @@
|
|||||||
// 精选电台
|
// 精选电台
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/djradio/recommend/v1`,
|
`/api/djradio/recommend/v1`,
|
||||||
{},
|
{},
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,20 +23,15 @@
|
|||||||
旅途|城市 12
|
旅途|城市 12
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
cateId: query.type,
|
cateId: query.type,
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/djradio/recommend`,
|
`/api/djradio/recommend`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 订阅与取消电台
|
// 订阅与取消电台
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.t = query.t == 1 ? 'sub' : 'unsub'
|
query.t = query.t == 1 ? 'sub' : 'unsub'
|
||||||
const data = {
|
const data = {
|
||||||
@ -7,14 +8,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/djradio/${query.t}`,
|
`/api/djradio/${query.t}`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 订阅电台列表
|
// 订阅电台列表
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 30,
|
limit: query.limit || 30,
|
||||||
@ -8,14 +9,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/djradio/get/subed`,
|
`/api/djradio/get/subed`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 电台详情
|
// 电台详情
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
time: query.time || '-1',
|
time: query.time || '-1',
|
||||||
@ -7,11 +8,10 @@ module.exports = (query, request) => {
|
|||||||
limit: query.limit || '20',
|
limit: query.limit || '20',
|
||||||
total: 'true',
|
total: 'true',
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/api/djradio/subscriber`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/djradio/subscriber`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,19 +1,14 @@
|
|||||||
// 电台今日优选
|
// 电台今日优选
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
page: query.page || 0,
|
page: query.page || 0,
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/djradio/home/today/perfered`,
|
`/api/djradio/home/today/perfered`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,17 +3,17 @@ const typeMap = {
|
|||||||
new: 0,
|
new: 0,
|
||||||
hot: 1,
|
hot: 1,
|
||||||
}
|
}
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 100,
|
limit: query.limit || 100,
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
type: typeMap[query.type || 'new'] || '0', //0为新晋,1为热门
|
type: typeMap[query.type || 'new'] || '0', //0为新晋,1为热门
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/api/djradio/toplist`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/djradio/toplist`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
// 电台24小时主播榜
|
// 电台24小时主播榜
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 100,
|
limit: query.limit || 100,
|
||||||
// 不支持 offset
|
// 不支持 offset
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/api/dj/toplist/hours`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/dj/toplist/hours`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
// 电台新人榜
|
// 电台新人榜
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 100,
|
limit: query.limit || 100,
|
||||||
@ -6,14 +7,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/dj/toplist/newcomer`,
|
`/api/dj/toplist/newcomer`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
// 付费精品
|
// 付费精品
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 100,
|
limit: query.limit || 100,
|
||||||
@ -6,14 +7,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/djradio/toplist/pay`,
|
`/api/djradio/toplist/pay`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
// 电台最热主播榜
|
// 电台最热主播榜
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 100,
|
limit: query.limit || 100,
|
||||||
// 不支持 offset
|
// 不支持 offset
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/api/dj/toplist/popular`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/dj/toplist/popular`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
const { eapiResDecrypt, eapiReqDecrypt } = require('../util/crypto')
|
const { eapiResDecrypt, eapiReqDecrypt } = require('../util/crypto')
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = async (query, request) => {
|
module.exports = async (query, request) => {
|
||||||
const hexString = query.hexString
|
const hexString = query.hexString
|
||||||
const isReq = query.isReq != 'false'
|
const isReq = query.isReq != 'false'
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
// 动态
|
// 动态
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
pagesize: query.pagesize || 20,
|
pagesize: query.pagesize || 20,
|
||||||
lasttime: query.lasttime || -1,
|
lasttime: query.lasttime || -1,
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/weapi/v1/event/get`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/v1/event/get`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
// 删除动态
|
// 删除动态
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.evId,
|
id: query.evId,
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/eapi/event/delete`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/event/delete`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 转发动态
|
// 转发动态
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
query.cookie.appver = '2.9.7'
|
query.cookie.appver = '2.9.7'
|
||||||
@ -8,11 +9,10 @@ module.exports = (query, request) => {
|
|||||||
id: query.evId,
|
id: query.evId,
|
||||||
eventUserId: query.uid,
|
eventUserId: query.uid,
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/weapi/event/forward`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/event/forward`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,17 +1,11 @@
|
|||||||
// 粉丝年龄比例
|
// 粉丝年龄比例
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {}
|
const data = {}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://interface.music.163.com/weapi/fanscenter/basicinfo/age/get`,
|
`/api/fanscenter/basicinfo/age/get`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query),
|
||||||
crypto: 'eapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
url: '/api/fanscenter/basicinfo/age/get',
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,17 +1,11 @@
|
|||||||
// 粉丝性别比例
|
// 粉丝性别比例
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {}
|
const data = {}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://interface.music.163.com/weapi/fanscenter/basicinfo/gender/get`,
|
`/api/fanscenter/basicinfo/gender/get`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query),
|
||||||
crypto: 'eapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
url: '/api/fanscenter/basicinfo/gender/get',
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,17 +1,11 @@
|
|||||||
// 粉丝省份比例
|
// 粉丝省份比例
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {}
|
const data = {}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://interface.music.163.com/weapi/fanscenter/basicinfo/province/get`,
|
`/api/fanscenter/basicinfo/province/get`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query),
|
||||||
crypto: 'eapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
url: '/api/fanscenter/basicinfo/province/get',
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,17 +1,11 @@
|
|||||||
// 粉丝数量
|
// 粉丝数量
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {}
|
const data = {}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://interface.music.163.com/weapi/fanscenter/overview/get`,
|
`/api/fanscenter/overview/get`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query),
|
||||||
crypto: 'eapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
url: '/api/fanscenter/overview/get',
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
// 粉丝来源
|
// 粉丝来源
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
startTime: query.startTime || Date.now() - 7 * 24 * 3600 * 1000,
|
startTime: query.startTime || Date.now() - 7 * 24 * 3600 * 1000,
|
||||||
@ -7,15 +8,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://interface.music.163.com/weapi/fanscenter/trend/list`,
|
`/api/fanscenter/trend/list`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query),
|
||||||
crypto: 'eapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
url: '/api/fanscenter/trend/list',
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,21 +1,16 @@
|
|||||||
// 垃圾桶
|
// 垃圾桶
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
songId: query.id,
|
songId: query.id,
|
||||||
|
alg: 'RT',
|
||||||
|
time: query.time || 25,
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/radio/trash/add?alg=RT&songId=${
|
`/api/radio/trash/add`,
|
||||||
query.id
|
|
||||||
}&time=${query.time || 25}`,
|
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,19 +1,14 @@
|
|||||||
// 关注与取消关注用户
|
// 关注与取消关注用户
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
query.cookie.appver = '2.9.7'
|
query.cookie.appver = '2.9.7'
|
||||||
query.t = query.t == 1 ? 'follow' : 'delfollow'
|
query.t = query.t == 1 ? 'follow' : 'delfollow'
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/weapi/user/${query.t}/${query.id}`,
|
`/api/user/${query.t}/${query.id}`,
|
||||||
{},
|
{},
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
nicknames: query.nicknames,
|
nicknames: query.nicknames,
|
||||||
}
|
}
|
||||||
return request('POST', `https://music.163.com/api/user/getUserIds`, data, {
|
return request(
|
||||||
crypto: 'weapi',
|
'POST',
|
||||||
cookie: query.cookie,
|
`/api/user/getUserIds`,
|
||||||
ua: query.ua || '',
|
data,
|
||||||
proxy: query.proxy,
|
createOption(query, 'weapi'),
|
||||||
realIP: query.realIP,
|
)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,18 +1,13 @@
|
|||||||
// 历史每日推荐歌曲
|
// 历史每日推荐歌曲
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'ios'
|
query.cookie.os = 'ios'
|
||||||
const data = {}
|
const data = {}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/discovery/recommend/songs/history/recent`,
|
`/api/discovery/recommend/songs/history/recent`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
// 历史每日推荐歌曲详情
|
// 历史每日推荐歌曲详情
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'ios'
|
query.cookie.os = 'ios'
|
||||||
const data = {
|
const data = {
|
||||||
@ -7,14 +8,8 @@ module.exports = (query, request) => {
|
|||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST',
|
'POST',
|
||||||
`https://music.163.com/api/discovery/recommend/songs/history/detail`,
|
`/api/discovery/recommend/songs/history/detail`,
|
||||||
data,
|
data,
|
||||||
{
|
createOption(query, 'weapi'),
|
||||||
crypto: 'weapi',
|
|
||||||
cookie: query.cookie,
|
|
||||||
ua: query.ua || '',
|
|
||||||
proxy: query.proxy,
|
|
||||||
realIP: query.realIP,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user