mirror of
https://gitlab.com/Binaryify/neteasecloudmusicapi.git
synced 2025-05-23 22:37:41 +08:00
add eslint
This commit is contained in:
parent
629533e674
commit
b98d611989
37
.eslintrc.js
Normal file
37
.eslintrc.js
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
module.exports = {
|
||||||
|
root: true,
|
||||||
|
|
||||||
|
parserOptions: {
|
||||||
|
parser: 'babel-eslint',
|
||||||
|
ecmaVersion: 2018,
|
||||||
|
sourceType: 'module'
|
||||||
|
},
|
||||||
|
|
||||||
|
env: {
|
||||||
|
browser: true
|
||||||
|
},
|
||||||
|
|
||||||
|
rules: {
|
||||||
|
indent: ['error', 2, { SwitchCase: 1 }],
|
||||||
|
'key-spacing': [
|
||||||
|
2,
|
||||||
|
{
|
||||||
|
beforeColon: false,
|
||||||
|
afterColon: true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'no-octal': 2,
|
||||||
|
'no-redeclare': 2,
|
||||||
|
'comma-spacing': 2,
|
||||||
|
'no-new-object': 2,
|
||||||
|
'arrow-spacing': 2,
|
||||||
|
quotes: [
|
||||||
|
2,
|
||||||
|
'single',
|
||||||
|
{
|
||||||
|
avoidEscape: true,
|
||||||
|
allowTemplateLiterals: true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
88
app.js
88
app.js
@ -3,44 +3,44 @@ const path = require('path')
|
|||||||
const express = require('express')
|
const express = require('express')
|
||||||
const bodyParser = require('body-parser')
|
const bodyParser = require('body-parser')
|
||||||
const request = require('./util/request')
|
const request = require('./util/request')
|
||||||
const package = require('./package.json')
|
const packageJSON = require('./package.json')
|
||||||
const exec = require('child_process').exec
|
const exec = require('child_process').exec
|
||||||
const cache = require('apicache').middleware
|
const cache = require('apicache').middleware
|
||||||
|
|
||||||
// version check
|
// version check
|
||||||
exec('npm info NeteaseCloudMusicApi version', (err, stdout, stderr) => {
|
exec('npm info NeteaseCloudMusicApi version', (err, stdout, stderr) => {
|
||||||
if(!err){
|
if(!err){
|
||||||
let version = stdout.trim()
|
let version = stdout.trim()
|
||||||
if(package.version < version){
|
if(packageJSON.version < version){
|
||||||
console.log(`最新版本: ${version}, 当前版本: ${package.version}, 请及时更新`)
|
console.log(`最新版本: ${version}, 当前版本: ${packageJSON.version}, 请及时更新`)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const app = express()
|
const app = express()
|
||||||
|
|
||||||
// CORS
|
// CORS
|
||||||
app.use((req, res, next) => {
|
app.use((req, res, next) => {
|
||||||
if(req.path !== '/' && !req.path.includes('.')){
|
if(req.path !== '/' && !req.path.includes('.')){
|
||||||
res.header({
|
res.header({
|
||||||
'Access-Control-Allow-Credentials': true,
|
'Access-Control-Allow-Credentials': true,
|
||||||
'Access-Control-Allow-Origin': req.headers.origin || '*',
|
'Access-Control-Allow-Origin': req.headers.origin || '*',
|
||||||
'Access-Control-Allow-Headers': 'X-Requested-With',
|
'Access-Control-Allow-Headers': 'X-Requested-With',
|
||||||
'Access-Control-Allow-Methods': 'PUT,POST,GET,DELETE,OPTIONS',
|
'Access-Control-Allow-Methods': 'PUT,POST,GET,DELETE,OPTIONS',
|
||||||
'Content-Type': 'application/json; charset=utf-8'
|
'Content-Type': 'application/json; charset=utf-8'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
next()
|
next()
|
||||||
})
|
})
|
||||||
|
|
||||||
// cookie parser
|
// cookie parser
|
||||||
app.use((req, res, next) => {
|
app.use((req, res, next) => {
|
||||||
req.cookies = {}, (req.headers.cookie || '').split(/\s*;\s*/).forEach(pair => {
|
req.cookies = {}, (req.headers.cookie || '').split(/\s*;\s*/).forEach(pair => {
|
||||||
let crack = pair.indexOf('=')
|
let crack = pair.indexOf('=')
|
||||||
if(crack < 1 || crack == pair.length - 1) return
|
if(crack < 1 || crack == pair.length - 1) return
|
||||||
req.cookies[decodeURIComponent(pair.slice(0, crack)).trim()] = decodeURIComponent(pair.slice(crack + 1)).trim()
|
req.cookies[decodeURIComponent(pair.slice(0, crack)).trim()] = decodeURIComponent(pair.slice(crack + 1)).trim()
|
||||||
})
|
})
|
||||||
next()
|
next()
|
||||||
})
|
})
|
||||||
|
|
||||||
// body parser
|
// body parser
|
||||||
@ -55,37 +55,37 @@ app.use(express.static(path.join(__dirname, 'public')))
|
|||||||
|
|
||||||
// router
|
// router
|
||||||
const special = {
|
const special = {
|
||||||
'daily_signin.js': '/daily_signin',
|
'daily_signin.js': '/daily_signin',
|
||||||
'fm_trash.js': '/fm_trash',
|
'fm_trash.js': '/fm_trash',
|
||||||
'personal_fm.js': '/personal_fm'
|
'personal_fm.js': '/personal_fm'
|
||||||
}
|
}
|
||||||
|
|
||||||
fs.readdirSync(path.join(__dirname, 'module')).reverse().forEach(file => {
|
fs.readdirSync(path.join(__dirname, 'module')).reverse().forEach(file => {
|
||||||
if(!(/\.js$/i.test(file))) return
|
if(!(/\.js$/i.test(file))) return
|
||||||
let route = (file in special) ? special[file] : '/' + file.replace(/\.js$/i, '').replace(/_/g, '/')
|
let route = (file in special) ? special[file] : '/' + file.replace(/\.js$/i, '').replace(/_/g, '/')
|
||||||
let question = require(path.join(__dirname, 'module', file))
|
let question = require(path.join(__dirname, 'module', file))
|
||||||
|
|
||||||
app.use(route, (req, res) => {
|
app.use(route, (req, res) => {
|
||||||
let query = Object.assign({}, req.query, req.body, {cookie: req.cookies})
|
let query = Object.assign({}, req.query, req.body, {cookie: req.cookies})
|
||||||
question(query, request)
|
question(query, request)
|
||||||
.then(answer => {
|
.then(answer => {
|
||||||
console.log('[OK]', decodeURIComponent(req.originalUrl))
|
console.log('[OK]', decodeURIComponent(req.originalUrl))
|
||||||
res.append('Set-Cookie', answer.cookie)
|
res.append('Set-Cookie', answer.cookie)
|
||||||
res.status(answer.status).send(answer.body)
|
res.status(answer.status).send(answer.body)
|
||||||
})
|
})
|
||||||
.catch(answer => {
|
.catch(answer => {
|
||||||
console.log('[ERR]', decodeURIComponent(req.originalUrl))
|
console.log('[ERR]', decodeURIComponent(req.originalUrl))
|
||||||
if(answer.body.code =='301') answer.body.msg = '需要登录'
|
if(answer.body.code =='301') answer.body.msg = '需要登录'
|
||||||
res.append('Set-Cookie', answer.cookie)
|
res.append('Set-Cookie', answer.cookie)
|
||||||
res.status(answer.status).send(answer.body)
|
res.status(answer.status).send(answer.body)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
const port = process.env.PORT || 3000
|
const port = process.env.PORT || 3000
|
||||||
|
|
||||||
app.server = app.listen(port, () => {
|
app.server = app.listen(port, () => {
|
||||||
console.log(`server running @ http://localhost:${port}`)
|
console.log(`server running @ http://localhost:${port}`)
|
||||||
})
|
})
|
||||||
|
|
||||||
module.exports = app
|
module.exports = app
|
||||||
|
@ -5,11 +5,11 @@ module.exports = (query, request) => {
|
|||||||
nickname: query.nickname
|
nickname: query.nickname
|
||||||
};
|
};
|
||||||
return request(
|
return request(
|
||||||
"POST",
|
'POST',
|
||||||
`http://music.163.com/eapi/activate/initProfile`,
|
`http://music.163.com/eapi/activate/initProfile`,
|
||||||
data,
|
data,
|
||||||
{
|
{
|
||||||
crypto: "eapi",
|
crypto: 'eapi',
|
||||||
cookie: query.cookie,
|
cookie: query.cookie,
|
||||||
proxy: query.proxy,
|
proxy: query.proxy,
|
||||||
url: '/api/activate/initProfile'
|
url: '/api/activate/initProfile'
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// 专辑内容
|
// 专辑内容
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/v1/album/${query.id}`, {},
|
'POST', `https://music.163.com/weapi/v1/album/${query.id}`, {},
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -2,11 +2,11 @@
|
|||||||
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`,
|
`https://music.163.com/api/album/detail/dynamic`,
|
||||||
data,
|
data,
|
||||||
{ crypto: "weapi", cookie: query.cookie, proxy: query.proxy }
|
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||||
);
|
)
|
||||||
};
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// 最新专辑
|
// 最新专辑
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/api/discovery/newAlbum`, {},
|
'POST', `https://music.163.com/api/discovery/newAlbum`, {},
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
// 已收藏专辑列表
|
// 已收藏专辑列表
|
||||||
|
|
||||||
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('POST', `https://music.163.com/api/album/${query.t}`, data, {
|
||||||
crypto: "weapi",
|
crypto: 'weapi',
|
||||||
cookie: query.cookie,
|
cookie: query.cookie,
|
||||||
proxy: query.proxy
|
proxy: query.proxy
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
// 已收藏专辑列表
|
// 已收藏专辑列表
|
||||||
|
|
||||||
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(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/album/sublist`, data,
|
'POST', `https://music.163.com/weapi/album/sublist`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,13 +1,13 @@
|
|||||||
// 歌手专辑列表
|
// 歌手专辑列表
|
||||||
|
|
||||||
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,
|
||||||
total: true
|
total: true
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/artist/albums/${query.id}`, data,
|
'POST', `https://music.163.com/weapi/artist/albums/${query.id}`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,11 +1,11 @@
|
|||||||
// 歌手介绍
|
// 歌手介绍
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.id
|
id: query.id
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/artist/introduction`, data,
|
'POST', `https://music.163.com/weapi/artist/introduction`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -23,15 +23,15 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
categoryCode: query.cat || '1001',
|
categoryCode: query.cat || '1001',
|
||||||
initial: (query.initial || '').toUpperCase().charCodeAt() || '',
|
initial: (query.initial || '').toUpperCase().charCodeAt() || '',
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
limit: query.limit || 30,
|
limit: query.limit || 30,
|
||||||
total: true
|
total: true
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/artist/list`, data,
|
'POST', `https://music.163.com/weapi/artist/list`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,14 +1,14 @@
|
|||||||
// 歌手相关MV
|
// 歌手相关MV
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
artistId: query.id,
|
artistId: query.id,
|
||||||
limit: query.limit,
|
limit: query.limit,
|
||||||
offset: query.offset,
|
offset: query.offset,
|
||||||
total: true
|
total: true
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/artist/mvs`, data,
|
'POST', `https://music.163.com/weapi/artist/mvs`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,13 +1,13 @@
|
|||||||
// 收藏与取消收藏歌手
|
// 收藏与取消收藏歌手
|
||||||
|
|
||||||
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 = {
|
||||||
artistId: query.id,
|
artistId: query.id,
|
||||||
artistIds: '[' + query.id + ']'
|
artistIds: '[' + query.id + ']'
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/artist/${query.t}`, data,
|
'POST', `https://music.163.com/weapi/artist/${query.t}`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,13 +1,13 @@
|
|||||||
// 关注歌手列表
|
// 关注歌手列表
|
||||||
|
|
||||||
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(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/artist/sublist`, data,
|
'POST', `https://music.163.com/weapi/artist/sublist`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,8 +1,8 @@
|
|||||||
// 歌手单曲
|
// 歌手单曲
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/v1/artist/${query.id}`, {},
|
'POST', `https://music.163.com/weapi/v1/artist/${query.id}`, {},
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,14 +1,14 @@
|
|||||||
// 首页轮播图
|
// 首页轮播图
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const type = {
|
const type = {
|
||||||
0: 'pc',
|
0: 'pc',
|
||||||
1: 'android',
|
1: 'android',
|
||||||
2: 'iphone',
|
2: 'iphone',
|
||||||
3: 'ipad'
|
3: 'ipad'
|
||||||
}[query.type || 0] || 'pc';
|
}[query.type || 0] || 'pc';
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/api/v2/banner/get`, {clientType: type},
|
'POST', `https://music.163.com/api/v2/banner/get`, {clientType: type},
|
||||||
{crypto: 'linuxapi', proxy: query.proxy}
|
{crypto: 'linuxapi', proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,6 +1,6 @@
|
|||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
"e_r": true
|
'e_r': true
|
||||||
};
|
};
|
||||||
Object.keys(query).forEach(i => {
|
Object.keys(query).forEach(i => {
|
||||||
if (/^\/api\//.test(i)) {
|
if (/^\/api\//.test(i)) {
|
||||||
|
@ -5,11 +5,11 @@ module.exports = (query, request) => {
|
|||||||
cellphone: query.phone
|
cellphone: query.phone
|
||||||
};
|
};
|
||||||
return request(
|
return request(
|
||||||
"POST",
|
'POST',
|
||||||
`http://music.163.com/eapi/cellphone/existence/check`,
|
`http://music.163.com/eapi/cellphone/existence/check`,
|
||||||
data,
|
data,
|
||||||
{
|
{
|
||||||
crypto: "eapi",
|
crypto: 'eapi',
|
||||||
cookie: query.cookie,
|
cookie: query.cookie,
|
||||||
proxy: query.proxy,
|
proxy: query.proxy,
|
||||||
url: '/api/cellphone/existence/check'
|
url: '/api/cellphone/existence/check'
|
||||||
|
@ -1,29 +1,29 @@
|
|||||||
// 歌曲可用性
|
// 歌曲可用性
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
ids: '[' + parseInt(query.id) + ']',
|
ids: '[' + parseInt(query.id) + ']',
|
||||||
br: parseInt(query.br || 999000)
|
br: parseInt(query.br || 999000)
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/song/enhance/player/url`, data,
|
'POST', `https://music.163.com/weapi/song/enhance/player/url`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
.then(response => {
|
.then(response => {
|
||||||
let playable = false
|
let playable = false
|
||||||
if(response.body.code == 200){
|
if(response.body.code == 200){
|
||||||
if(response.body.data[0].code == 200){
|
if(response.body.data[0].code == 200){
|
||||||
playable = true
|
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)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
@ -1,30 +1,30 @@
|
|||||||
// 发送与删除评论
|
// 发送与删除评论
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
query.t = (query.t == 1 ? 'add' : 'delete')
|
query.t = (query.t == 1 ? 'add' : 'delete')
|
||||||
query.type = {
|
query.type = {
|
||||||
0: 'R_SO_4_', // 歌曲
|
0: 'R_SO_4_', // 歌曲
|
||||||
1: 'R_MV_5_', // MV
|
1: 'R_MV_5_', // MV
|
||||||
2: 'A_PL_0_', // 歌单
|
2: 'A_PL_0_', // 歌单
|
||||||
3: 'R_AL_3_', // 专辑
|
3: 'R_AL_3_', // 专辑
|
||||||
4: 'A_DJ_1_', // 电台,
|
4: 'A_DJ_1_', // 电台,
|
||||||
5: 'R_VI_62_',// 视频
|
5: 'R_VI_62_', // 视频
|
||||||
6: 'A_EV_2_' // 动态
|
6: 'A_EV_2_' // 动态
|
||||||
}[query.type]
|
}[query.type]
|
||||||
const data = {
|
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
|
data.threadId = query.threadId
|
||||||
}
|
}
|
||||||
if(query.t == 'add')
|
if(query.t == 'add')
|
||||||
data.content = query.content
|
data.content = query.content
|
||||||
else if(query.t == 'delete')
|
else if(query.t == 'delete')
|
||||||
data.commentId = query.commentId
|
data.commentId = query.commentId
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/resource/comments/${query.t}`, data,
|
'POST', `https://music.163.com/weapi/resource/comments/${query.t}`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,15 +1,15 @@
|
|||||||
// 专辑评论
|
// 专辑评论
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
const data = {
|
const data = {
|
||||||
rid: query.id,
|
rid: query.id,
|
||||||
limit: query.limit || 20,
|
limit: query.limit || 20,
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
beforeTime: query.before || 0
|
beforeTime: query.before || 0
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/v1/resource/comments/R_AL_3_${query.id}`, data,
|
'POST', `https://music.163.com/weapi/v1/resource/comments/R_AL_3_${query.id}`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,15 +1,15 @@
|
|||||||
// 电台评论
|
// 电台评论
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
const data = {
|
const data = {
|
||||||
rid: query.id,
|
rid: query.id,
|
||||||
limit: query.limit || 20,
|
limit: query.limit || 20,
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
beforeTime: query.before|| 0
|
beforeTime: query.before|| 0
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/v1/resource/comments/A_DJ_1_${query.id}`, data,
|
'POST', `https://music.163.com/weapi/v1/resource/comments/A_DJ_1_${query.id}`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -5,9 +5,9 @@ module.exports = (query, request) => {
|
|||||||
beforeTime: query.before|| 0
|
beforeTime: query.before|| 0
|
||||||
};
|
};
|
||||||
return request(
|
return request(
|
||||||
"POST",
|
'POST',
|
||||||
`https://music.163.com/weapi/v1/resource/comments/${query.threadId}`,
|
`https://music.163.com/weapi/v1/resource/comments/${query.threadId}`,
|
||||||
data,
|
data,
|
||||||
{ crypto: "weapi", cookie: query.cookie, proxy: query.proxy }
|
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
// 热门评论
|
// 热门评论
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
query.type = {
|
query.type = {
|
||||||
0: 'R_SO_4_', // 歌曲
|
0: 'R_SO_4_', // 歌曲
|
||||||
1: 'R_MV_5_', // MV
|
1: 'R_MV_5_', // MV
|
||||||
2: 'A_PL_0_', // 歌单
|
2: 'A_PL_0_', // 歌单
|
||||||
3: 'R_AL_3_', // 专辑
|
3: 'R_AL_3_', // 专辑
|
||||||
4: 'A_DJ_1_', // 电台,
|
4: 'A_DJ_1_', // 电台,
|
||||||
5: 'R_VI_62_' // 视频
|
5: 'R_VI_62_' // 视频
|
||||||
}[query.type]
|
}[query.type]
|
||||||
const data = {
|
const data = {
|
||||||
rid: query.id,
|
rid: query.id,
|
||||||
limit: query.limit || 20,
|
limit: query.limit || 20,
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
beforeTime: query.before|| 0
|
beforeTime: query.before|| 0
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/v1/resource/hotcomments/${query.type}${query.id}`, data,
|
'POST', `https://music.163.com/weapi/v1/resource/hotcomments/${query.type}${query.id}`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,26 +1,26 @@
|
|||||||
// 点赞与取消点赞评论
|
// 点赞与取消点赞评论
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
query.t = (query.t == 1 ? 'like' : 'unlike')
|
query.t = (query.t == 1 ? 'like' : 'unlike')
|
||||||
query.type = {
|
query.type = {
|
||||||
0: 'R_SO_4_', // 歌曲
|
0: 'R_SO_4_', // 歌曲
|
||||||
1: 'R_MV_5_', // MV
|
1: 'R_MV_5_', // MV
|
||||||
2: 'A_PL_0_', // 歌单
|
2: 'A_PL_0_', // 歌单
|
||||||
3: 'R_AL_3_', // 专辑
|
3: 'R_AL_3_', // 专辑
|
||||||
4: 'A_DJ_1_', // 电台,
|
4: 'A_DJ_1_', // 电台,
|
||||||
5: 'R_VI_62_',// 视频
|
5: 'R_VI_62_', // 视频
|
||||||
6: 'A_EV_2_' // 动态
|
6: 'A_EV_2_' // 动态
|
||||||
}[query.type]
|
}[query.type]
|
||||||
const data = {
|
const data = {
|
||||||
threadId: query.type + query.id,
|
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
|
data.threadId = query.threadId
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/v1/comment/${query.t}`, data,
|
'POST', `https://music.163.com/weapi/v1/comment/${query.t}`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,7 +1,7 @@
|
|||||||
// 歌曲评论
|
// 歌曲评论
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = "pc";
|
query.cookie.os = 'pc';
|
||||||
const data = {
|
const data = {
|
||||||
rid: query.id,
|
rid: query.id,
|
||||||
limit: query.limit || 20,
|
limit: query.limit || 20,
|
||||||
@ -9,9 +9,9 @@ module.exports = (query, request) => {
|
|||||||
beforeTime: query.before|| 0
|
beforeTime: query.before|| 0
|
||||||
};
|
};
|
||||||
return request(
|
return request(
|
||||||
"POST",
|
'POST',
|
||||||
`https://music.163.com/api/v1/resource/comments/R_SO_4_${query.id}`,
|
`https://music.163.com/api/v1/resource/comments/R_SO_4_${query.id}`,
|
||||||
data,
|
data,
|
||||||
{ crypto: "weapi", cookie: query.cookie, proxy: query.proxy }
|
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
// MV评论
|
// MV评论
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
const data = {
|
const data = {
|
||||||
rid: query.id,
|
rid: query.id,
|
||||||
limit: query.limit || 20,
|
limit: query.limit || 20,
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
beforeTime: query.before|| 0
|
beforeTime: query.before|| 0
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/v1/resource/comments/R_MV_5_${query.id}`, data,
|
'POST', `https://music.163.com/weapi/v1/resource/comments/R_MV_5_${query.id}`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,15 +1,15 @@
|
|||||||
// 歌单评论
|
// 歌单评论
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
const data = {
|
const data = {
|
||||||
rid: query.id,
|
rid: query.id,
|
||||||
limit: query.limit || 20,
|
limit: query.limit || 20,
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
beforeTime: query.before|| 0
|
beforeTime: query.before|| 0
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/v1/resource/comments/A_PL_0_${query.id}`, data,
|
'POST', `https://music.163.com/weapi/v1/resource/comments/A_PL_0_${query.id}`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,15 +1,15 @@
|
|||||||
// 视频评论
|
// 视频评论
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
const data = {
|
const data = {
|
||||||
rid: query.id,
|
rid: query.id,
|
||||||
limit: query.limit || 20,
|
limit: query.limit || 20,
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
beforeTime: query.before|| 0
|
beforeTime: query.before|| 0
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/v1/resource/comments/R_VI_62_${query.id}`, data,
|
'POST', `https://music.163.com/weapi/v1/resource/comments/R_VI_62_${query.id}`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -8,11 +8,11 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
type: query.type || 0
|
type: query.type || 0
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/point/dailyTask`, data,
|
'POST', `https://music.163.com/weapi/point/dailyTask`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,13 +1,13 @@
|
|||||||
// 我的数字专辑
|
// 我的数字专辑
|
||||||
|
|
||||||
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,
|
||||||
total: true
|
total: true
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/api/digitalAlbum/purchased`, data,
|
'POST', `https://music.163.com/api/digitalAlbum/purchased`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -3,9 +3,9 @@
|
|||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {};
|
const data = {};
|
||||||
return request(
|
return request(
|
||||||
"POST",
|
'POST',
|
||||||
`http://music.163.com/weapi/djradio/banner/get`,
|
`http://music.163.com/weapi/djradio/banner/get`,
|
||||||
{},
|
{},
|
||||||
{ crypto: "weapi", cookie: query.cookie, proxy: query.proxy }
|
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// 电台分类列表
|
// 电台分类列表
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/djradio/category/get`, {},
|
'POST', `https://music.163.com/weapi/djradio/category/get`, {},
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,11 +1,11 @@
|
|||||||
// 电台详情
|
// 电台详情
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.rid
|
id: query.rid
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/djradio/get`, data,
|
'POST', `https://music.163.com/weapi/djradio/get`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,17 +1,17 @@
|
|||||||
// 热门电台
|
// 热门电台
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
cat: query.type,
|
cat: query.type,
|
||||||
cateId: query.type,
|
cateId: query.type,
|
||||||
type: query.type,
|
type: query.type,
|
||||||
categoryId: query.type,
|
categoryId: query.type,
|
||||||
category: query.type,
|
category: query.type,
|
||||||
limit: query.limit,
|
limit: query.limit,
|
||||||
offset: query.offset
|
offset: query.offset
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/djradio/hot/v1`, data,
|
'POST', `https://music.163.com/weapi/djradio/hot/v1`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,12 +1,12 @@
|
|||||||
// 付费电台
|
// 付费电台
|
||||||
|
|
||||||
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(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/djradio/home/paygift/list?_nmclfl=1`, data,
|
'POST', `https://music.163.com/weapi/djradio/home/paygift/list?_nmclfl=1`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,11 +1,11 @@
|
|||||||
// 电台节目详情
|
// 电台节目详情
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.id
|
id: query.id
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/dj/program/detail`, data,
|
'POST', `https://music.163.com/weapi/dj/program/detail`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,8 +1,8 @@
|
|||||||
// 精选电台
|
// 精选电台
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/djradio/recommend/v1`, {},
|
'POST', `https://music.163.com/weapi/djradio/recommend/v1`, {},
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -24,11 +24,11 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
cateId: query.type
|
cateId: query.type
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/djradio/recommend`, data,
|
'POST', `https://music.163.com/weapi/djradio/recommend`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,12 +1,12 @@
|
|||||||
// 订阅与取消电台
|
// 订阅与取消电台
|
||||||
|
|
||||||
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.rid
|
id: query.rid
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/djradio/${query.t}`, data,
|
'POST', `https://music.163.com/weapi/djradio/${query.t}`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,13 +1,13 @@
|
|||||||
// 订阅电台列表
|
// 订阅电台列表
|
||||||
|
|
||||||
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,
|
||||||
total: true
|
total: true
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/djradio/get/subed`, data,
|
'POST', `https://music.163.com/weapi/djradio/get/subed`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,12 +1,12 @@
|
|||||||
// 动态
|
// 动态
|
||||||
|
|
||||||
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(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/v1/event/get`, data,
|
'POST', `https://music.163.com/weapi/v1/event/get`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,11 +1,11 @@
|
|||||||
// 删除动态
|
// 删除动态
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.evId,
|
id: query.evId,
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/eapi/event/delete`, data,
|
'POST', `https://music.163.com/eapi/event/delete`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,14 +1,14 @@
|
|||||||
// 转发动态
|
// 转发动态
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = "pc";
|
query.cookie.os = 'pc';
|
||||||
const data = {
|
const data = {
|
||||||
forwards: query.forwards,
|
forwards: query.forwards,
|
||||||
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('POST', `https://music.163.com/weapi/event/forward`, data, {
|
||||||
crypto: "weapi",
|
crypto: 'weapi',
|
||||||
cookie: query.cookie,
|
cookie: query.cookie,
|
||||||
proxy: query.proxy
|
proxy: query.proxy
|
||||||
});
|
});
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
// 垃圾桶
|
// 垃圾桶
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
songId: query.id
|
songId: query.id
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/radio/trash/add?alg=RT&songId=${query.id}&time=${query.time || 25}`, data,
|
'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}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,10 +1,10 @@
|
|||||||
// 关注与取消关注用户
|
// 关注与取消关注用户
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
query.t = (query.t == 1 ? 'follow' : 'delfollow')
|
query.t = (query.t == 1 ? 'follow' : 'delfollow')
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/user/${query.t}/${query.id}`, {},
|
'POST', `https://music.163.com/weapi/user/${query.t}/${query.id}`, {},
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,11 +1,11 @@
|
|||||||
// 喜欢的歌曲(无序)
|
// 喜欢的歌曲(无序)
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
uid: query.uid
|
uid: query.uid
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/song/like/get`, data,
|
'POST', `https://music.163.com/weapi/song/like/get`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -3,14 +3,14 @@
|
|||||||
const crypto = require('crypto')
|
const crypto = require('crypto')
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
const data = {
|
const data = {
|
||||||
username: query.email,
|
username: query.email,
|
||||||
password: crypto.createHash('md5').update(query.password).digest('hex'),
|
password: crypto.createHash('md5').update(query.password).digest('hex'),
|
||||||
rememberLogin: 'true'
|
rememberLogin: 'true'
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/login`, data,
|
'POST', `https://music.163.com/weapi/login`, data,
|
||||||
{crypto: 'weapi', ua: 'pc', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', ua: 'pc', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -3,15 +3,15 @@
|
|||||||
const crypto = require('crypto')
|
const crypto = require('crypto')
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
const data = {
|
const data = {
|
||||||
phone: query.phone,
|
phone: query.phone,
|
||||||
countrycode: query.countrycode,
|
countrycode: query.countrycode,
|
||||||
password: crypto.createHash('md5').update(query.password).digest('hex'),
|
password: crypto.createHash('md5').update(query.password).digest('hex'),
|
||||||
rememberLogin: 'true'
|
rememberLogin: 'true'
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/login/cellphone`, data,
|
'POST', `https://music.163.com/weapi/login/cellphone`, data,
|
||||||
{crypto: 'weapi', ua: 'pc', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', ua: 'pc', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// 登录刷新
|
// 登录刷新
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/login/token/refresh`, {},
|
'POST', `https://music.163.com/weapi/login/token/refresh`, {},
|
||||||
{crypto: 'weapi', ua: 'pc', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', ua: 'pc', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,21 +1,21 @@
|
|||||||
// 登录状态
|
// 登录状态
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'GET', `https://music.163.com`, {},
|
'GET', `https://music.163.com`, {},
|
||||||
{cookie: query.cookie, proxy: query.proxy}
|
{cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
.then(response => {
|
.then(response => {
|
||||||
try{
|
try{
|
||||||
let profile = eval(`(${/GUser\s*=\s*([^;]+);/.exec(response.body)[1]})`)
|
let profile = eval(`(${/GUser\s*=\s*([^;]+);/.exec(response.body)[1]})`)
|
||||||
let bindings = eval(`(${/GBinds\s*=\s*([^;]+);/.exec(response.body)[1]})`)
|
let bindings = eval(`(${/GBinds\s*=\s*([^;]+);/.exec(response.body)[1]})`)
|
||||||
response.body = {code: 200, profile: profile, bindings: bindings}
|
response.body = {code: 200, profile: profile, bindings: bindings}
|
||||||
return response
|
return response
|
||||||
}
|
}
|
||||||
catch(err){
|
catch(err){
|
||||||
response.status = 301
|
response.status = 301
|
||||||
response.body = {code: 301}
|
response.body = {code: 301}
|
||||||
return Promise.reject(response)
|
return Promise.reject(response)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
@ -1,8 +1,8 @@
|
|||||||
// 退出登录
|
// 退出登录
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/logout`, {},
|
'POST', `https://music.163.com/weapi/logout`, {},
|
||||||
{crypto: 'weapi', ua: 'pc', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', ua: 'pc', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,11 +1,11 @@
|
|||||||
// 歌词
|
// 歌词
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data={
|
const data={
|
||||||
id:query.id
|
id: query.id
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/song/lyric?lv=-1&kv=-1&tv=-1`, data,
|
'POST', `https://music.163.com/weapi/song/lyric?lv=-1&kv=-1&tv=-1`, data,
|
||||||
{crypto: 'linuxapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'linuxapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -2,18 +2,18 @@
|
|||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
beforeTime: query.before || "-1",
|
beforeTime: query.before || '-1',
|
||||||
limit: query.limit || 30,
|
limit: query.limit || 30,
|
||||||
total: "true",
|
total: 'true',
|
||||||
uid: query.uid
|
uid: query.uid
|
||||||
};
|
};
|
||||||
|
|
||||||
return request(
|
return request(
|
||||||
"POST",
|
'POST',
|
||||||
`https://music.163.com/api/v1/user/comments/${query.uid}`,
|
`https://music.163.com/api/v1/user/comments/${query.uid}`,
|
||||||
data,
|
data,
|
||||||
{
|
{
|
||||||
crypto: "weapi",
|
crypto: 'weapi',
|
||||||
cookie: query.cookie,
|
cookie: query.cookie,
|
||||||
proxy: query.proxy
|
proxy: query.proxy
|
||||||
}
|
}
|
||||||
|
@ -4,10 +4,10 @@ module.exports = (query, request) => {
|
|||||||
const data = {
|
const data = {
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
limit: query.limit || 30,
|
limit: query.limit || 30,
|
||||||
total: "true"
|
total: 'true'
|
||||||
};
|
};
|
||||||
return request("POST", `https://music.163.com/api/forwards/get`, data, {
|
return request('POST', `https://music.163.com/api/forwards/get`, data, {
|
||||||
crypto: "weapi",
|
crypto: 'weapi',
|
||||||
cookie: query.cookie,
|
cookie: query.cookie,
|
||||||
proxy: query.proxy
|
proxy: query.proxy
|
||||||
});
|
});
|
||||||
|
@ -4,10 +4,10 @@ module.exports = (query, request) => {
|
|||||||
const data = {
|
const data = {
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
limit: query.limit || 30,
|
limit: query.limit || 30,
|
||||||
total: "true",
|
total: 'true',
|
||||||
};
|
};
|
||||||
return request("POST", `https://music.163.com/api/msg/notices`, data, {
|
return request('POST', `https://music.163.com/api/msg/notices`, data, {
|
||||||
crypto: "weapi",
|
crypto: 'weapi',
|
||||||
cookie: query.cookie,
|
cookie: query.cookie,
|
||||||
proxy: query.proxy
|
proxy: query.proxy
|
||||||
});
|
});
|
||||||
|
@ -4,10 +4,10 @@ module.exports = (query, request) => {
|
|||||||
const data = {
|
const data = {
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
limit: query.limit || 30,
|
limit: query.limit || 30,
|
||||||
total: "true",
|
total: 'true',
|
||||||
};
|
};
|
||||||
return request("POST", `https://music.163.com/api/msg/private/users`, data, {
|
return request('POST', `https://music.163.com/api/msg/private/users`, data, {
|
||||||
crypto: "weapi",
|
crypto: 'weapi',
|
||||||
cookie: query.cookie,
|
cookie: query.cookie,
|
||||||
proxy: query.proxy
|
proxy: query.proxy
|
||||||
});
|
});
|
||||||
|
@ -5,14 +5,14 @@ module.exports = (query, request) => {
|
|||||||
userId: query.uid,
|
userId: query.uid,
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
limit: query.limit || 30,
|
limit: query.limit || 30,
|
||||||
total: "true"
|
total: 'true'
|
||||||
};
|
};
|
||||||
return request(
|
return request(
|
||||||
"POST",
|
'POST',
|
||||||
`https://music.163.com/api/msg/private/history`,
|
`https://music.163.com/api/msg/private/history`,
|
||||||
data,
|
data,
|
||||||
{
|
{
|
||||||
crypto: "weapi",
|
crypto: 'weapi',
|
||||||
cookie: query.cookie,
|
cookie: query.cookie,
|
||||||
proxy: query.proxy
|
proxy: query.proxy
|
||||||
}
|
}
|
||||||
|
@ -3,16 +3,16 @@
|
|||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
tags: JSON.stringify({
|
tags: JSON.stringify({
|
||||||
地区: query.area || "全部",
|
地区: query.area || '全部',
|
||||||
类型: query.type || "全部",
|
类型: query.type || '全部',
|
||||||
排序: query.order || "上升最快"
|
排序: query.order || '上升最快'
|
||||||
}),
|
}),
|
||||||
offset: query.offset || 0,
|
offset: query.offset || 0,
|
||||||
total: "true",
|
total: 'true',
|
||||||
limit: query.limit || 30
|
limit: query.limit || 30
|
||||||
};
|
};
|
||||||
return request("POST", `https://interface.music.163.com/api/mv/all`, data, {
|
return request('POST', `https://interface.music.163.com/api/mv/all`, data, {
|
||||||
crypto: "weapi",
|
crypto: 'weapi',
|
||||||
cookie: query.cookie,
|
cookie: query.cookie,
|
||||||
proxy: query.proxy
|
proxy: query.proxy
|
||||||
});
|
});
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
// MV详情
|
// MV详情
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.mvid
|
id: query.mvid
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/mv/detail`, data,
|
'POST', `https://music.163.com/weapi/mv/detail`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -6,11 +6,11 @@ module.exports = (query, request) => {
|
|||||||
limit: query.limit || 30
|
limit: query.limit || 30
|
||||||
};
|
};
|
||||||
return request(
|
return request(
|
||||||
"POST",
|
'POST',
|
||||||
`https://interface.music.163.com/api/mv/exclusive/rcmd`,
|
`https://interface.music.163.com/api/mv/exclusive/rcmd`,
|
||||||
data,
|
data,
|
||||||
{
|
{
|
||||||
crypto: "weapi",
|
crypto: 'weapi',
|
||||||
cookie: query.cookie,
|
cookie: query.cookie,
|
||||||
proxy: query.proxy
|
proxy: query.proxy
|
||||||
}
|
}
|
||||||
|
@ -3,12 +3,12 @@
|
|||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
// 'offset': query.offset || 0,
|
// 'offset': query.offset || 0,
|
||||||
area: query.area || "",
|
area: query.area || '',
|
||||||
limit: query.limit || 30,
|
limit: query.limit || 30,
|
||||||
total: true
|
total: true
|
||||||
};
|
};
|
||||||
return request("POST", `https://interface.music.163.com/weapi/mv/first`, data, {
|
return request('POST', `https://interface.music.163.com/weapi/mv/first`, data, {
|
||||||
crypto: "weapi",
|
crypto: 'weapi',
|
||||||
cookie: query.cookie,
|
cookie: query.cookie,
|
||||||
proxy: query.proxy
|
proxy: query.proxy
|
||||||
});
|
});
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
// 收藏与取消收藏MV
|
// 收藏与取消收藏MV
|
||||||
|
|
||||||
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 = {
|
||||||
mvId: query.mvid,
|
mvId: query.mvid,
|
||||||
mvIds: '["' + query.mvid + '"]'
|
mvIds: '["' + query.mvid + '"]'
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/mv/${query.t}`, data,
|
'POST', `https://music.163.com/weapi/mv/${query.t}`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,13 +1,13 @@
|
|||||||
// // 已收藏MV列表
|
// // 已收藏MV列表
|
||||||
|
|
||||||
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(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/cloudvideo/allvideo/sublist`, data,
|
'POST', `https://music.163.com/weapi/cloudvideo/allvideo/sublist`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,12 +1,12 @@
|
|||||||
// MV链接
|
// MV链接
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.id,
|
id: query.id,
|
||||||
r: query.res || 1080
|
r: query.res || 1080
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/song/enhance/play/mv/url`, data,
|
'POST', `https://music.163.com/weapi/song/enhance/play/mv/url`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,8 +1,8 @@
|
|||||||
// 私人FM
|
// 私人FM
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/v1/radio/get`, {},
|
'POST', `https://music.163.com/weapi/v1/radio/get`, {},
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,14 +1,14 @@
|
|||||||
// 推荐歌单
|
// 推荐歌单
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: query.limit || 30,
|
limit: query.limit || 30,
|
||||||
offset: query.limit || 0,
|
offset: query.limit || 0,
|
||||||
total: true,
|
total: true,
|
||||||
n: 1000
|
n: 1000
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/personalized/playlist`, data,
|
'POST', `https://music.163.com/weapi/personalized/playlist`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,8 +1,8 @@
|
|||||||
// 推荐电台
|
// 推荐电台
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/personalized/djprogram`, {},
|
'POST', `https://music.163.com/weapi/personalized/djprogram`, {},
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,8 +1,8 @@
|
|||||||
// 推荐MV
|
// 推荐MV
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/personalized/mv`, {},
|
'POST', `https://music.163.com/weapi/personalized/mv`, {},
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,11 +1,11 @@
|
|||||||
// 推荐新歌
|
// 推荐新歌
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
type: "recommend"
|
type: 'recommend'
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/personalized/newsong`, data,
|
'POST', `https://music.163.com/weapi/personalized/newsong`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,8 +1,8 @@
|
|||||||
// 独家放送
|
// 独家放送
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/personalized/privatecontent`, {},
|
'POST', `https://music.163.com/weapi/personalized/privatecontent`, {},
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,8 +1,8 @@
|
|||||||
// 全部歌单分类
|
// 全部歌单分类
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/playlist/catalogue`, {},
|
'POST', `https://music.163.com/weapi/playlist/catalogue`, {},
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,13 +1,13 @@
|
|||||||
// 创建歌单
|
// 创建歌单
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = "pc";
|
query.cookie.os = 'pc';
|
||||||
const data = {
|
const data = {
|
||||||
name: query.name,
|
name: query.name,
|
||||||
privacy: query.privacy //0 为普通歌单,10 为隐私歌单
|
privacy: query.privacy //0 为普通歌单,10 为隐私歌单
|
||||||
};
|
};
|
||||||
return request("POST", `https://music.163.com/weapi/playlist/create`, data, {
|
return request('POST', `https://music.163.com/weapi/playlist/create`, data, {
|
||||||
crypto: "weapi",
|
crypto: 'weapi',
|
||||||
cookie: query.cookie,
|
cookie: query.cookie,
|
||||||
proxy: query.proxy
|
proxy: query.proxy
|
||||||
});
|
});
|
||||||
|
@ -6,12 +6,12 @@ module.exports = (query, request) => {
|
|||||||
desc: query.desc
|
desc: query.desc
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `http://interface3.music.163.com/eapi/playlist/desc/update`, data,
|
'POST', `http://interface3.music.163.com/eapi/playlist/desc/update`, data,
|
||||||
{
|
{
|
||||||
crypto: 'eapi',
|
crypto: 'eapi',
|
||||||
cookie: query.cookie,
|
cookie: query.cookie,
|
||||||
proxy: query.proxy,
|
proxy: query.proxy,
|
||||||
url: '/api/playlist/desc/update'
|
url: '/api/playlist/desc/update'
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,13 +1,13 @@
|
|||||||
// 歌单详情
|
// 歌单详情
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.id,
|
id: query.id,
|
||||||
n: 100000,
|
n: 100000,
|
||||||
s: query.s || 8
|
s: query.s || 8
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/v3/playlist/detail`, data,
|
'POST', `https://music.163.com/weapi/v3/playlist/detail`, data,
|
||||||
{crypto: 'linuxapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'linuxapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,8 +1,8 @@
|
|||||||
// 热门歌单分类
|
// 热门歌单分类
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/playlist/hottags`, {},
|
'POST', `https://music.163.com/weapi/playlist/hottags`, {},
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -6,12 +6,12 @@ module.exports = (query, request) => {
|
|||||||
name: query.name
|
name: query.name
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `http://interface3.music.163.com/eapi/playlist/update/name`, data,
|
'POST', `http://interface3.music.163.com/eapi/playlist/update/name`, data,
|
||||||
{
|
{
|
||||||
crypto: 'eapi',
|
crypto: 'eapi',
|
||||||
cookie: query.cookie,
|
cookie: query.cookie,
|
||||||
proxy: query.proxy,
|
proxy: query.proxy,
|
||||||
url: '/api/playlist/update/name'
|
url: '/api/playlist/update/name'
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,12 +1,12 @@
|
|||||||
// 收藏与取消收藏歌单
|
// 收藏与取消收藏歌单
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.t = (query.t == 1 ? 'subscribe' : 'unsubscribe')
|
query.t = (query.t == 1 ? 'subscribe' : 'unsubscribe')
|
||||||
const data = {
|
const data = {
|
||||||
id: query.id
|
id: query.id
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/playlist/${query.t}`, data,
|
'POST', `https://music.163.com/weapi/playlist/${query.t}`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -5,9 +5,9 @@ module.exports = (query, request) => {
|
|||||||
offset: query.offset || 0
|
offset: query.offset || 0
|
||||||
};
|
};
|
||||||
return request(
|
return request(
|
||||||
"POST",
|
'POST',
|
||||||
`https://music.163.com/weapi/playlist/subscribers`,
|
`https://music.163.com/weapi/playlist/subscribers`,
|
||||||
data,
|
data,
|
||||||
{ crypto: "weapi", cookie: query.cookie, proxy: query.proxy }
|
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -6,12 +6,12 @@ module.exports = (query, request) => {
|
|||||||
tags: query.tags
|
tags: query.tags
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `http://interface3.music.163.com/eapi/playlist/tags/update`, data,
|
'POST', `http://interface3.music.163.com/eapi/playlist/tags/update`, data,
|
||||||
{
|
{
|
||||||
crypto: 'eapi',
|
crypto: 'eapi',
|
||||||
cookie: query.cookie,
|
cookie: query.cookie,
|
||||||
proxy: query.proxy,
|
proxy: query.proxy,
|
||||||
url: '/api/playlist/tags/update'
|
url: '/api/playlist/tags/update'
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,13 +1,13 @@
|
|||||||
// 收藏单曲到歌单 从歌单删除歌曲
|
// 收藏单曲到歌单 从歌单删除歌曲
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
op: query.op, // del,add
|
op: query.op, // del,add
|
||||||
pid: query.pid, // 歌单id
|
pid: query.pid, // 歌单id
|
||||||
trackIds: '[' + query.tracks + ']' // 歌曲id
|
trackIds: '[' + query.tracks + ']' // 歌曲id
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/playlist/manipulate/tracks`, data,
|
'POST', `https://music.163.com/weapi/playlist/manipulate/tracks`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,16 +1,16 @@
|
|||||||
// 编辑歌单
|
// 编辑歌单
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
query.desc = query.desc || ''
|
query.desc = query.desc || ''
|
||||||
query.tags = query.tags || ''
|
query.tags = query.tags || ''
|
||||||
const data = {
|
const data = {
|
||||||
"/api/playlist/desc/update": `{"id":${query.id},"desc":"${query.desc}"}`,
|
'/api/playlist/desc/update': `{"id":${query.id},"desc":"${query.desc}"}`,
|
||||||
"/api/playlist/tags/update": `{"id":${query.id},"tags":"${query.tags}"}`,
|
'/api/playlist/tags/update': `{"id":${query.id},"tags":"${query.tags}"}`,
|
||||||
"/api/playlist/update/name": `{"id":${query.id},"name":"${query.name}"}`
|
'/api/playlist/update/name': `{"id":${query.id},"name":"${query.name}"}`
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/batch`, data,
|
'POST', `https://music.163.com/weapi/batch`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -3,15 +3,15 @@
|
|||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
songId: query.id,
|
songId: query.id,
|
||||||
type: "fromPlayOne",
|
type: 'fromPlayOne',
|
||||||
playlistId: query.pid,
|
playlistId: query.pid,
|
||||||
startMusicId: query.sid || query.id,
|
startMusicId: query.sid || query.id,
|
||||||
count: query.count || 1
|
count: query.count || 1
|
||||||
};
|
};
|
||||||
return request(
|
return request(
|
||||||
"POST",
|
'POST',
|
||||||
`http://music.163.com/weapi/playmode/intelligence/list`,
|
`http://music.163.com/weapi/playmode/intelligence/list`,
|
||||||
data,
|
data,
|
||||||
{ crypto: "weapi", cookie: query.cookie, proxy: query.proxy }
|
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
// 推荐节目
|
// 推荐节目
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
cateId: query.type,
|
cateId: query.type,
|
||||||
limit: query.limit || 10,
|
limit: query.limit || 10,
|
||||||
offset: query.offset || 0
|
offset: query.offset || 0
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/program/recommend/v1`, data,
|
'POST', `https://music.163.com/weapi/program/recommend/v1`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -5,12 +5,12 @@ module.exports = (query, request) => {
|
|||||||
captcha: query.captcha,
|
captcha: query.captcha,
|
||||||
phone: query.phone,
|
phone: query.phone,
|
||||||
oldcaptcha: query.oldcaptcha,
|
oldcaptcha: query.oldcaptcha,
|
||||||
ctcode: query.ctcode || "86"
|
ctcode: query.ctcode || '86'
|
||||||
};
|
};
|
||||||
return request(
|
return request(
|
||||||
"POST",
|
'POST',
|
||||||
`https://music.163.com/api/user/replaceCellphone`,
|
`https://music.163.com/api/user/replaceCellphone`,
|
||||||
data,
|
data,
|
||||||
{ crypto: "weapi", cookie: query.cookie, proxy: query.proxy }
|
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
// 每日推荐歌单
|
// 每日推荐歌单
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/v1/discovery/recommend/resource`, {},
|
'POST', `https://music.163.com/weapi/v1/discovery/recommend/resource`, {},
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,13 +1,13 @@
|
|||||||
// 每日推荐歌曲
|
// 每日推荐歌曲
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
limit: 20,
|
limit: 20,
|
||||||
offset: 0,
|
offset: 0,
|
||||||
total: true
|
total: true
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/v1/discovery/recommend/songs`, data,
|
'POST', `https://music.163.com/weapi/v1/discovery/recommend/songs`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,12 +1,12 @@
|
|||||||
// 相关视频
|
// 相关视频
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
id: query.id,
|
id: query.id,
|
||||||
type: (/^\d+$/.test(query.id)) ? 0 : 1
|
type: (/^\d+$/.test(query.id)) ? 0 : 1
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/cloudvideo/v1/allvideo/rcmd`, data,
|
'POST', `https://music.163.com/weapi/cloudvideo/v1/allvideo/rcmd`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,32 +1,32 @@
|
|||||||
// 相关歌单
|
// 相关歌单
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
return request(
|
return request(
|
||||||
'GET', `https://music.163.com/playlist?id=${query.id}`, {},
|
'GET', `https://music.163.com/playlist?id=${query.id}`, {},
|
||||||
{ua: 'pc', cookie: query.cookie, proxy: query.proxy}
|
{ua: 'pc', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
.then(response => {
|
.then(response => {
|
||||||
try{
|
try{
|
||||||
const pattern = /<div class="cver u-cover u-cover-3">[\s\S]*?<img src="([^"]+)">[\s\S]*?<a class="sname f-fs1 s-fc0" href="([^"]+)"[^>]*>([^<]+?)<\/a>[\s\S]*?<a class="nm nm f-thide s-fc3" href="([^"]+)"[^>]*>([^<]+?)<\/a>/g;
|
const pattern = /<div class="cver u-cover u-cover-3">[\s\S]*?<img src="([^"]+)">[\s\S]*?<a class="sname f-fs1 s-fc0" href="([^"]+)"[^>]*>([^<]+?)<\/a>[\s\S]*?<a class="nm nm f-thide s-fc3" href="([^"]+)"[^>]*>([^<]+?)<\/a>/g;
|
||||||
let result, playlists = []
|
let result, playlists = []
|
||||||
while((result = pattern.exec(response.body)) != null){
|
while((result = pattern.exec(response.body)) != null){
|
||||||
playlists.push({
|
playlists.push({
|
||||||
creator: {
|
creator: {
|
||||||
userId: result[4].slice('/user/home?id='.length),
|
userId: result[4].slice('/user/home?id='.length),
|
||||||
nickname: result[5]
|
nickname: result[5]
|
||||||
},
|
},
|
||||||
coverImgUrl: result[1].slice(0,-('?param=50y50'.length)),
|
coverImgUrl: result[1].slice(0, -('?param=50y50'.length)),
|
||||||
name: result[3],
|
name: result[3],
|
||||||
id: result[2].slice('/playlist?id='.length)
|
id: result[2].slice('/playlist?id='.length)
|
||||||
})
|
})
|
||||||
}
|
|
||||||
response.body = {code: 200, playlists: playlists}
|
|
||||||
return response
|
|
||||||
}
|
|
||||||
catch(err){
|
|
||||||
response.status = 500
|
|
||||||
response.body = {code: 500, msg: err.stack}
|
|
||||||
return Promise.reject(response)
|
|
||||||
}
|
}
|
||||||
|
response.body = {code: 200, playlists: playlists}
|
||||||
|
return response
|
||||||
|
}
|
||||||
|
catch(err){
|
||||||
|
response.status = 500
|
||||||
|
response.body = {code: 500, msg: err.stack}
|
||||||
|
return Promise.reject(response)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -1,22 +1,22 @@
|
|||||||
// 点赞与取消点赞资源
|
// 点赞与取消点赞资源
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
query.t = (query.t == 1 ? 'like' : 'unlike')
|
query.t = (query.t == 1 ? 'like' : 'unlike')
|
||||||
query.type = {
|
query.type = {
|
||||||
1: 'R_MV_5_', // MV
|
1: 'R_MV_5_', // MV
|
||||||
4: 'A_DJ_1_', // 电台
|
4: 'A_DJ_1_', // 电台
|
||||||
5: 'R_VI_62_', // 视频
|
5: 'R_VI_62_', // 视频
|
||||||
6: 'A_EV_2_'
|
6: 'A_EV_2_'
|
||||||
}[query.type]
|
}[query.type]
|
||||||
const data = {
|
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
|
data.threadId=query.threadId
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/resource/${query.t}`, data,
|
'POST', `https://music.163.com/weapi/resource/${query.t}`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,23 +1,23 @@
|
|||||||
// 听歌打卡
|
// 听歌打卡
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
logs: JSON.stringify([{
|
logs: JSON.stringify([{
|
||||||
action: 'play',
|
action: 'play',
|
||||||
json: {
|
json: {
|
||||||
download: 0,
|
download: 0,
|
||||||
end: 'playend',
|
end: 'playend',
|
||||||
id: query.id,
|
id: query.id,
|
||||||
sourceId: query.sourceid,
|
sourceId: query.sourceid,
|
||||||
time: query.time,
|
time: query.time,
|
||||||
type: 'song',
|
type: 'song',
|
||||||
wifi: 0,
|
wifi: 0,
|
||||||
}
|
}
|
||||||
}])
|
}])
|
||||||
}
|
}
|
||||||
|
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/feedback/weblog`, data,
|
'POST', `https://music.163.com/weapi/feedback/weblog`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
// 搜索
|
// 搜索
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
s: query.keywords,
|
s: query.keywords,
|
||||||
type: query.type || 1, // 1: 单曲, 10: 专辑, 100: 歌手, 1000: 歌单, 1002: 用户, 1004: MV, 1006: 歌词, 1009: 电台, 1014: 视频
|
type: query.type || 1, // 1: 单曲, 10: 专辑, 100: 歌手, 1000: 歌单, 1002: 用户, 1004: MV, 1006: 歌词, 1009: 电台, 1014: 视频
|
||||||
limit: query.limit || 30,
|
limit: query.limit || 30,
|
||||||
offset: query.offset || 0
|
offset: query.offset || 0
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/search/get`, data,
|
'POST', `https://music.163.com/weapi/search/get`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,11 +1,11 @@
|
|||||||
// 热门搜索
|
// 热门搜索
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
type: 1111
|
type: 1111
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/search/hot`, data,
|
'POST', `https://music.163.com/weapi/search/hot`, data,
|
||||||
{crypto: 'weapi', ua: 'mobile', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', ua: 'mobile', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -3,9 +3,9 @@ module.exports = (query, request) => {
|
|||||||
const data = {
|
const data = {
|
||||||
};
|
};
|
||||||
return request(
|
return request(
|
||||||
"POST",
|
'POST',
|
||||||
`https://music.163.com/weapi/hotsearchlist/get`,
|
`https://music.163.com/weapi/hotsearchlist/get`,
|
||||||
data,
|
data,
|
||||||
{ crypto: "weapi", cookie: query.cookie, proxy: query.proxy }
|
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
// 多类型搜索
|
// 多类型搜索
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
type: query.type || 1,
|
type: query.type || 1,
|
||||||
s: query.keywords || ''
|
s: query.keywords || ''
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/search/suggest/multimatch`, data,
|
'POST', `https://music.163.com/weapi/search/suggest/multimatch`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,12 +1,12 @@
|
|||||||
// 搜索建议
|
// 搜索建议
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
s: query.keywords || ''
|
s: query.keywords || ''
|
||||||
}
|
}
|
||||||
let type = query.type == 'mobile' ? 'keyword' : 'web'
|
let type = query.type == 'mobile' ? 'keyword' : 'web'
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/search/suggest/` + type, data,
|
'POST', `https://music.163.com/weapi/search/suggest/` + type, data,
|
||||||
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,15 +1,15 @@
|
|||||||
// 私信歌单
|
// 私信歌单
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
const data = {
|
const data = {
|
||||||
id: query.playlist,
|
id: query.playlist,
|
||||||
type: 'playlist',
|
type: 'playlist',
|
||||||
msg: query.msg,
|
msg: query.msg,
|
||||||
userIds: '[' + query.user_ids + ']'
|
userIds: '[' + query.user_ids + ']'
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/msg/private/send`, data,
|
'POST', `https://music.163.com/weapi/msg/private/send`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,15 +1,15 @@
|
|||||||
// 私信
|
// 私信
|
||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
query.cookie.os = 'pc'
|
query.cookie.os = 'pc'
|
||||||
const data = {
|
const data = {
|
||||||
id: query.playlist,
|
id: query.playlist,
|
||||||
type: 'text',
|
type: 'text',
|
||||||
msg: query.msg,
|
msg: query.msg,
|
||||||
userIds: '[' + query.user_ids + ']'
|
userIds: '[' + query.user_ids + ']'
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/weapi/msg/private/send`, data,
|
'POST', `https://music.163.com/weapi/msg/private/send`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,9 +1,9 @@
|
|||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
|
|
||||||
}
|
}
|
||||||
return request(
|
return request(
|
||||||
'POST', `https://music.163.com/api/user/setting`, data,
|
'POST', `https://music.163.com/api/user/setting`, data,
|
||||||
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
{crypto: 'weapi', cookie: query.cookie, proxy: query.proxy}
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -2,14 +2,14 @@
|
|||||||
|
|
||||||
module.exports = (query, request) => {
|
module.exports = (query, request) => {
|
||||||
const data = {
|
const data = {
|
||||||
type: query.type || "song", // song,playlist,mv,djprogram,djradio
|
type: query.type || 'song', // song,playlist,mv,djprogram,djradio
|
||||||
msg: query.msg || "",
|
msg: query.msg || '',
|
||||||
id: query.id || ""
|
id: query.id || ''
|
||||||
};
|
};
|
||||||
return request(
|
return request(
|
||||||
"POST",
|
'POST',
|
||||||
`http://music.163.com/weapi/share/friends/resource`,
|
`http://music.163.com/weapi/share/friends/resource`,
|
||||||
data,
|
data,
|
||||||
{ crypto: "weapi", cookie: query.cookie, proxy: query.proxy }
|
{ crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
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