diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..504f8d0 --- /dev/null +++ b/.eslintrc.js @@ -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 + } + ] + } +} diff --git a/app.js b/app.js index 1bbbca1..47f3602 100644 --- a/app.js +++ b/app.js @@ -3,44 +3,44 @@ const path = require('path') const express = require('express') const bodyParser = require('body-parser') const request = require('./util/request') -const package = require('./package.json') +const packageJSON = require('./package.json') const exec = require('child_process').exec const cache = require('apicache').middleware // version check exec('npm info NeteaseCloudMusicApi version', (err, stdout, stderr) => { - if(!err){ - let version = stdout.trim() - if(package.version < version){ - console.log(`最新版本: ${version}, 当前版本: ${package.version}, 请及时更新`) - } + if(!err){ + let version = stdout.trim() + if(packageJSON.version < version){ + console.log(`最新版本: ${version}, 当前版本: ${packageJSON.version}, 请及时更新`) } + } }) const app = express() // CORS app.use((req, res, next) => { - if(req.path !== '/' && !req.path.includes('.')){ - res.header({ - 'Access-Control-Allow-Credentials': true, - 'Access-Control-Allow-Origin': req.headers.origin || '*', - 'Access-Control-Allow-Headers': 'X-Requested-With', - 'Access-Control-Allow-Methods': 'PUT,POST,GET,DELETE,OPTIONS', - 'Content-Type': 'application/json; charset=utf-8' - }) - } - next() + if(req.path !== '/' && !req.path.includes('.')){ + res.header({ + 'Access-Control-Allow-Credentials': true, + 'Access-Control-Allow-Origin': req.headers.origin || '*', + 'Access-Control-Allow-Headers': 'X-Requested-With', + 'Access-Control-Allow-Methods': 'PUT,POST,GET,DELETE,OPTIONS', + 'Content-Type': 'application/json; charset=utf-8' + }) + } + next() }) // cookie parser app.use((req, res, next) => { - req.cookies = {}, (req.headers.cookie || '').split(/\s*;\s*/).forEach(pair => { - let crack = pair.indexOf('=') - if(crack < 1 || crack == pair.length - 1) return - req.cookies[decodeURIComponent(pair.slice(0, crack)).trim()] = decodeURIComponent(pair.slice(crack + 1)).trim() - }) - next() + req.cookies = {}, (req.headers.cookie || '').split(/\s*;\s*/).forEach(pair => { + let crack = pair.indexOf('=') + if(crack < 1 || crack == pair.length - 1) return + req.cookies[decodeURIComponent(pair.slice(0, crack)).trim()] = decodeURIComponent(pair.slice(crack + 1)).trim() + }) + next() }) // body parser @@ -55,37 +55,37 @@ app.use(express.static(path.join(__dirname, 'public'))) // router const special = { - 'daily_signin.js': '/daily_signin', - 'fm_trash.js': '/fm_trash', - 'personal_fm.js': '/personal_fm' + 'daily_signin.js': '/daily_signin', + 'fm_trash.js': '/fm_trash', + 'personal_fm.js': '/personal_fm' } fs.readdirSync(path.join(__dirname, 'module')).reverse().forEach(file => { - if(!(/\.js$/i.test(file))) return - let route = (file in special) ? special[file] : '/' + file.replace(/\.js$/i, '').replace(/_/g, '/') - let question = require(path.join(__dirname, 'module', file)) + if(!(/\.js$/i.test(file))) return + let route = (file in special) ? special[file] : '/' + file.replace(/\.js$/i, '').replace(/_/g, '/') + let question = require(path.join(__dirname, 'module', file)) - app.use(route, (req, res) => { - let query = Object.assign({}, req.query, req.body, {cookie: req.cookies}) - question(query, request) - .then(answer => { - console.log('[OK]', decodeURIComponent(req.originalUrl)) - res.append('Set-Cookie', answer.cookie) - res.status(answer.status).send(answer.body) - }) - .catch(answer => { - console.log('[ERR]', decodeURIComponent(req.originalUrl)) - if(answer.body.code =='301') answer.body.msg = '需要登录' - res.append('Set-Cookie', answer.cookie) - res.status(answer.status).send(answer.body) - }) - }) + app.use(route, (req, res) => { + let query = Object.assign({}, req.query, req.body, {cookie: req.cookies}) + question(query, request) + .then(answer => { + console.log('[OK]', decodeURIComponent(req.originalUrl)) + res.append('Set-Cookie', answer.cookie) + res.status(answer.status).send(answer.body) + }) + .catch(answer => { + console.log('[ERR]', decodeURIComponent(req.originalUrl)) + if(answer.body.code =='301') answer.body.msg = '需要登录' + res.append('Set-Cookie', answer.cookie) + res.status(answer.status).send(answer.body) + }) + }) }) const port = process.env.PORT || 3000 app.server = app.listen(port, () => { - console.log(`server running @ http://localhost:${port}`) + console.log(`server running @ http://localhost:${port}`) }) module.exports = app diff --git a/module/activate_init_profile.js b/module/activate_init_profile.js index 878bc9c..c9b5c3a 100644 --- a/module/activate_init_profile.js +++ b/module/activate_init_profile.js @@ -5,11 +5,11 @@ module.exports = (query, request) => { nickname: query.nickname }; return request( - "POST", + 'POST', `http://music.163.com/eapi/activate/initProfile`, data, { - crypto: "eapi", + crypto: 'eapi', cookie: query.cookie, proxy: query.proxy, url: '/api/activate/initProfile' diff --git a/module/album.js b/module/album.js index 91ec036..213d92a 100644 --- a/module/album.js +++ b/module/album.js @@ -1,8 +1,8 @@ // 专辑内容 module.exports = (query, request) => { - return request( - 'POST', `https://music.163.com/weapi/v1/album/${query.id}`, {}, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + return request( + 'POST', `https://music.163.com/weapi/v1/album/${query.id}`, {}, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/album_detail_dynamic.js b/module/album_detail_dynamic.js index 234e075..a48386a 100644 --- a/module/album_detail_dynamic.js +++ b/module/album_detail_dynamic.js @@ -2,11 +2,11 @@ module.exports = (query, request) => { const data = { id: query.id - }; + } return request( - "POST", + '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 } + ) +} diff --git a/module/album_newest.js b/module/album_newest.js index c6408ab..64742bb 100644 --- a/module/album_newest.js +++ b/module/album_newest.js @@ -1,8 +1,8 @@ // 最新专辑 module.exports = (query, request) => { - return request( - 'POST', `https://music.163.com/api/discovery/newAlbum`, {}, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + return request( + 'POST', `https://music.163.com/api/discovery/newAlbum`, {}, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } diff --git a/module/album_sub.js b/module/album_sub.js index 2770cb6..0e87547 100644 --- a/module/album_sub.js +++ b/module/album_sub.js @@ -1,13 +1,13 @@ // 已收藏专辑列表 module.exports = (query, request) => { - query.t = (query.t == 1 ? 'sub' : 'unsub') - const data = { - id: query.id - }; - return request("POST", `https://music.163.com/api/album/${query.t}`, data, { - crypto: "weapi", - cookie: query.cookie, - proxy: query.proxy - }); + query.t = (query.t == 1 ? 'sub' : 'unsub') + const data = { + id: query.id + }; + return request('POST', `https://music.163.com/api/album/${query.t}`, data, { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy + }); }; diff --git a/module/album_sublist.js b/module/album_sublist.js index 7c1a8c2..d129ae6 100644 --- a/module/album_sublist.js +++ b/module/album_sublist.js @@ -1,13 +1,13 @@ // 已收藏专辑列表 module.exports = (query, request) => { - const data = { - limit: query.limit || 25, - offset: query.offset || 0, - total: true - } - return request( - 'POST', `https://music.163.com/weapi/album/sublist`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + limit: query.limit || 25, + offset: query.offset || 0, + total: true + } + return request( + 'POST', `https://music.163.com/weapi/album/sublist`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/artist_album.js b/module/artist_album.js index 86d55b3..50575f4 100644 --- a/module/artist_album.js +++ b/module/artist_album.js @@ -1,13 +1,13 @@ // 歌手专辑列表 module.exports = (query, request) => { - const data = { - limit: query.limit || 30, - offset: query.offset || 0, - total: true - } - return request( - 'POST', `https://music.163.com/weapi/artist/albums/${query.id}`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + limit: query.limit || 30, + offset: query.offset || 0, + total: true + } + return request( + 'POST', `https://music.163.com/weapi/artist/albums/${query.id}`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/artist_desc.js b/module/artist_desc.js index 41d6bf6..b209b33 100644 --- a/module/artist_desc.js +++ b/module/artist_desc.js @@ -1,11 +1,11 @@ // 歌手介绍 module.exports = (query, request) => { - const data = { - id: query.id - } - return request( - 'POST', `https://music.163.com/weapi/artist/introduction`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + id: query.id + } + return request( + 'POST', `https://music.163.com/weapi/artist/introduction`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/artist_list.js b/module/artist_list.js index 852698b..0f0b5f9 100644 --- a/module/artist_list.js +++ b/module/artist_list.js @@ -23,15 +23,15 @@ */ module.exports = (query, request) => { - const data = { - categoryCode: query.cat || '1001', - initial: (query.initial || '').toUpperCase().charCodeAt() || '', - offset: query.offset || 0, - limit: query.limit || 30, - total: true - } - return request( - 'POST', `https://music.163.com/weapi/artist/list`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + categoryCode: query.cat || '1001', + initial: (query.initial || '').toUpperCase().charCodeAt() || '', + offset: query.offset || 0, + limit: query.limit || 30, + total: true + } + return request( + 'POST', `https://music.163.com/weapi/artist/list`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/artist_mv.js b/module/artist_mv.js index 0dff01e..5c64156 100644 --- a/module/artist_mv.js +++ b/module/artist_mv.js @@ -1,14 +1,14 @@ // 歌手相关MV module.exports = (query, request) => { - const data = { - artistId: query.id, - limit: query.limit, - offset: query.offset, - total: true - } - return request( - 'POST', `https://music.163.com/weapi/artist/mvs`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + artistId: query.id, + limit: query.limit, + offset: query.offset, + total: true + } + return request( + 'POST', `https://music.163.com/weapi/artist/mvs`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/artist_sub.js b/module/artist_sub.js index 93d7a40..4d9115d 100644 --- a/module/artist_sub.js +++ b/module/artist_sub.js @@ -1,13 +1,13 @@ // 收藏与取消收藏歌手 module.exports = (query, request) => { - query.t = (query.t == 1 ? 'sub' : 'unsub') - const data = { - artistId: 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} - ) + query.t = (query.t == 1 ? 'sub' : 'unsub') + const data = { + artistId: 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} + ) } \ No newline at end of file diff --git a/module/artist_sublist.js b/module/artist_sublist.js index a5c971f..e83405a 100644 --- a/module/artist_sublist.js +++ b/module/artist_sublist.js @@ -1,13 +1,13 @@ // 关注歌手列表 module.exports = (query, request) => { - const data = { - limit: query.limit || 25, - offset: query.offset || 0, - total: true - } - return request( - 'POST', `https://music.163.com/weapi/artist/sublist`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + limit: query.limit || 25, + offset: query.offset || 0, + total: true + } + return request( + 'POST', `https://music.163.com/weapi/artist/sublist`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/artists.js b/module/artists.js index c5aa6d6..34ce5b7 100644 --- a/module/artists.js +++ b/module/artists.js @@ -1,8 +1,8 @@ // 歌手单曲 module.exports = (query, request) => { - return request( - 'POST', `https://music.163.com/weapi/v1/artist/${query.id}`, {}, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + return request( + 'POST', `https://music.163.com/weapi/v1/artist/${query.id}`, {}, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/banner.js b/module/banner.js index 11cab05..63a69d6 100644 --- a/module/banner.js +++ b/module/banner.js @@ -1,14 +1,14 @@ // 首页轮播图 module.exports = (query, request) => { - 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} - ) + 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} + ) } \ No newline at end of file diff --git a/module/batch.js b/module/batch.js index 58b603c..7aad2cc 100644 --- a/module/batch.js +++ b/module/batch.js @@ -1,6 +1,6 @@ module.exports = (query, request) => { const data = { - "e_r": true + 'e_r': true }; Object.keys(query).forEach(i => { if (/^\/api\//.test(i)) { diff --git a/module/cellphone_existence_check.js b/module/cellphone_existence_check.js index 47b5a47..94325dc 100644 --- a/module/cellphone_existence_check.js +++ b/module/cellphone_existence_check.js @@ -5,11 +5,11 @@ module.exports = (query, request) => { cellphone: query.phone }; return request( - "POST", + 'POST', `http://music.163.com/eapi/cellphone/existence/check`, data, { - crypto: "eapi", + crypto: 'eapi', cookie: query.cookie, proxy: query.proxy, url: '/api/cellphone/existence/check' diff --git a/module/check_music.js b/module/check_music.js index 68beb01..69f70d6 100644 --- a/module/check_music.js +++ b/module/check_music.js @@ -1,29 +1,29 @@ // 歌曲可用性 module.exports = (query, request) => { - const data = { - ids: '[' + parseInt(query.id) + ']', - 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} - ) + const data = { + ids: '[' + parseInt(query.id) + ']', + 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 - } - } - if(playable){ - response.body = {success: true, message: 'ok'} - return response - } - else{ - response.status = 404 - response.body = {success: false, message: '亲爱的,暂无版权'} - return Promise.reject(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) + } }) } \ No newline at end of file diff --git a/module/comment.js b/module/comment.js index bbc55fc..2ca5cf4 100644 --- a/module/comment.js +++ b/module/comment.js @@ -1,30 +1,30 @@ // 发送与删除评论 module.exports = (query, request) => { - query.cookie.os = 'pc' - query.t = (query.t == 1 ? 'add' : 'delete') - query.type = { - 0: 'R_SO_4_', // 歌曲 - 1: 'R_MV_5_', // MV - 2: 'A_PL_0_', // 歌单 - 3: 'R_AL_3_', // 专辑 - 4: 'A_DJ_1_', // 电台, - 5: 'R_VI_62_',// 视频 - 6: 'A_EV_2_' // 动态 - }[query.type] - const data = { - threadId: query.type + query.id - } + query.cookie.os = 'pc' + query.t = (query.t == 1 ? 'add' : 'delete') + query.type = { + 0: 'R_SO_4_', // 歌曲 + 1: 'R_MV_5_', // MV + 2: 'A_PL_0_', // 歌单 + 3: 'R_AL_3_', // 专辑 + 4: 'A_DJ_1_', // 电台, + 5: 'R_VI_62_', // 视频 + 6: 'A_EV_2_' // 动态 + }[query.type] + const data = { + threadId: query.type + query.id + } - 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 - return request( - 'POST', `https://music.163.com/weapi/resource/comments/${query.t}`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + 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 + return request( + 'POST', `https://music.163.com/weapi/resource/comments/${query.t}`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/comment_album.js b/module/comment_album.js index c384ad3..75d00c9 100644 --- a/module/comment_album.js +++ b/module/comment_album.js @@ -1,15 +1,15 @@ // 专辑评论 module.exports = (query, request) => { - query.cookie.os = 'pc' - const data = { - rid: query.id, - limit: query.limit || 20, - offset: query.offset || 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} - ) + query.cookie.os = 'pc' + const data = { + rid: query.id, + limit: query.limit || 20, + offset: query.offset || 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} + ) } \ No newline at end of file diff --git a/module/comment_dj.js b/module/comment_dj.js index c2cc666..d5269eb 100644 --- a/module/comment_dj.js +++ b/module/comment_dj.js @@ -1,15 +1,15 @@ // 电台评论 module.exports = (query, request) => { - query.cookie.os = 'pc' - const data = { - rid: query.id, - limit: query.limit || 20, - offset: query.offset || 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} - ) + query.cookie.os = 'pc' + const data = { + rid: query.id, + limit: query.limit || 20, + offset: query.offset || 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} + ) } \ No newline at end of file diff --git a/module/comment_event.js b/module/comment_event.js index 1ada1e6..ecb2cf9 100644 --- a/module/comment_event.js +++ b/module/comment_event.js @@ -5,9 +5,9 @@ module.exports = (query, request) => { beforeTime: query.before|| 0 }; return request( - "POST", + '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 } ); }; diff --git a/module/comment_hot.js b/module/comment_hot.js index 2434694..82305cb 100644 --- a/module/comment_hot.js +++ b/module/comment_hot.js @@ -1,23 +1,23 @@ // 热门评论 module.exports = (query, request) => { - query.cookie.os = 'pc' - query.type = { - 0: 'R_SO_4_', // 歌曲 - 1: 'R_MV_5_', // MV - 2: 'A_PL_0_', // 歌单 - 3: 'R_AL_3_', // 专辑 - 4: 'A_DJ_1_', // 电台, - 5: 'R_VI_62_' // 视频 - }[query.type] - const data = { - rid: query.id, - limit: query.limit || 20, - offset: query.offset || 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} - ) + query.cookie.os = 'pc' + query.type = { + 0: 'R_SO_4_', // 歌曲 + 1: 'R_MV_5_', // MV + 2: 'A_PL_0_', // 歌单 + 3: 'R_AL_3_', // 专辑 + 4: 'A_DJ_1_', // 电台, + 5: 'R_VI_62_' // 视频 + }[query.type] + const data = { + rid: query.id, + limit: query.limit || 20, + offset: query.offset || 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} + ) } \ No newline at end of file diff --git a/module/comment_like.js b/module/comment_like.js index 10430aa..983f324 100644 --- a/module/comment_like.js +++ b/module/comment_like.js @@ -1,26 +1,26 @@ // 点赞与取消点赞评论 module.exports = (query, request) => { - query.cookie.os = 'pc' - query.t = (query.t == 1 ? 'like' : 'unlike') - query.type = { - 0: 'R_SO_4_', // 歌曲 - 1: 'R_MV_5_', // MV - 2: 'A_PL_0_', // 歌单 - 3: 'R_AL_3_', // 专辑 - 4: 'A_DJ_1_', // 电台, - 5: 'R_VI_62_',// 视频 - 6: 'A_EV_2_' // 动态 - }[query.type] - const data = { - threadId: query.type + query.id, - commentId: query.cid - } - 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} - ) + query.cookie.os = 'pc' + query.t = (query.t == 1 ? 'like' : 'unlike') + query.type = { + 0: 'R_SO_4_', // 歌曲 + 1: 'R_MV_5_', // MV + 2: 'A_PL_0_', // 歌单 + 3: 'R_AL_3_', // 专辑 + 4: 'A_DJ_1_', // 电台, + 5: 'R_VI_62_', // 视频 + 6: 'A_EV_2_' // 动态 + }[query.type] + const data = { + threadId: query.type + query.id, + commentId: query.cid + } + 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} + ) } \ No newline at end of file diff --git a/module/comment_music.js b/module/comment_music.js index 89d4a58..76334e3 100644 --- a/module/comment_music.js +++ b/module/comment_music.js @@ -1,7 +1,7 @@ // 歌曲评论 module.exports = (query, request) => { - query.cookie.os = "pc"; + query.cookie.os = 'pc'; const data = { rid: query.id, limit: query.limit || 20, @@ -9,9 +9,9 @@ module.exports = (query, request) => { beforeTime: query.before|| 0 }; return request( - "POST", + '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 } ); }; diff --git a/module/comment_mv.js b/module/comment_mv.js index 1492069..26e0fac 100644 --- a/module/comment_mv.js +++ b/module/comment_mv.js @@ -1,15 +1,15 @@ // MV评论 module.exports = (query, request) => { - query.cookie.os = 'pc' - const data = { - rid: query.id, - limit: query.limit || 20, - offset: query.offset || 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} - ) + query.cookie.os = 'pc' + const data = { + rid: query.id, + limit: query.limit || 20, + offset: query.offset || 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} + ) } \ No newline at end of file diff --git a/module/comment_playlist.js b/module/comment_playlist.js index 17c8c63..38202a1 100644 --- a/module/comment_playlist.js +++ b/module/comment_playlist.js @@ -1,15 +1,15 @@ // 歌单评论 module.exports = (query, request) => { - query.cookie.os = 'pc' - const data = { - rid: query.id, - limit: query.limit || 20, - offset: query.offset || 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} - ) + query.cookie.os = 'pc' + const data = { + rid: query.id, + limit: query.limit || 20, + offset: query.offset || 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} + ) } \ No newline at end of file diff --git a/module/comment_video.js b/module/comment_video.js index e3a13db..4d1967d 100644 --- a/module/comment_video.js +++ b/module/comment_video.js @@ -1,15 +1,15 @@ // 视频评论 module.exports = (query, request) => { - query.cookie.os = 'pc' - const data = { - rid: query.id, - limit: query.limit || 20, - offset: query.offset || 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} - ) + query.cookie.os = 'pc' + const data = { + rid: query.id, + limit: query.limit || 20, + offset: query.offset || 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} + ) } \ No newline at end of file diff --git a/module/daily_signin.js b/module/daily_signin.js index 9549544..10c3403 100644 --- a/module/daily_signin.js +++ b/module/daily_signin.js @@ -8,11 +8,11 @@ */ module.exports = (query, request) => { - const data = { - type: query.type || 0 - } - return request( - 'POST', `https://music.163.com/weapi/point/dailyTask`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + type: query.type || 0 + } + return request( + 'POST', `https://music.163.com/weapi/point/dailyTask`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/digitalAlbum_purchased.js b/module/digitalAlbum_purchased.js index 2734600..50b572c 100644 --- a/module/digitalAlbum_purchased.js +++ b/module/digitalAlbum_purchased.js @@ -1,13 +1,13 @@ // 我的数字专辑 module.exports = (query, request) => { - const data = { - limit: query.limit || 30, - offset: query.offset || 0, - total: true - } - return request( - 'POST', `https://music.163.com/api/digitalAlbum/purchased`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + limit: query.limit || 30, + offset: query.offset || 0, + total: true + } + return request( + 'POST', `https://music.163.com/api/digitalAlbum/purchased`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/dj_banner.js b/module/dj_banner.js index 898507c..9f20e6f 100644 --- a/module/dj_banner.js +++ b/module/dj_banner.js @@ -3,9 +3,9 @@ module.exports = (query, request) => { const data = {}; return request( - "POST", + '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 } ); }; diff --git a/module/dj_catelist.js b/module/dj_catelist.js index ec1b7b4..934df26 100644 --- a/module/dj_catelist.js +++ b/module/dj_catelist.js @@ -1,8 +1,8 @@ // 电台分类列表 module.exports = (query, request) => { - return request( - 'POST', `https://music.163.com/weapi/djradio/category/get`, {}, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + return request( + 'POST', `https://music.163.com/weapi/djradio/category/get`, {}, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/dj_detail.js b/module/dj_detail.js index 2c7e77e..e987699 100644 --- a/module/dj_detail.js +++ b/module/dj_detail.js @@ -1,11 +1,11 @@ // 电台详情 module.exports = (query, request) => { - const data = { - id: query.rid - } - return request( - 'POST', `https://music.163.com/weapi/djradio/get`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + id: query.rid + } + return request( + 'POST', `https://music.163.com/weapi/djradio/get`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/dj_hot.js b/module/dj_hot.js index fcafa6e..ab4015e 100644 --- a/module/dj_hot.js +++ b/module/dj_hot.js @@ -1,17 +1,17 @@ // 热门电台 module.exports = (query, request) => { - const data = { - cat: query.type, - cateId: query.type, - type: query.type, - categoryId: query.type, - category: query.type, - limit: query.limit, - offset: query.offset - } - return request( - 'POST', `https://music.163.com/weapi/djradio/hot/v1`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + cat: query.type, + cateId: query.type, + type: query.type, + categoryId: query.type, + category: query.type, + limit: query.limit, + offset: query.offset + } + return request( + 'POST', `https://music.163.com/weapi/djradio/hot/v1`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/dj_paygift.js b/module/dj_paygift.js index ae7e6b7..5fc6823 100644 --- a/module/dj_paygift.js +++ b/module/dj_paygift.js @@ -1,12 +1,12 @@ // 付费电台 module.exports = (query, request) => { - const data = { - limit: query.limit || 30, - 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} - ) + const data = { + limit: query.limit || 30, + 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} + ) } \ No newline at end of file diff --git a/module/dj_program_detail.js b/module/dj_program_detail.js index a02efda..09f9699 100644 --- a/module/dj_program_detail.js +++ b/module/dj_program_detail.js @@ -1,11 +1,11 @@ // 电台节目详情 module.exports = (query, request) => { - const data = { - id: query.id - } - return request( - 'POST', `https://music.163.com/weapi/dj/program/detail`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + id: query.id + } + return request( + 'POST', `https://music.163.com/weapi/dj/program/detail`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/dj_recommend.js b/module/dj_recommend.js index f2ba675..0a4536d 100644 --- a/module/dj_recommend.js +++ b/module/dj_recommend.js @@ -1,8 +1,8 @@ // 精选电台 module.exports = (query, request) => { - return request( - 'POST', `https://music.163.com/weapi/djradio/recommend/v1`, {}, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + return request( + 'POST', `https://music.163.com/weapi/djradio/recommend/v1`, {}, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } diff --git a/module/dj_recommend_type.js b/module/dj_recommend_type.js index 3eb8e31..c66777c 100644 --- a/module/dj_recommend_type.js +++ b/module/dj_recommend_type.js @@ -24,11 +24,11 @@ */ module.exports = (query, request) => { - const data = { - cateId: query.type - } - return request( - 'POST', `https://music.163.com/weapi/djradio/recommend`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + cateId: query.type + } + return request( + 'POST', `https://music.163.com/weapi/djradio/recommend`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/dj_sub.js b/module/dj_sub.js index 6f08bd3..0e8559a 100644 --- a/module/dj_sub.js +++ b/module/dj_sub.js @@ -1,12 +1,12 @@ // 订阅与取消电台 module.exports = (query, request) => { - query.t = (query.t == 1 ? 'sub' : 'unsub') - const data = { - id: query.rid - } - return request( - 'POST', `https://music.163.com/weapi/djradio/${query.t}`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + query.t = (query.t == 1 ? 'sub' : 'unsub') + const data = { + id: query.rid + } + return request( + 'POST', `https://music.163.com/weapi/djradio/${query.t}`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/dj_sublist.js b/module/dj_sublist.js index 234e13a..f1ef137 100644 --- a/module/dj_sublist.js +++ b/module/dj_sublist.js @@ -1,13 +1,13 @@ // 订阅电台列表 module.exports = (query, request) => { - const data = { - limit: query.limit || 30, - offset: query.offset || 0, - total: true - } - return request( - 'POST', `https://music.163.com/weapi/djradio/get/subed`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + limit: query.limit || 30, + offset: query.offset || 0, + total: true + } + return request( + 'POST', `https://music.163.com/weapi/djradio/get/subed`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/event.js b/module/event.js index aab886e..9a1daba 100644 --- a/module/event.js +++ b/module/event.js @@ -1,12 +1,12 @@ // 动态 module.exports = (query, request) => { - const data={ - "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} - ) + const data={ + '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} + ) } \ No newline at end of file diff --git a/module/event_del.js b/module/event_del.js index 6e6d385..6baa1ec 100644 --- a/module/event_del.js +++ b/module/event_del.js @@ -1,11 +1,11 @@ // 删除动态 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} - ) + const data = { + id: query.evId, + } + return request( + 'POST', `https://music.163.com/eapi/event/delete`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/event_forward.js b/module/event_forward.js index 0b5af54..daba5a4 100644 --- a/module/event_forward.js +++ b/module/event_forward.js @@ -1,14 +1,14 @@ // 转发动态 module.exports = (query, request) => { - query.cookie.os = "pc"; + query.cookie.os = 'pc'; const data = { forwards: query.forwards, id: query.evId, eventUserId: query.uid }; - return request("POST", `https://music.163.com/weapi/event/forward`, data, { - crypto: "weapi", + return request('POST', `https://music.163.com/weapi/event/forward`, data, { + crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }); diff --git a/module/fm_trash.js b/module/fm_trash.js index 14cdff8..8b84f0e 100644 --- a/module/fm_trash.js +++ b/module/fm_trash.js @@ -1,11 +1,11 @@ // 垃圾桶 module.exports = (query, request) => { - const data = { - 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} - ) + const data = { + 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} + ) } \ No newline at end of file diff --git a/module/follow.js b/module/follow.js index f1b4313..41718b0 100644 --- a/module/follow.js +++ b/module/follow.js @@ -1,10 +1,10 @@ // 关注与取消关注用户 module.exports = (query, request) => { - query.cookie.os = 'pc' - 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} - ) + query.cookie.os = 'pc' + 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} + ) } \ No newline at end of file diff --git a/module/likelist.js b/module/likelist.js index e82978f..3cc0f34 100644 --- a/module/likelist.js +++ b/module/likelist.js @@ -1,11 +1,11 @@ // 喜欢的歌曲(无序) module.exports = (query, request) => { - const data = { - uid: query.uid - } - return request( - 'POST', `https://music.163.com/weapi/song/like/get`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + uid: query.uid + } + return request( + 'POST', `https://music.163.com/weapi/song/like/get`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/login.js b/module/login.js index 8f55aa1..3daad2a 100644 --- a/module/login.js +++ b/module/login.js @@ -3,14 +3,14 @@ const crypto = require('crypto') module.exports = (query, request) => { - query.cookie.os = 'pc' - const data = { - username: query.email, - password: crypto.createHash('md5').update(query.password).digest('hex'), - rememberLogin: 'true' - } - return request( - 'POST', `https://music.163.com/weapi/login`, data, - {crypto: 'weapi', ua: 'pc', cookie: query.cookie, proxy: query.proxy} - ) + query.cookie.os = 'pc' + const data = { + username: query.email, + password: crypto.createHash('md5').update(query.password).digest('hex'), + rememberLogin: 'true' + } + return request( + 'POST', `https://music.163.com/weapi/login`, data, + {crypto: 'weapi', ua: 'pc', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/login_cellphone.js b/module/login_cellphone.js index cc592c1..ed8f52d 100644 --- a/module/login_cellphone.js +++ b/module/login_cellphone.js @@ -3,15 +3,15 @@ const crypto = require('crypto') module.exports = (query, request) => { - query.cookie.os = 'pc' - const data = { - phone: query.phone, - countrycode: query.countrycode, - password: crypto.createHash('md5').update(query.password).digest('hex'), - rememberLogin: 'true' - } - return request( - 'POST', `https://music.163.com/weapi/login/cellphone`, data, - {crypto: 'weapi', ua: 'pc', cookie: query.cookie, proxy: query.proxy} - ) + query.cookie.os = 'pc' + const data = { + phone: query.phone, + countrycode: query.countrycode, + password: crypto.createHash('md5').update(query.password).digest('hex'), + rememberLogin: 'true' + } + return request( + 'POST', `https://music.163.com/weapi/login/cellphone`, data, + {crypto: 'weapi', ua: 'pc', cookie: query.cookie, proxy: query.proxy} + ) } diff --git a/module/login_refresh.js b/module/login_refresh.js index bd69ff3..a6f43f2 100644 --- a/module/login_refresh.js +++ b/module/login_refresh.js @@ -1,8 +1,8 @@ // 登录刷新 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} - ) + return request( + 'POST', `https://music.163.com/weapi/login/token/refresh`, {}, + {crypto: 'weapi', ua: 'pc', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/login_status.js b/module/login_status.js index 80d3e71..91f417f 100644 --- a/module/login_status.js +++ b/module/login_status.js @@ -1,21 +1,21 @@ // 登录状态 module.exports = (query, request) => { - return request( - 'GET', `https://music.163.com`, {}, - {cookie: query.cookie, proxy: query.proxy} - ) + 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) - } + 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) + } }) } \ No newline at end of file diff --git a/module/logout.js b/module/logout.js index c093cc1..d5f3b7d 100644 --- a/module/logout.js +++ b/module/logout.js @@ -1,8 +1,8 @@ // 退出登录 module.exports = (query, request) => { - return request( - 'POST', `https://music.163.com/weapi/logout`, {}, - {crypto: 'weapi', ua: 'pc', cookie: query.cookie, proxy: query.proxy} - ) + return request( + 'POST', `https://music.163.com/weapi/logout`, {}, + {crypto: 'weapi', ua: 'pc', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/lyric.js b/module/lyric.js index 7680b50..32fdc02 100644 --- a/module/lyric.js +++ b/module/lyric.js @@ -1,11 +1,11 @@ // 歌词 module.exports = (query, request) => { - const data={ - id:query.id - } - return request( - 'POST', `https://music.163.com/weapi/song/lyric?lv=-1&kv=-1&tv=-1`, data, - {crypto: 'linuxapi', cookie: query.cookie, proxy: query.proxy} - ) + const data={ + id: query.id + } + return request( + 'POST', `https://music.163.com/weapi/song/lyric?lv=-1&kv=-1&tv=-1`, data, + {crypto: 'linuxapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/msg_comments.js b/module/msg_comments.js index 74c0dc7..36e1e38 100644 --- a/module/msg_comments.js +++ b/module/msg_comments.js @@ -2,18 +2,18 @@ module.exports = (query, request) => { const data = { - beforeTime: query.before || "-1", + beforeTime: query.before || '-1', limit: query.limit || 30, - total: "true", + total: 'true', uid: query.uid }; return request( - "POST", + 'POST', `https://music.163.com/api/v1/user/comments/${query.uid}`, data, { - crypto: "weapi", + crypto: 'weapi', cookie: query.cookie, proxy: query.proxy } diff --git a/module/msg_forwards.js b/module/msg_forwards.js index 6a900da..8663bf4 100644 --- a/module/msg_forwards.js +++ b/module/msg_forwards.js @@ -4,10 +4,10 @@ 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", + return request('POST', `https://music.163.com/api/forwards/get`, data, { + crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }); diff --git a/module/msg_notices.js b/module/msg_notices.js index 94a62cf..241d3a2 100644 --- a/module/msg_notices.js +++ b/module/msg_notices.js @@ -4,10 +4,10 @@ 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/msg/notices`, data, { - crypto: "weapi", + return request('POST', `https://music.163.com/api/msg/notices`, data, { + crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }); diff --git a/module/msg_private.js b/module/msg_private.js index 3351c0f..91f9ea5 100644 --- a/module/msg_private.js +++ b/module/msg_private.js @@ -4,10 +4,10 @@ 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/msg/private/users`, data, { - crypto: "weapi", + return request('POST', `https://music.163.com/api/msg/private/users`, data, { + crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }); diff --git a/module/msg_private_history.js b/module/msg_private_history.js index dcd72c2..08605c2 100644 --- a/module/msg_private_history.js +++ b/module/msg_private_history.js @@ -5,14 +5,14 @@ module.exports = (query, request) => { userId: query.uid, offset: query.offset || 0, limit: query.limit || 30, - total: "true" + total: 'true' }; return request( - "POST", + 'POST', `https://music.163.com/api/msg/private/history`, data, { - crypto: "weapi", + crypto: 'weapi', cookie: query.cookie, proxy: query.proxy } diff --git a/module/mv_all.js b/module/mv_all.js index 4beac71..42777df 100644 --- a/module/mv_all.js +++ b/module/mv_all.js @@ -3,16 +3,16 @@ module.exports = (query, request) => { const data = { tags: JSON.stringify({ - 地区: query.area || "全部", - 类型: query.type || "全部", - 排序: query.order || "上升最快" + 地区: query.area || '全部', + 类型: query.type || '全部', + 排序: query.order || '上升最快' }), offset: query.offset || 0, - total: "true", + total: 'true', limit: query.limit || 30 }; - return request("POST", `https://interface.music.163.com/api/mv/all`, data, { - crypto: "weapi", + return request('POST', `https://interface.music.163.com/api/mv/all`, data, { + crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }); diff --git a/module/mv_detail.js b/module/mv_detail.js index 9f7a79a..f46ef81 100644 --- a/module/mv_detail.js +++ b/module/mv_detail.js @@ -1,11 +1,11 @@ // MV详情 module.exports = (query, request) => { - const data = { - id: query.mvid - } - return request( - 'POST', `https://music.163.com/weapi/mv/detail`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + id: query.mvid + } + return request( + 'POST', `https://music.163.com/weapi/mv/detail`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/mv_exclusive_rcmd.js b/module/mv_exclusive_rcmd.js index 7efd248..a11b2aa 100644 --- a/module/mv_exclusive_rcmd.js +++ b/module/mv_exclusive_rcmd.js @@ -6,11 +6,11 @@ module.exports = (query, request) => { limit: query.limit || 30 }; return request( - "POST", + 'POST', `https://interface.music.163.com/api/mv/exclusive/rcmd`, data, { - crypto: "weapi", + crypto: 'weapi', cookie: query.cookie, proxy: query.proxy } diff --git a/module/mv_first.js b/module/mv_first.js index d13284c..e83e372 100644 --- a/module/mv_first.js +++ b/module/mv_first.js @@ -3,12 +3,12 @@ module.exports = (query, request) => { const data = { // 'offset': query.offset || 0, - area: query.area || "", + area: query.area || '', limit: query.limit || 30, total: true }; - return request("POST", `https://interface.music.163.com/weapi/mv/first`, data, { - crypto: "weapi", + return request('POST', `https://interface.music.163.com/weapi/mv/first`, data, { + crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }); diff --git a/module/mv_sub.js b/module/mv_sub.js index fa068f0..9f2c225 100644 --- a/module/mv_sub.js +++ b/module/mv_sub.js @@ -1,13 +1,13 @@ // 收藏与取消收藏MV module.exports = (query, request) => { - 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} - ) + 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} + ) } \ No newline at end of file diff --git a/module/mv_sublist.js b/module/mv_sublist.js index e0a5571..2d5713a 100644 --- a/module/mv_sublist.js +++ b/module/mv_sublist.js @@ -1,13 +1,13 @@ // // 已收藏MV列表 module.exports = (query, request) => { - const data = { - limit: query.limit || 25, - offset: query.offset || 0, - total: true - } - return request( - 'POST', `https://music.163.com/weapi/cloudvideo/allvideo/sublist`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + limit: query.limit || 25, + offset: query.offset || 0, + total: true + } + return request( + 'POST', `https://music.163.com/weapi/cloudvideo/allvideo/sublist`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/mv_url.js b/module/mv_url.js index 4351efd..d4bb7d2 100644 --- a/module/mv_url.js +++ b/module/mv_url.js @@ -1,12 +1,12 @@ // MV链接 module.exports = (query, request) => { - const data = { - id: query.id, - 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} - ) + const data = { + id: query.id, + 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} + ) } \ No newline at end of file diff --git a/module/personal_fm.js b/module/personal_fm.js index 3f5cc40..7c0d70f 100644 --- a/module/personal_fm.js +++ b/module/personal_fm.js @@ -1,8 +1,8 @@ // 私人FM module.exports = (query, request) => { - return request( - 'POST', `https://music.163.com/weapi/v1/radio/get`, {}, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + return request( + 'POST', `https://music.163.com/weapi/v1/radio/get`, {}, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/personalized.js b/module/personalized.js index b52c082..889c40c 100644 --- a/module/personalized.js +++ b/module/personalized.js @@ -1,14 +1,14 @@ // 推荐歌单 module.exports = (query, request) => { - const data = { - limit: query.limit || 30, - offset: query.limit || 0, - total: true, - n: 1000 - } - return request( - 'POST', `https://music.163.com/weapi/personalized/playlist`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + limit: query.limit || 30, + offset: query.limit || 0, + total: true, + n: 1000 + } + return request( + 'POST', `https://music.163.com/weapi/personalized/playlist`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/personalized_djprogram.js b/module/personalized_djprogram.js index cfd0970..4e43afc 100644 --- a/module/personalized_djprogram.js +++ b/module/personalized_djprogram.js @@ -1,8 +1,8 @@ // 推荐电台 module.exports = (query, request) => { - return request( - 'POST', `https://music.163.com/weapi/personalized/djprogram`, {}, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + return request( + 'POST', `https://music.163.com/weapi/personalized/djprogram`, {}, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/personalized_mv.js b/module/personalized_mv.js index b830c42..325a764 100644 --- a/module/personalized_mv.js +++ b/module/personalized_mv.js @@ -1,8 +1,8 @@ // 推荐MV module.exports = (query, request) => { - return request( - 'POST', `https://music.163.com/weapi/personalized/mv`, {}, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + return request( + 'POST', `https://music.163.com/weapi/personalized/mv`, {}, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/personalized_newsong.js b/module/personalized_newsong.js index c0e648b..7ce289b 100644 --- a/module/personalized_newsong.js +++ b/module/personalized_newsong.js @@ -1,11 +1,11 @@ // 推荐新歌 module.exports = (query, request) => { - const data = { - type: "recommend" - } - return request( - 'POST', `https://music.163.com/weapi/personalized/newsong`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + type: 'recommend' + } + return request( + 'POST', `https://music.163.com/weapi/personalized/newsong`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/personalized_privatecontent.js b/module/personalized_privatecontent.js index 8c4f744..2c9b3ae 100644 --- a/module/personalized_privatecontent.js +++ b/module/personalized_privatecontent.js @@ -1,8 +1,8 @@ // 独家放送 module.exports = (query, request) => { - return request( - 'POST', `https://music.163.com/weapi/personalized/privatecontent`, {}, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + return request( + 'POST', `https://music.163.com/weapi/personalized/privatecontent`, {}, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/playlist_catlist.js b/module/playlist_catlist.js index b359ac8..e354d4a 100644 --- a/module/playlist_catlist.js +++ b/module/playlist_catlist.js @@ -1,8 +1,8 @@ // 全部歌单分类 module.exports = (query, request) => { - return request( - 'POST', `https://music.163.com/weapi/playlist/catalogue`, {}, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + return request( + 'POST', `https://music.163.com/weapi/playlist/catalogue`, {}, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/playlist_create.js b/module/playlist_create.js index bd4181c..a8abe54 100644 --- a/module/playlist_create.js +++ b/module/playlist_create.js @@ -1,13 +1,13 @@ // 创建歌单 module.exports = (query, request) => { - query.cookie.os = "pc"; + query.cookie.os = 'pc'; const data = { name: query.name, privacy: query.privacy //0 为普通歌单,10 为隐私歌单 }; - return request("POST", `https://music.163.com/weapi/playlist/create`, data, { - crypto: "weapi", + return request('POST', `https://music.163.com/weapi/playlist/create`, data, { + crypto: 'weapi', cookie: query.cookie, proxy: query.proxy }); diff --git a/module/playlist_desc_update.js b/module/playlist_desc_update.js index e6db820..316df10 100644 --- a/module/playlist_desc_update.js +++ b/module/playlist_desc_update.js @@ -6,12 +6,12 @@ module.exports = (query, request) => { desc: query.desc } return request( - 'POST', `http://interface3.music.163.com/eapi/playlist/desc/update`, data, - { - crypto: 'eapi', - cookie: query.cookie, - proxy: query.proxy, - url: '/api/playlist/desc/update' - } + 'POST', `http://interface3.music.163.com/eapi/playlist/desc/update`, data, + { + crypto: 'eapi', + cookie: query.cookie, + proxy: query.proxy, + url: '/api/playlist/desc/update' + } ) } \ No newline at end of file diff --git a/module/playlist_detail.js b/module/playlist_detail.js index 441b81e..22f36e0 100644 --- a/module/playlist_detail.js +++ b/module/playlist_detail.js @@ -1,13 +1,13 @@ // 歌单详情 module.exports = (query, request) => { - const data = { - id: query.id, - n: 100000, - s: query.s || 8 - } - return request( - 'POST', `https://music.163.com/weapi/v3/playlist/detail`, data, - {crypto: 'linuxapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + id: query.id, + n: 100000, + s: query.s || 8 + } + return request( + 'POST', `https://music.163.com/weapi/v3/playlist/detail`, data, + {crypto: 'linuxapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/playlist_hot.js b/module/playlist_hot.js index d26c123..8e8c256 100644 --- a/module/playlist_hot.js +++ b/module/playlist_hot.js @@ -1,8 +1,8 @@ // 热门歌单分类 module.exports = (query, request) => { - return request( - 'POST', `https://music.163.com/weapi/playlist/hottags`, {}, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + return request( + 'POST', `https://music.163.com/weapi/playlist/hottags`, {}, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/playlist_name_update.js b/module/playlist_name_update.js index d6e04c0..12cb602 100644 --- a/module/playlist_name_update.js +++ b/module/playlist_name_update.js @@ -6,12 +6,12 @@ module.exports = (query, request) => { name: query.name } return request( - 'POST', `http://interface3.music.163.com/eapi/playlist/update/name`, data, - { - crypto: 'eapi', - cookie: query.cookie, - proxy: query.proxy, - url: '/api/playlist/update/name' - } + 'POST', `http://interface3.music.163.com/eapi/playlist/update/name`, data, + { + crypto: 'eapi', + cookie: query.cookie, + proxy: query.proxy, + url: '/api/playlist/update/name' + } ) } \ No newline at end of file diff --git a/module/playlist_subscribe.js b/module/playlist_subscribe.js index 9228675..9f94b9d 100644 --- a/module/playlist_subscribe.js +++ b/module/playlist_subscribe.js @@ -1,12 +1,12 @@ // 收藏与取消收藏歌单 module.exports = (query, request) => { - query.t = (query.t == 1 ? 'subscribe' : 'unsubscribe') - const data = { - id: query.id - } - return request( - 'POST', `https://music.163.com/weapi/playlist/${query.t}`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + query.t = (query.t == 1 ? 'subscribe' : 'unsubscribe') + const data = { + id: query.id + } + return request( + 'POST', `https://music.163.com/weapi/playlist/${query.t}`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/playlist_subscribers.js b/module/playlist_subscribers.js index 9274b15..f610bef 100644 --- a/module/playlist_subscribers.js +++ b/module/playlist_subscribers.js @@ -5,9 +5,9 @@ module.exports = (query, request) => { offset: query.offset || 0 }; return request( - "POST", + 'POST', `https://music.163.com/weapi/playlist/subscribers`, data, - { crypto: "weapi", cookie: query.cookie, proxy: query.proxy } + { crypto: 'weapi', cookie: query.cookie, proxy: query.proxy } ); }; diff --git a/module/playlist_tags_update.js b/module/playlist_tags_update.js index 417a1b3..9d81283 100644 --- a/module/playlist_tags_update.js +++ b/module/playlist_tags_update.js @@ -6,12 +6,12 @@ module.exports = (query, request) => { tags: query.tags } return request( - 'POST', `http://interface3.music.163.com/eapi/playlist/tags/update`, data, - { - crypto: 'eapi', - cookie: query.cookie, - proxy: query.proxy, - url: '/api/playlist/tags/update' - } + 'POST', `http://interface3.music.163.com/eapi/playlist/tags/update`, data, + { + crypto: 'eapi', + cookie: query.cookie, + proxy: query.proxy, + url: '/api/playlist/tags/update' + } ) } \ No newline at end of file diff --git a/module/playlist_tracks.js b/module/playlist_tracks.js index 2052bef..b2afe1b 100644 --- a/module/playlist_tracks.js +++ b/module/playlist_tracks.js @@ -1,13 +1,13 @@ // 收藏单曲到歌单 从歌单删除歌曲 module.exports = (query, request) => { - const data = { - op: query.op, // del,add - pid: query.pid, // 歌单id - trackIds: '[' + query.tracks + ']' // 歌曲id - } - return request( - 'POST', `https://music.163.com/weapi/playlist/manipulate/tracks`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + op: query.op, // del,add + pid: query.pid, // 歌单id + trackIds: '[' + query.tracks + ']' // 歌曲id + } + return request( + 'POST', `https://music.163.com/weapi/playlist/manipulate/tracks`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/playlist_update.js b/module/playlist_update.js index 2e454ad..204dd14 100644 --- a/module/playlist_update.js +++ b/module/playlist_update.js @@ -1,16 +1,16 @@ // 编辑歌单 module.exports = (query, request) => { - query.cookie.os = 'pc' - query.desc = query.desc || '' - query.tags = query.tags || '' - const data = { - "/api/playlist/desc/update": `{"id":${query.id},"desc":"${query.desc}"}`, - "/api/playlist/tags/update": `{"id":${query.id},"tags":"${query.tags}"}`, - "/api/playlist/update/name": `{"id":${query.id},"name":"${query.name}"}` - } - return request( - 'POST', `https://music.163.com/weapi/batch`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + query.cookie.os = 'pc' + query.desc = query.desc || '' + query.tags = query.tags || '' + const data = { + '/api/playlist/desc/update': `{"id":${query.id},"desc":"${query.desc}"}`, + '/api/playlist/tags/update': `{"id":${query.id},"tags":"${query.tags}"}`, + '/api/playlist/update/name': `{"id":${query.id},"name":"${query.name}"}` + } + return request( + 'POST', `https://music.163.com/weapi/batch`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/playmode_intelligence_list.js b/module/playmode_intelligence_list.js index 470cd69..e91ee75 100644 --- a/module/playmode_intelligence_list.js +++ b/module/playmode_intelligence_list.js @@ -3,15 +3,15 @@ module.exports = (query, request) => { const data = { songId: query.id, - type: "fromPlayOne", + type: 'fromPlayOne', playlistId: query.pid, startMusicId: query.sid || query.id, count: query.count || 1 }; return request( - "POST", + 'POST', `http://music.163.com/weapi/playmode/intelligence/list`, data, - { crypto: "weapi", cookie: query.cookie, proxy: query.proxy } + { crypto: 'weapi', cookie: query.cookie, proxy: query.proxy } ); }; diff --git a/module/program_recommend.js b/module/program_recommend.js index c4a2316..3d92954 100644 --- a/module/program_recommend.js +++ b/module/program_recommend.js @@ -1,13 +1,13 @@ // 推荐节目 module.exports = (query, request) => { - const data = { - cateId: query.type, - limit: query.limit || 10, - offset: query.offset || 0 - } - return request( - 'POST', `https://music.163.com/weapi/program/recommend/v1`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + cateId: query.type, + limit: query.limit || 10, + offset: query.offset || 0 + } + return request( + 'POST', `https://music.163.com/weapi/program/recommend/v1`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/rebind.js b/module/rebind.js index c7d5e12..7de7713 100644 --- a/module/rebind.js +++ b/module/rebind.js @@ -5,12 +5,12 @@ module.exports = (query, request) => { captcha: query.captcha, phone: query.phone, oldcaptcha: query.oldcaptcha, - ctcode: query.ctcode || "86" + ctcode: query.ctcode || '86' }; return request( - "POST", + 'POST', `https://music.163.com/api/user/replaceCellphone`, data, - { crypto: "weapi", cookie: query.cookie, proxy: query.proxy } + { crypto: 'weapi', cookie: query.cookie, proxy: query.proxy } ); }; diff --git a/module/recommend_resource.js b/module/recommend_resource.js index 49ddc14..ce53c52 100644 --- a/module/recommend_resource.js +++ b/module/recommend_resource.js @@ -1,8 +1,8 @@ // 每日推荐歌单 module.exports = (query, request) => { - return request( - 'POST', `https://music.163.com/weapi/v1/discovery/recommend/resource`, {}, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + return request( + 'POST', `https://music.163.com/weapi/v1/discovery/recommend/resource`, {}, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/recommend_songs.js b/module/recommend_songs.js index d031d00..5cdc7fd 100644 --- a/module/recommend_songs.js +++ b/module/recommend_songs.js @@ -1,13 +1,13 @@ // 每日推荐歌曲 module.exports = (query, request) => { - const data = { - limit: 20, - offset: 0, - total: true - } - return request( - 'POST', `https://music.163.com/weapi/v1/discovery/recommend/songs`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + limit: 20, + offset: 0, + total: true + } + return request( + 'POST', `https://music.163.com/weapi/v1/discovery/recommend/songs`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/related_allvideo.js b/module/related_allvideo.js index 48a5a65..21d9823 100644 --- a/module/related_allvideo.js +++ b/module/related_allvideo.js @@ -1,12 +1,12 @@ // 相关视频 module.exports = (query, request) => { - const data = { - id: query.id, - type: (/^\d+$/.test(query.id)) ? 0 : 1 - } - return request( - 'POST', `https://music.163.com/weapi/cloudvideo/v1/allvideo/rcmd`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) + const data = { + id: query.id, + type: (/^\d+$/.test(query.id)) ? 0 : 1 + } + return request( + 'POST', `https://music.163.com/weapi/cloudvideo/v1/allvideo/rcmd`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) } \ No newline at end of file diff --git a/module/related_playlist.js b/module/related_playlist.js index c867d64..3e4a540 100644 --- a/module/related_playlist.js +++ b/module/related_playlist.js @@ -1,32 +1,32 @@ // 相关歌单 module.exports = (query, request) => { - return request( - 'GET', `https://music.163.com/playlist?id=${query.id}`, {}, - {ua: 'pc', cookie: query.cookie, proxy: query.proxy} - ) + return request( + 'GET', `https://music.163.com/playlist?id=${query.id}`, {}, + {ua: 'pc', cookie: query.cookie, proxy: query.proxy} + ) .then(response => { - try{ - const pattern = /