mirror of
https://gitlab.com/Binaryify/neteasecloudmusicapi.git
synced 2025-05-23 22:37:41 +08:00
feat: realIP option
This commit is contained in:
parent
31d7e3941e
commit
9bd30a0ffb
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,5 +4,6 @@ node_modules
|
||||
|
||||
.idea/
|
||||
package-lock.json
|
||||
yarn.lock
|
||||
|
||||
.vscode
|
@ -2,8 +2,8 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
nickname: query.nickname
|
||||
};
|
||||
nickname: query.nickname,
|
||||
}
|
||||
return request(
|
||||
'POST',
|
||||
`http://music.163.com/eapi/activate/initProfile`,
|
||||
@ -12,7 +12,8 @@ module.exports = (query, request) => {
|
||||
crypto: 'eapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
url: '/api/activate/initProfile'
|
||||
realIP: query.realIP,
|
||||
url: '/api/activate/initProfile',
|
||||
}
|
||||
);
|
||||
};
|
||||
)
|
||||
}
|
||||
|
@ -2,7 +2,14 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/v1/album/${query.id}`, {},
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/v1/album/${query.id}`,
|
||||
{},
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -1,14 +1,17 @@
|
||||
// 数字专辑详情
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
id: query.id
|
||||
id: query.id,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/vipmall/albumproduct/detail`, data,
|
||||
'POST',
|
||||
`https://music.163.com/weapi/vipmall/albumproduct/detail`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,17 @@
|
||||
// 专辑动态信息
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
id: query.id
|
||||
id: query.id,
|
||||
}
|
||||
return request(
|
||||
'POST',
|
||||
`https://music.163.com/api/album/detail/dynamic`,
|
||||
data,
|
||||
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@ -5,10 +5,17 @@ module.exports = (query, request) => {
|
||||
offset: query.offset || 0,
|
||||
total: true,
|
||||
area: query.area || 'ALL', //ALL:全部,ZH:华语,EA:欧美,KR:韩国,JP:日本
|
||||
type: query.type
|
||||
type: query.type,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/vipmall/albumproduct/list`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/vipmall/albumproduct/list`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,14 @@ module.exports = (query, request) => {
|
||||
area: query.area || 'Z_H', //Z_H:华语,E_A:欧美,KR:韩国,JP:日本
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/vipmall/appalbum/album/style`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/vipmall/appalbum/album/style`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -4,10 +4,12 @@ module.exports = (query, request) => {
|
||||
limit: query.limit || 30,
|
||||
offset: query.offset || 0,
|
||||
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,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
}
|
||||
return request('POST', `https://music.163.com/weapi/album/new`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -2,7 +2,14 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
return request(
|
||||
'POST', `https://music.163.com/api/discovery/newAlbum`, {},
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/api/discovery/newAlbum`,
|
||||
{},
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@ -14,6 +14,11 @@ module.exports = (query, request) => {
|
||||
'POST',
|
||||
`https://music.163.com/api/feealbum/songsaleboard/${type}/type`,
|
||||
data,
|
||||
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@ -1,13 +1,14 @@
|
||||
// 收藏/取消收藏专辑
|
||||
|
||||
module.exports = (query, request) => {
|
||||
query.t = (query.t == 1 ? 'sub' : 'unsub')
|
||||
query.t = query.t == 1 ? 'sub' : 'unsub'
|
||||
const data = {
|
||||
id: query.id
|
||||
};
|
||||
id: query.id,
|
||||
}
|
||||
return request('POST', `https://music.163.com/api/album/${query.t}`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy
|
||||
});
|
||||
};
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -4,10 +4,12 @@ module.exports = (query, request) => {
|
||||
const data = {
|
||||
limit: query.limit || 25,
|
||||
offset: query.offset || 0,
|
||||
total: true
|
||||
total: true,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/album/sublist`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
}
|
||||
return request('POST', `https://music.163.com/weapi/album/sublist`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -4,10 +4,17 @@ module.exports = (query, request) => {
|
||||
const data = {
|
||||
limit: query.limit || 30,
|
||||
offset: query.offset || 0,
|
||||
total: true
|
||||
total: true,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/artist/albums/${query.id}`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/artist/albums/${query.id}`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -2,10 +2,17 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
id: query.id
|
||||
id: query.id,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/artist/introduction`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/artist/introduction`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -19,15 +19,19 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
initial: isNaN(query.initial) ? (query.initial || '').toUpperCase().charCodeAt() || undefined : query.initial,
|
||||
initial: isNaN(query.initial)
|
||||
? (query.initial || '').toUpperCase().charCodeAt() || undefined
|
||||
: query.initial,
|
||||
offset: query.offset || 0,
|
||||
limit: query.limit || 30,
|
||||
total: true,
|
||||
type: query.type || '1',
|
||||
area: query.area
|
||||
area: query.area,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/api/v1/artist/list`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
}
|
||||
return request('POST', `https://music.163.com/api/v1/artist/list`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -5,10 +5,12 @@ module.exports = (query, request) => {
|
||||
artistId: query.id,
|
||||
limit: query.limit,
|
||||
offset: query.offset,
|
||||
total: true
|
||||
total: true,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/artist/mvs`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
}
|
||||
return request('POST', `https://music.163.com/weapi/artist/mvs`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -1,13 +1,20 @@
|
||||
// 收藏与取消收藏歌手
|
||||
|
||||
module.exports = (query, request) => {
|
||||
query.t = (query.t == 1 ? 'sub' : 'unsub')
|
||||
query.t = query.t == 1 ? 'sub' : 'unsub'
|
||||
const data = {
|
||||
artistId: query.id,
|
||||
artistIds: '[' + query.id + ']'
|
||||
artistIds: '[' + query.id + ']',
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/artist/${query.t}`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/artist/${query.t}`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -4,10 +4,12 @@ module.exports = (query, request) => {
|
||||
const data = {
|
||||
limit: query.limit || 25,
|
||||
offset: query.offset || 0,
|
||||
total: true
|
||||
total: true,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/artist/sublist`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
}
|
||||
return request('POST', `https://music.163.com/weapi/artist/sublist`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -1,10 +1,12 @@
|
||||
// 歌手热门 50 首歌曲
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
id: query.id
|
||||
id: query.id,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/api/artist/top/song`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
}
|
||||
return request('POST', `https://music.163.com/api/artist/top/song`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -2,7 +2,14 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/v1/artist/${query.id}`, {},
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/v1/artist/${query.id}`,
|
||||
{},
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -5,9 +5,14 @@ module.exports = async (query, request) => {
|
||||
'POST',
|
||||
`https://music.163.com/weapi/user/avatar/upload/v1`,
|
||||
{
|
||||
imgid: uploadInfo.imgId
|
||||
imgid: uploadInfo.imgId,
|
||||
},
|
||||
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
return {
|
||||
status: 200,
|
||||
|
@ -1,14 +1,17 @@
|
||||
// 首页轮播图
|
||||
|
||||
module.exports = (query, request) => {
|
||||
const type = {
|
||||
0: 'pc',
|
||||
1: 'android',
|
||||
2: 'iphone',
|
||||
3: 'ipad'
|
||||
}[query.type || 0] || 'pc';
|
||||
const type =
|
||||
{
|
||||
0: 'pc',
|
||||
1: 'android',
|
||||
2: 'iphone',
|
||||
3: 'ipad',
|
||||
}[query.type || 0] || 'pc'
|
||||
return request(
|
||||
'POST', `https://music.163.com/api/v2/banner/get`, {clientType: type},
|
||||
{crypto: 'linuxapi', proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/api/v2/banner/get`,
|
||||
{ clientType: type },
|
||||
{ crypto: 'linuxapi', proxy: query.proxy, realIP: query.realIP }
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -2,15 +2,18 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
'e_r': true
|
||||
};
|
||||
Object.keys(query).forEach(i => {
|
||||
e_r: true,
|
||||
}
|
||||
Object.keys(query).forEach((i) => {
|
||||
if (/^\/api\//.test(i)) {
|
||||
data[i] = query[i]
|
||||
}
|
||||
})
|
||||
return request(
|
||||
'POST', `http://music.163.com/eapi/batch`, data,
|
||||
{crypto: 'eapi', proxy: query.proxy, url: '/api/batch', cookie: query.cookie}
|
||||
)
|
||||
};
|
||||
return request('POST', `http://music.163.com/eapi/batch`, data, {
|
||||
crypto: 'eapi',
|
||||
proxy: query.proxy,
|
||||
url: '/api/batch',
|
||||
cookie: query.cookie,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -5,10 +5,10 @@ module.exports = (query, request) => {
|
||||
ctcode: query.ctcode || '86',
|
||||
cellphone: query.phone,
|
||||
}
|
||||
return request(
|
||||
'POST',
|
||||
`https://music.163.com/weapi/sms/captcha/sent`,
|
||||
data,
|
||||
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||
)
|
||||
return request('POST', `https://music.163.com/weapi/sms/captcha/sent`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -4,12 +4,17 @@ module.exports = (query, request) => {
|
||||
const data = {
|
||||
ctcode: query.ctcode || '86',
|
||||
cellphone: query.phone,
|
||||
captcha: query.captcha
|
||||
captcha: query.captcha,
|
||||
}
|
||||
return request(
|
||||
'POST',
|
||||
`https://music.163.com/weapi/sms/captcha/verify`,
|
||||
data,
|
||||
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@ -3,8 +3,8 @@
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
cellphone: query.phone,
|
||||
countrycode: query.countrycode
|
||||
};
|
||||
countrycode: query.countrycode,
|
||||
}
|
||||
return request(
|
||||
'POST',
|
||||
`http://music.163.com/eapi/cellphone/existence/check`,
|
||||
@ -13,7 +13,8 @@ module.exports = (query, request) => {
|
||||
crypto: 'eapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
url: '/api/cellphone/existence/check'
|
||||
url: '/api/cellphone/existence/check',
|
||||
realIP: query.realIP,
|
||||
}
|
||||
);
|
||||
};
|
||||
)
|
||||
}
|
||||
|
@ -3,27 +3,32 @@
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
ids: '[' + parseInt(query.id) + ']',
|
||||
br: parseInt(query.br || 999000)
|
||||
br: parseInt(query.br || 999000),
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/song/enhance/player/url`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
.then(response => {
|
||||
let playable = false
|
||||
if(response.body.code == 200){
|
||||
if(response.body.data[0].code == 200){
|
||||
playable = true
|
||||
}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/song/enhance/player/url`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
).then((response) => {
|
||||
let playable = false
|
||||
if (response.body.code == 200) {
|
||||
if (response.body.data[0].code == 200) {
|
||||
playable = true
|
||||
}
|
||||
if(playable){
|
||||
response.body = {success: true, message: 'ok'}
|
||||
return response
|
||||
}
|
||||
else{
|
||||
response.status = 404
|
||||
response.body = {success: false, message: '亲爱的,暂无版权'}
|
||||
return Promise.reject(response)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
if (playable) {
|
||||
response.body = { success: true, message: 'ok' }
|
||||
return response
|
||||
} else {
|
||||
response.status = 404
|
||||
response.body = { success: false, message: '亲爱的,暂无版权' }
|
||||
return Promise.reject(response)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ module.exports = (query, request) => {
|
||||
query.t = {
|
||||
1: 'add',
|
||||
0: 'delete',
|
||||
2: 'reply'
|
||||
2: 'reply',
|
||||
}[query.t]
|
||||
query.type = {
|
||||
0: 'R_SO_4_', // 歌曲
|
||||
@ -14,25 +14,30 @@ module.exports = (query, request) => {
|
||||
3: 'R_AL_3_', // 专辑
|
||||
4: 'A_DJ_1_', // 电台,
|
||||
5: 'R_VI_62_', // 视频
|
||||
6: 'A_EV_2_' // 动态
|
||||
6: 'A_EV_2_', // 动态
|
||||
}[query.type]
|
||||
const data = {
|
||||
threadId: query.type + query.id
|
||||
threadId: query.type + query.id,
|
||||
}
|
||||
|
||||
if(query.type == 'A_EV_2_'){
|
||||
|
||||
if (query.type == 'A_EV_2_') {
|
||||
data.threadId = query.threadId
|
||||
}
|
||||
if(query.t == 'add')
|
||||
data.content = query.content
|
||||
else if(query.t == 'delete')
|
||||
data.commentId = query.commentId
|
||||
if (query.t == 'add') data.content = query.content
|
||||
else if (query.t == 'delete') data.commentId = query.commentId
|
||||
else if (query.t == 'reply') {
|
||||
data.commentId = query.commentId
|
||||
data.content = query.content
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/resource/comments/${query.t}`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/resource/comments/${query.t}`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -6,10 +6,17 @@ module.exports = (query, request) => {
|
||||
rid: query.id,
|
||||
limit: query.limit || 20,
|
||||
offset: query.offset || 0,
|
||||
beforeTime: query.before || 0
|
||||
beforeTime: query.before || 0,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/v1/resource/comments/R_AL_3_${query.id}`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/v1/resource/comments/R_AL_3_${query.id}`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -6,10 +6,17 @@ module.exports = (query, request) => {
|
||||
rid: query.id,
|
||||
limit: query.limit || 20,
|
||||
offset: query.offset || 0,
|
||||
beforeTime: query.before || 0
|
||||
beforeTime: query.before || 0,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/v1/resource/comments/A_DJ_1_${query.id}`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/v1/resource/comments/A_DJ_1_${query.id}`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -4,12 +4,17 @@ module.exports = (query, request) => {
|
||||
const data = {
|
||||
limit: query.limit || 20,
|
||||
offset: query.offset || 0,
|
||||
beforeTime: query.before || 0
|
||||
};
|
||||
beforeTime: query.before || 0,
|
||||
}
|
||||
return request(
|
||||
'POST',
|
||||
`https://music.163.com/weapi/v1/resource/comments/${query.threadId}`,
|
||||
data,
|
||||
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||
);
|
||||
};
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@ -8,16 +8,23 @@ module.exports = (query, request) => {
|
||||
2: 'A_PL_0_', // 歌单
|
||||
3: 'R_AL_3_', // 专辑
|
||||
4: 'A_DJ_1_', // 电台,
|
||||
5: 'R_VI_62_' // 视频
|
||||
5: 'R_VI_62_', // 视频
|
||||
}[query.type]
|
||||
const data = {
|
||||
rid: query.id,
|
||||
limit: query.limit || 20,
|
||||
offset: query.offset || 0,
|
||||
beforeTime: query.before || 0
|
||||
beforeTime: query.before || 0,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/v1/resource/hotcomments/${query.type}${query.id}`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/v1/resource/hotcomments/${query.type}${query.id}`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -6,6 +6,11 @@ module.exports = (query, request) => {
|
||||
'POST',
|
||||
`https://music.163.com/api/comment/hotwall/list/get`,
|
||||
data,
|
||||
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
query.cookie.os = 'pc'
|
||||
query.t = (query.t == 1 ? 'like' : 'unlike')
|
||||
query.t = query.t == 1 ? 'like' : 'unlike'
|
||||
query.type = {
|
||||
0: 'R_SO_4_', // 歌曲
|
||||
1: 'R_MV_5_', // MV
|
||||
@ -10,17 +10,24 @@ module.exports = (query, request) => {
|
||||
3: 'R_AL_3_', // 专辑
|
||||
4: 'A_DJ_1_', // 电台,
|
||||
5: 'R_VI_62_', // 视频
|
||||
6: 'A_EV_2_' // 动态
|
||||
6: 'A_EV_2_', // 动态
|
||||
}[query.type]
|
||||
const data = {
|
||||
threadId: query.type + query.id,
|
||||
commentId: query.cid
|
||||
commentId: query.cid,
|
||||
}
|
||||
if(query.type == 'A_EV_2_'){
|
||||
if (query.type == 'A_EV_2_') {
|
||||
data.threadId = query.threadId
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/v1/comment/${query.t}`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/v1/comment/${query.t}`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -1,17 +1,22 @@
|
||||
// 歌曲评论
|
||||
|
||||
module.exports = (query, request) => {
|
||||
query.cookie.os = 'pc';
|
||||
query.cookie.os = 'pc'
|
||||
const data = {
|
||||
rid: query.id,
|
||||
limit: query.limit || 20,
|
||||
offset: query.offset || 0,
|
||||
beforeTime: query.before || 0
|
||||
};
|
||||
beforeTime: query.before || 0,
|
||||
}
|
||||
return request(
|
||||
'POST',
|
||||
`https://music.163.com/api/v1/resource/comments/R_SO_4_${query.id}`,
|
||||
data,
|
||||
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||
);
|
||||
};
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@ -6,10 +6,17 @@ module.exports = (query, request) => {
|
||||
rid: query.id,
|
||||
limit: query.limit || 20,
|
||||
offset: query.offset || 0,
|
||||
beforeTime: query.before || 0
|
||||
beforeTime: query.before || 0,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/v1/resource/comments/R_MV_5_${query.id}`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/v1/resource/comments/R_MV_5_${query.id}`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -6,10 +6,17 @@ module.exports = (query, request) => {
|
||||
rid: query.id,
|
||||
limit: query.limit || 20,
|
||||
offset: query.offset || 0,
|
||||
beforeTime: query.before || 0
|
||||
beforeTime: query.before || 0,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/v1/resource/comments/A_PL_0_${query.id}`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/v1/resource/comments/A_PL_0_${query.id}`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -6,10 +6,17 @@ module.exports = (query, request) => {
|
||||
rid: query.id,
|
||||
limit: query.limit || 20,
|
||||
offset: query.offset || 0,
|
||||
beforeTime: query.before || 0
|
||||
beforeTime: query.before || 0,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/v1/resource/comments/R_VI_62_${query.id}`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/v1/resource/comments/R_VI_62_${query.id}`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -2,12 +2,15 @@
|
||||
module.exports = (query, request) => {
|
||||
const data = {}
|
||||
return request(
|
||||
'POST', `http://interface3.music.163.com/eapi/lbs/countries/v1`, data,
|
||||
'POST',
|
||||
`http://interface3.music.163.com/eapi/lbs/countries/v1`,
|
||||
data,
|
||||
{
|
||||
crypto: 'eapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
url: '/api/lbs/countries/v1'
|
||||
url: '/api/lbs/countries/v1',
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -9,10 +9,12 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
type: query.type || 0
|
||||
type: query.type || 0,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/point/dailyTask`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
}
|
||||
return request('POST', `https://music.163.com/weapi/point/dailyTask`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -4,15 +4,24 @@ module.exports = (query, request) => {
|
||||
const data = {
|
||||
business: 'Album',
|
||||
paymentMethod: query.payment,
|
||||
digitalResources: JSON.stringify([{
|
||||
business: 'Album',
|
||||
resourceID: query.id,
|
||||
quantity: query.quantity,
|
||||
}]),
|
||||
from: 'web'
|
||||
digitalResources: JSON.stringify([
|
||||
{
|
||||
business: 'Album',
|
||||
resourceID: query.id,
|
||||
quantity: query.quantity,
|
||||
},
|
||||
]),
|
||||
from: 'web',
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/api/ordering/web/digital`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/api/ordering/web/digital`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -4,10 +4,17 @@ module.exports = (query, request) => {
|
||||
const data = {
|
||||
limit: query.limit || 30,
|
||||
offset: query.offset || 0,
|
||||
total: true
|
||||
total: true,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/api/digitalAlbum/purchased`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/api/digitalAlbum/purchased`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,17 @@
|
||||
// 电台banner
|
||||
|
||||
module.exports = (query, request) => {
|
||||
const data = {};
|
||||
query.cookie.os = 'pc';
|
||||
const data = {}
|
||||
query.cookie.os = 'pc'
|
||||
return request(
|
||||
'POST',
|
||||
`http://music.163.com/weapi/djradio/banner/get`,
|
||||
{},
|
||||
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||
);
|
||||
};
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@ -1,9 +1,15 @@
|
||||
// 电台非热门类型
|
||||
|
||||
module.exports = (query, request) => {
|
||||
|
||||
return request(
|
||||
'POST', `http://music.163.com/weapi/djradio/category/excludehot`, {},
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`http://music.163.com/weapi/djradio/category/excludehot`,
|
||||
{},
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
};
|
||||
}
|
||||
|
@ -1,9 +1,15 @@
|
||||
// 电台推荐类型
|
||||
|
||||
module.exports = (query, request) => {
|
||||
|
||||
return request(
|
||||
'POST', `http://music.163.com/weapi/djradio/home/category/recommend`, {},
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`http://music.163.com/weapi/djradio/home/category/recommend`,
|
||||
{},
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
};
|
||||
}
|
||||
|
@ -2,7 +2,14 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/djradio/category/get`, {},
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/djradio/category/get`,
|
||||
{},
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -2,10 +2,12 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
id: query.rid
|
||||
id: query.rid,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/djradio/get`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
}
|
||||
return request('POST', `https://music.163.com/weapi/djradio/get`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -3,10 +3,12 @@
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
limit: query.limit || 30,
|
||||
offset: query.offset || 0
|
||||
offset: query.offset || 0,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/djradio/hot/v1`, data,
|
||||
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||
)
|
||||
}
|
||||
return request('POST', `https://music.163.com/weapi/djradio/hot/v1`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -3,10 +3,17 @@
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
limit: query.limit || 30,
|
||||
offset: query.offset || 0
|
||||
offset: query.offset || 0,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/djradio/home/paygift/list?_nmclfl=1`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/djradio/home/paygift/list?_nmclfl=1`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -5,12 +5,17 @@ module.exports = (query, request) => {
|
||||
radioId: query.rid,
|
||||
limit: query.limit || 30,
|
||||
offset: query.offset || 0,
|
||||
asc: toBoolean(query.asc)
|
||||
asc: toBoolean(query.asc),
|
||||
}
|
||||
return request(
|
||||
'POST',
|
||||
`https://music.163.com/weapi/dj/program/byradio`,
|
||||
data,
|
||||
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@ -2,10 +2,17 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
id: query.id
|
||||
id: query.id,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/dj/program/detail`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/dj/program/detail`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -3,10 +3,12 @@
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
limit: query.limit || 100,
|
||||
offset: query.offset || 0
|
||||
offset: query.offset || 0,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/api/program/toplist/v1`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
}
|
||||
return request('POST', `https://music.163.com/api/program/toplist/v1`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -1,11 +1,18 @@
|
||||
// 电台24小时节目榜
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
limit: query.limit || 100
|
||||
limit: query.limit || 100,
|
||||
// 不支持 offset
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/api/djprogram/toplist/hours`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/api/djprogram/toplist/hours`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -4,10 +4,12 @@ module.exports = (query, request) => {
|
||||
const data = {
|
||||
cateId: query.cateId,
|
||||
limit: query.limit || 30,
|
||||
offset: query.offset || 0
|
||||
offset: query.offset || 0,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/api/djradio/hot`, data,
|
||||
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||
)
|
||||
}
|
||||
return request('POST', `https://music.163.com/api/djradio/hot`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -2,7 +2,14 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/djradio/recommend/v1`, {},
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/djradio/recommend/v1`,
|
||||
{},
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@ -25,10 +25,17 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
cateId: query.type
|
||||
cateId: query.type,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/djradio/recommend`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/djradio/recommend`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,19 @@
|
||||
// 订阅与取消电台
|
||||
|
||||
module.exports = (query, request) => {
|
||||
query.t = (query.t == 1 ? 'sub' : 'unsub')
|
||||
query.t = query.t == 1 ? 'sub' : 'unsub'
|
||||
const data = {
|
||||
id: query.rid
|
||||
id: query.rid,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/djradio/${query.t}`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/djradio/${query.t}`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -4,10 +4,17 @@ module.exports = (query, request) => {
|
||||
const data = {
|
||||
limit: query.limit || 30,
|
||||
offset: query.offset || 0,
|
||||
total: true
|
||||
total: true,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/djradio/get/subed`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/djradio/get/subed`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -2,10 +2,17 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
page: query.page || 0
|
||||
};
|
||||
page: query.page || 0,
|
||||
}
|
||||
return request(
|
||||
'POST', `http://music.163.com/weapi/djradio/home/today/perfered`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`http://music.163.com/weapi/djradio/home/today/perfered`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
};
|
||||
}
|
||||
|
@ -1,16 +1,18 @@
|
||||
// 新晋电台榜/热门电台榜
|
||||
const typeMap = {
|
||||
'new': 0,
|
||||
'hot': 1
|
||||
new: 0,
|
||||
hot: 1,
|
||||
}
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
limit: query.limit || 100,
|
||||
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,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
}
|
||||
return request('POST', `https://music.163.com/api/djradio/toplist`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -2,11 +2,13 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
limit: query.limit || 100
|
||||
limit: query.limit || 100,
|
||||
// 不支持 offset
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/api/dj/toplist/hours`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
}
|
||||
return request('POST', `https://music.163.com/api/dj/toplist/hours`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -2,10 +2,17 @@
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
limit: query.limit || 100,
|
||||
offset: query.offset || 0
|
||||
offset: query.offset || 0,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/api/dj/toplist/newcomer`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/api/dj/toplist/newcomer`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,18 @@
|
||||
// 付费精品
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
limit: query.limit || 100
|
||||
limit: query.limit || 100,
|
||||
// 不支持 offset
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/api/djradio/toplist/pay`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/api/djradio/toplist/pay`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -2,11 +2,13 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
limit: query.limit || 100
|
||||
limit: query.limit || 100,
|
||||
// 不支持 offset
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/api/dj/toplist/popular`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
}
|
||||
return request('POST', `https://music.163.com/api/dj/toplist/popular`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -2,11 +2,13 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
'pagesize': query.pagesize || 20,
|
||||
'lasttime': query.lasttime || -1
|
||||
pagesize: query.pagesize || 20,
|
||||
lasttime: query.lasttime || -1,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/v1/event/get`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
}
|
||||
return request('POST', `https://music.163.com/weapi/v1/event/get`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -4,8 +4,10 @@ module.exports = (query, request) => {
|
||||
const data = {
|
||||
id: query.evId,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/eapi/event/delete`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
}
|
||||
return request('POST', `https://music.163.com/eapi/event/delete`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -1,15 +1,16 @@
|
||||
// 转发动态
|
||||
|
||||
module.exports = (query, request) => {
|
||||
query.cookie.os = 'pc';
|
||||
query.cookie.os = 'pc'
|
||||
const data = {
|
||||
forwards: query.forwards,
|
||||
id: query.evId,
|
||||
eventUserId: query.uid
|
||||
};
|
||||
eventUserId: query.uid,
|
||||
}
|
||||
return request('POST', `https://music.163.com/weapi/event/forward`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy
|
||||
});
|
||||
};
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -2,10 +2,19 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
songId: query.id
|
||||
songId: query.id,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/radio/trash/add?alg=RT&songId=${query.id}&time=${query.time || 25}`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/radio/trash/add?alg=RT&songId=${
|
||||
query.id
|
||||
}&time=${query.time || 25}`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -2,9 +2,16 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
query.cookie.os = 'pc'
|
||||
query.t = (query.t == 1 ? 'follow' : 'delfollow')
|
||||
query.t = query.t == 1 ? 'follow' : 'delfollow'
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/user/${query.t}/${query.id}`, {},
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/user/${query.t}/${query.id}`,
|
||||
{},
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -2,10 +2,16 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
query.cookie.os = 'ios'
|
||||
const data = {
|
||||
}
|
||||
const data = {}
|
||||
return request(
|
||||
'POST', `https://music.163.com/api/discovery/recommend/songs/history/recent`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/api/discovery/recommend/songs/history/recent`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,14 @@ module.exports = (query, request) => {
|
||||
date: query.date || '',
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/api/discovery/recommend/songs/history/detail`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/api/discovery/recommend/songs/history/detail`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,17 @@
|
||||
// 首页-发现 block page
|
||||
// 这个接口为移动端接口,首页-发现页,数据结构可以参考 https://github.com/hcanyz/flutter-netease-music-api/blob/master/lib/src/api/uncategorized/bean.dart#L259 HomeBlockPageWrap
|
||||
// 这个接口为移动端接口,首页-发现页,数据结构可以参考 https://github.com/hcanyz/flutter-netease-music-api/blob/master/lib/src/api/uncategorized/bean.dart#L259 HomeBlockPageWrap
|
||||
// query.refresh 是否刷新数据
|
||||
module.exports = (query, request) => {
|
||||
const data = { 'refresh': query.refresh || true }
|
||||
const data = { refresh: query.refresh || true }
|
||||
return request(
|
||||
'POST', `https://music.163.com/api/homepage/block/page`, data,
|
||||
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||
'POST',
|
||||
`https://music.163.com/api/homepage/block/page`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -1,16 +1,19 @@
|
||||
// 首页-发现 dragon ball
|
||||
// 这个接口为移动端接口,首页-发现页(每日推荐、歌单、排行榜 那些入口)
|
||||
// 数据结构可以参考 https://github.com/hcanyz/flutter-netease-music-api/blob/master/lib/src/api/uncategorized/bean.dart#L290 HomeDragonBallWrap
|
||||
// 数据结构可以参考 https://github.com/hcanyz/flutter-netease-music-api/blob/master/lib/src/api/uncategorized/bean.dart#L290 HomeDragonBallWrap
|
||||
// !需要登录或者匿名登录,非登录返回 []
|
||||
module.exports = (query, request) => {
|
||||
const data = {}
|
||||
return request(
|
||||
'POST', `https://music.163.com/eapi/homepage/dragon/ball/static`, data,
|
||||
'POST',
|
||||
`https://music.163.com/eapi/homepage/dragon/ball/static`,
|
||||
data,
|
||||
{
|
||||
crypto: 'eapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
url: '/api/homepage/dragon/ball/static'
|
||||
url: '/api/homepage/dragon/ball/static',
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -3,10 +3,12 @@
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
limit: query.limit || 20,
|
||||
offset: query.offset || 0
|
||||
offset: query.offset || 0,
|
||||
}
|
||||
return request(
|
||||
'POST', `http://music.163.com/weapi/act/hot`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
};
|
||||
return request('POST', `http://music.163.com/weapi/act/hot`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -5,14 +5,19 @@ module.exports = (query, request) => {
|
||||
query.like = query.like == 'false' ? false : true
|
||||
const data = {
|
||||
trackId: query.id,
|
||||
like: query.like
|
||||
like: query.like,
|
||||
}
|
||||
return request(
|
||||
'POST',
|
||||
`https://music.163.com/weapi/radio/like?alg=${query.alg ||
|
||||
'itembased'}&trackId=${query.id}&time=${query.time ||
|
||||
25}`,
|
||||
`https://music.163.com/weapi/radio/like?alg=${
|
||||
query.alg || 'itembased'
|
||||
}&trackId=${query.id}&time=${query.time || 25}`,
|
||||
data,
|
||||
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@ -2,10 +2,12 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
uid: query.uid
|
||||
uid: query.uid,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/song/like/get`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
}
|
||||
return request('POST', `https://music.163.com/weapi/song/like/get`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -6,21 +6,31 @@ module.exports = async (query, request) => {
|
||||
query.cookie.os = 'pc'
|
||||
const data = {
|
||||
username: query.email,
|
||||
password: query.md5_password || crypto.createHash('md5').update(query.password).digest('hex'),
|
||||
rememberLogin: 'true'
|
||||
password:
|
||||
query.md5_password ||
|
||||
crypto.createHash('md5').update(query.password).digest('hex'),
|
||||
rememberLogin: 'true',
|
||||
}
|
||||
let result = await request(
|
||||
'POST', `https://music.163.com/weapi/login`, data,
|
||||
{ crypto: 'weapi', ua: 'pc', cookie: query.cookie, proxy: query.proxy }
|
||||
'POST',
|
||||
`https://music.163.com/weapi/login`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
ua: 'pc',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
if (result.body.code === 502) {
|
||||
return {
|
||||
status: 200,
|
||||
body: {
|
||||
'msg': '账号或密码错误',
|
||||
'code': 502,
|
||||
'message': '账号或密码错误'
|
||||
}
|
||||
msg: '账号或密码错误',
|
||||
code: 502,
|
||||
message: '账号或密码错误',
|
||||
},
|
||||
}
|
||||
}
|
||||
if (result.body.code === 200) {
|
||||
@ -28,10 +38,10 @@ module.exports = async (query, request) => {
|
||||
status: 200,
|
||||
body: {
|
||||
...result.body,
|
||||
cookie: result.cookie.join(';')
|
||||
cookie: result.cookie.join(';'),
|
||||
},
|
||||
cookie: result.cookie
|
||||
cookie: result.cookie,
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
@ -7,22 +7,32 @@ module.exports = async (query, request) => {
|
||||
const data = {
|
||||
phone: query.phone,
|
||||
countrycode: query.countrycode,
|
||||
password: query.md5_password || crypto.createHash('md5').update(query.password).digest('hex'),
|
||||
rememberLogin: 'true'
|
||||
password:
|
||||
query.md5_password ||
|
||||
crypto.createHash('md5').update(query.password).digest('hex'),
|
||||
rememberLogin: 'true',
|
||||
}
|
||||
let result = await request(
|
||||
'POST', `https://music.163.com/weapi/login/cellphone`, data,
|
||||
{crypto: 'weapi', ua: 'pc', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/login/cellphone`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
ua: 'pc',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
if (result.body.code === 200) {
|
||||
result = {
|
||||
status: 200,
|
||||
body: {
|
||||
...result.body,
|
||||
cookie: result.cookie.join(';')
|
||||
cookie: result.cookie.join(';'),
|
||||
},
|
||||
cookie: result.cookie
|
||||
cookie: result.cookie,
|
||||
}
|
||||
}
|
||||
return result
|
||||
|
@ -2,7 +2,15 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/login/token/refresh`, {},
|
||||
{crypto: 'weapi', ua: 'pc', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/login/token/refresh`,
|
||||
{},
|
||||
{
|
||||
crypto: 'weapi',
|
||||
ua: 'pc',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -2,20 +2,20 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
return request(
|
||||
'GET', `https://music.163.com`, {},
|
||||
{cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
.then(response => {
|
||||
try{
|
||||
let profile = eval(`(${/GUser\s*=\s*([^;]+);/.exec(response.body)[1]})`)
|
||||
let bindings = eval(`(${/GBinds\s*=\s*([^;]+);/.exec(response.body)[1]})`)
|
||||
response.body = {code: 200, profile: profile, bindings: bindings}
|
||||
return response
|
||||
}
|
||||
catch(err){
|
||||
response.status = 301
|
||||
response.body = {code: 301}
|
||||
return Promise.reject(response)
|
||||
}
|
||||
})
|
||||
}
|
||||
'GET',
|
||||
`https://music.163.com`,
|
||||
{},
|
||||
{ cookie: query.cookie, proxy: query.proxy, realIP: query.realIP }
|
||||
).then((response) => {
|
||||
try {
|
||||
let profile = eval(`(${/GUser\s*=\s*([^;]+);/.exec(response.body)[1]})`)
|
||||
let bindings = eval(`(${/GBinds\s*=\s*([^;]+);/.exec(response.body)[1]})`)
|
||||
response.body = { code: 200, profile: profile, bindings: bindings }
|
||||
return response
|
||||
} catch (err) {
|
||||
response.status = 301
|
||||
response.body = { code: 301 }
|
||||
return Promise.reject(response)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@ -2,7 +2,15 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/logout`, {},
|
||||
{crypto: 'weapi', ua: 'pc', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/logout`,
|
||||
{},
|
||||
{
|
||||
crypto: 'weapi',
|
||||
ua: 'pc',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -1,17 +1,17 @@
|
||||
// 歌词
|
||||
|
||||
module.exports = (query, request) => {
|
||||
query.cookie.os = 'pc';
|
||||
query.cookie.os = 'pc'
|
||||
const data = {
|
||||
id: query.id,
|
||||
lv: -1,
|
||||
kv: -1,
|
||||
tv: -1
|
||||
tv: -1,
|
||||
}
|
||||
return request(
|
||||
'POST',
|
||||
`https://music.163.com/api/song/lyric`,
|
||||
data,
|
||||
{ crypto: 'linuxapi', cookie: query.cookie, proxy: query.proxy }
|
||||
)
|
||||
return request('POST', `https://music.163.com/api/song/lyric`, data, {
|
||||
crypto: 'linuxapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -5,9 +5,9 @@ module.exports = (query, request) => {
|
||||
beforeTime: query.before || '-1',
|
||||
limit: query.limit || 30,
|
||||
total: 'true',
|
||||
uid: query.uid
|
||||
};
|
||||
|
||||
uid: query.uid,
|
||||
}
|
||||
|
||||
return request(
|
||||
'POST',
|
||||
`https://music.163.com/api/v1/user/comments/${query.uid}`,
|
||||
@ -15,7 +15,8 @@ module.exports = (query, request) => {
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
);
|
||||
};
|
||||
)
|
||||
}
|
||||
|
@ -4,11 +4,12 @@ module.exports = (query, request) => {
|
||||
const data = {
|
||||
offset: query.offset || 0,
|
||||
limit: query.limit || 30,
|
||||
total: 'true'
|
||||
};
|
||||
total: 'true',
|
||||
}
|
||||
return request('POST', `https://music.163.com/api/forwards/get`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy
|
||||
});
|
||||
};
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -3,11 +3,12 @@
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
limit: query.limit || 30,
|
||||
time: query.lasttime || -1
|
||||
};
|
||||
time: query.lasttime || -1,
|
||||
}
|
||||
return request('POST', `https://music.163.com/api/msg/notices`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy
|
||||
});
|
||||
};
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -5,10 +5,11 @@ module.exports = (query, request) => {
|
||||
offset: query.offset || 0,
|
||||
limit: query.limit || 30,
|
||||
total: 'true',
|
||||
};
|
||||
}
|
||||
return request('POST', `https://music.163.com/api/msg/private/users`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy
|
||||
});
|
||||
};
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -5,8 +5,8 @@ module.exports = (query, request) => {
|
||||
userId: query.uid,
|
||||
limit: query.limit || 30,
|
||||
time: query.before || 0,
|
||||
total: 'true'
|
||||
};
|
||||
total: 'true',
|
||||
}
|
||||
return request(
|
||||
'POST',
|
||||
`https://music.163.com/api/msg/private/history`,
|
||||
@ -14,7 +14,8 @@ module.exports = (query, request) => {
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
);
|
||||
};
|
||||
)
|
||||
}
|
||||
|
@ -5,15 +5,16 @@ module.exports = (query, request) => {
|
||||
tags: JSON.stringify({
|
||||
地区: query.area || '全部',
|
||||
类型: query.type || '全部',
|
||||
排序: query.order || '上升最快'
|
||||
排序: query.order || '上升最快',
|
||||
}),
|
||||
offset: query.offset || 0,
|
||||
total: 'true',
|
||||
limit: query.limit || 30
|
||||
};
|
||||
limit: query.limit || 30,
|
||||
}
|
||||
return request('POST', `https://interface.music.163.com/api/mv/all`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy
|
||||
});
|
||||
};
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -2,10 +2,12 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
id: query.mvid
|
||||
id: query.mvid,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/api/v1/mv/detail`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
}
|
||||
return request('POST', `https://music.163.com/api/v1/mv/detail`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -2,11 +2,18 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
'threadid': `R_MV_5_${query.mvid}`,
|
||||
'composeliked': true
|
||||
threadid: `R_MV_5_${query.mvid}`,
|
||||
composeliked: true,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/api/comment/commentthread/info`, data,
|
||||
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||
'POST',
|
||||
`https://music.163.com/api/comment/commentthread/info`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -3,8 +3,8 @@
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
offset: query.offset || 0,
|
||||
limit: query.limit || 30
|
||||
};
|
||||
limit: query.limit || 30,
|
||||
}
|
||||
return request(
|
||||
'POST',
|
||||
`https://interface.music.163.com/api/mv/exclusive/rcmd`,
|
||||
@ -12,7 +12,8 @@ module.exports = (query, request) => {
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
);
|
||||
};
|
||||
)
|
||||
}
|
||||
|
@ -5,11 +5,17 @@ module.exports = (query, request) => {
|
||||
// 'offset': query.offset || 0,
|
||||
area: query.area || '',
|
||||
limit: query.limit || 30,
|
||||
total: true
|
||||
};
|
||||
return request('POST', `https://interface.music.163.com/weapi/mv/first`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy
|
||||
});
|
||||
};
|
||||
total: true,
|
||||
}
|
||||
return request(
|
||||
'POST',
|
||||
`https://interface.music.163.com/weapi/mv/first`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@ -1,13 +1,15 @@
|
||||
// 收藏与取消收藏MV
|
||||
|
||||
module.exports = (query, request) => {
|
||||
query.t = (query.t == 1 ? 'sub' : 'unsub')
|
||||
query.t = query.t == 1 ? 'sub' : 'unsub'
|
||||
const data = {
|
||||
mvId: query.mvid,
|
||||
mvIds: '["' + query.mvid + '"]'
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/mv/${query.t}`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
)
|
||||
}
|
||||
mvIds: '["' + query.mvid + '"]',
|
||||
}
|
||||
return request('POST', `https://music.163.com/weapi/mv/${query.t}`, data, {
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
})
|
||||
}
|
||||
|
@ -4,10 +4,17 @@ module.exports = (query, request) => {
|
||||
const data = {
|
||||
limit: query.limit || 25,
|
||||
offset: query.offset || 0,
|
||||
total: true
|
||||
total: true,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/cloudvideo/allvideo/sublist`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/cloudvideo/allvideo/sublist`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -3,10 +3,17 @@
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
id: query.id,
|
||||
r: query.res || 1080
|
||||
r: query.res || 1080,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/song/enhance/play/mv/url`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/song/enhance/play/mv/url`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,14 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/v1/radio/get`, {},
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/v1/radio/get`,
|
||||
{},
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -5,10 +5,17 @@ module.exports = (query, request) => {
|
||||
limit: query.limit || 30,
|
||||
// offset: query.offset || 0,
|
||||
total: true,
|
||||
n: 1000
|
||||
n: 1000,
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/personalized/playlist`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/personalized/playlist`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,14 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/personalized/djprogram`, {},
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/personalized/djprogram`,
|
||||
{},
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,14 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/personalized/mv`, {},
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/personalized/mv`,
|
||||
{},
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
proxy: query.proxy,
|
||||
realIP: query.realIP,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -2,10 +2,17 @@
|
||||
|
||||
module.exports = (query, request) => {
|
||||
const data = {
|
||||
type: 'recommend'
|
||||
type: 'recommend',
|
||||
}
|
||||
return request(
|
||||
'POST', `https://music.163.com/weapi/personalized/newsong`, data,
|
||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||
'POST',
|
||||
`https://music.163.com/weapi/personalized/newsong`,
|
||||
data,
|
||||
{
|
||||
crypto: 'weapi',
|
||||
cookie: query.cookie,
|
||||
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