diff --git a/netease_api/module/artist_fans.js b/netease_api/module/artist_fans.js new file mode 100644 index 0000000..700eac0 --- /dev/null +++ b/netease_api/module/artist_fans.js @@ -0,0 +1,15 @@ +// 歌手粉丝 + +module.exports = (query, request) => { + const data = { + id: query.id, + limit: query.limit || 20, + offset: query.offset || 0, + } + return request('POST', `https://music.163.com/weapi/artist/fans/get`, data, { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }) +} diff --git a/netease_api/module/cloud_match.js b/netease_api/module/cloud_match.js new file mode 100644 index 0000000..d28d88b --- /dev/null +++ b/netease_api/module/cloud_match.js @@ -0,0 +1,20 @@ +module.exports = (query, request) => { + query.cookie.os = 'ios' + query.cookie.appver = '8.1.20' + const data = { + userId: query.uid, + songId: query.sid, + adjustSongId: query.asid, + } + return request( + 'POST', + `https://music.163.com/api/cloud/user/song/match`, + data, + { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }, + ) +} diff --git a/netease_api/module/digitalAlbum_detail.js b/netease_api/module/digitalAlbum_detail.js new file mode 100644 index 0000000..a3ed02d --- /dev/null +++ b/netease_api/module/digitalAlbum_detail.js @@ -0,0 +1,18 @@ +// 数字专辑详情 + +module.exports = (query, request) => { + const data = { + id: query.id, + } + return request( + 'POST', + `https://music.163.com/weapi/vipmall/albumproduct/detail`, + data, + { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }, + ) +} diff --git a/netease_api/module/digitalAlbum_sales.js b/netease_api/module/digitalAlbum_sales.js new file mode 100644 index 0000000..89da320 --- /dev/null +++ b/netease_api/module/digitalAlbum_sales.js @@ -0,0 +1,18 @@ +// 数字专辑销量 + +module.exports = (query, request) => { + const data = { + albumIds: query.ids, + } + return request( + 'POST', + `https://music.163.com/weapi/vipmall/albumproduct/album/query/sales`, + data, + { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }, + ) +} diff --git a/netease_api/module/homepage_block_page.js b/netease_api/module/homepage_block_page.js index 618e534..af4b074 100644 --- a/netease_api/module/homepage_block_page.js +++ b/netease_api/module/homepage_block_page.js @@ -4,7 +4,7 @@ module.exports = (query, request) => { query.cookie.os = 'ios' query.cookie.appver = '8.1.20' - const data = { refresh: query.refresh || true } + const data = { refresh: query.refresh || false, cursor: query.cursor } return request( 'POST', `https://music.163.com/api/homepage/block/page`, diff --git a/netease_api/module/homepage_dragon_ball.js b/netease_api/module/homepage_dragon_ball.js index 76973aa..00231dd 100644 --- a/netease_api/module/homepage_dragon_ball.js +++ b/netease_api/module/homepage_dragon_ball.js @@ -4,9 +4,6 @@ // !需要登录或者匿名登录,非登录返回 [] const config = require('../util/config.json') module.exports = (query, request) => { - if (typeof query.cookie === 'string') { - query.cookie = cookieToJson(query.cookie) - } if (!('MUSIC_U' in query.cookie)) query.cookie.MUSIC_A = config.anonymous_token const data = {} diff --git a/netease_api/module/listen_together_status.js b/netease_api/module/listen_together_status.js new file mode 100644 index 0000000..61fd902 --- /dev/null +++ b/netease_api/module/listen_together_status.js @@ -0,0 +1,15 @@ +// 一起听状态 + +module.exports = (query, request) => { + return request( + 'POST', + `https://music.163.com/api/listen/together/status/get`, + {}, + { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }, + ) +} diff --git a/netease_api/module/login_cellphone.js b/netease_api/module/login_cellphone.js index 0d2e7ae..a66b592 100644 --- a/netease_api/module/login_cellphone.js +++ b/netease_api/module/login_cellphone.js @@ -7,9 +7,11 @@ module.exports = async (query, request) => { const data = { phone: query.phone, countrycode: query.countrycode || '86', - password: - query.md5_password || - crypto.createHash('md5').update(query.password).digest('hex'), + captcha: query.captcha, + [query.captcha ? 'captcha' : 'password']: query.captcha + ? query.captcha + : query.md5_password || + crypto.createHash('md5').update(query.password).digest('hex'), rememberLogin: 'true', } let result = await request( diff --git a/netease_api/module/mlog_music_rcmd.js b/netease_api/module/mlog_music_rcmd.js new file mode 100644 index 0000000..a4e00bb --- /dev/null +++ b/netease_api/module/mlog_music_rcmd.js @@ -0,0 +1,23 @@ +// 歌曲相关视频 + +module.exports = (query, request) => { + const data = { + id: query.mvid || 0, + type: 2, + rcmdType: 20, + limit: query.limit || 10, + extInfo: JSON.stringify({ songId: query.songid }), + } + return request( + 'POST', + `https://interface.music.163.com/eapi/mlog/rcmd/feed/list`, + data, + { + crypto: 'eapi', + cookie: query.cookie, + proxy: query.proxy, + url: '/api/mlog/rcmd/feed/list', + realIP: query.realIP, + }, + ) +} diff --git a/netease_api/module/mlog_to_video.js b/netease_api/module/mlog_to_video.js new file mode 100644 index 0000000..54b279e --- /dev/null +++ b/netease_api/module/mlog_to_video.js @@ -0,0 +1,18 @@ +// 将mlog id转为video id + +module.exports = (query, request) => { + const data = { + mlogId: query.id, + } + return request( + 'POST', + `https://music.163.com/weapi/mlog/video/convert/id`, + data, + { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }, + ) +} diff --git a/netease_api/module/mlog_url.js b/netease_api/module/mlog_url.js new file mode 100644 index 0000000..f7223e0 --- /dev/null +++ b/netease_api/module/mlog_url.js @@ -0,0 +1,15 @@ +// mlog链接 + +module.exports = (query, request) => { + const data = { + id: query.id, + resolution: query.res || 1080, + type: 1, + } + return request('POST', `https://music.163.com/weapi/mlog/detail/v1`, data, { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }) +} diff --git a/netease_api/module/musician_cloudbean.js b/netease_api/module/musician_cloudbean.js new file mode 100644 index 0000000..e85a285 --- /dev/null +++ b/netease_api/module/musician_cloudbean.js @@ -0,0 +1,11 @@ +// 账号云豆数 + +module.exports = (query, request) => { + const data = {} + return request('POST', `https://music.163.com/weapi/cloudbean/get`, data, { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }) +} diff --git a/netease_api/module/musician_cloudbean_obtain.js b/netease_api/module/musician_cloudbean_obtain.js new file mode 100644 index 0000000..2320278 --- /dev/null +++ b/netease_api/module/musician_cloudbean_obtain.js @@ -0,0 +1,19 @@ +// 领取云豆 + +module.exports = (query, request) => { + const data = { + userMissionId: query.id, + period: query.period, + } + return request( + 'POST', + `https://music.163.com/weapi/nmusician/workbench/mission/reward/obtain/new`, + data, + { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }, + ) +} diff --git a/netease_api/module/musician_data_overview.js b/netease_api/module/musician_data_overview.js new file mode 100644 index 0000000..b96d03e --- /dev/null +++ b/netease_api/module/musician_data_overview.js @@ -0,0 +1,16 @@ +// 音乐人数据概况 + +module.exports = (query, request) => { + const data = {} + return request( + 'POST', + `https://music.163.com/weapi/creator/musician/statistic/data/overview/get`, + data, + { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }, + ) +} diff --git a/netease_api/module/musician_play_trend.js b/netease_api/module/musician_play_trend.js new file mode 100644 index 0000000..d8f14fe --- /dev/null +++ b/netease_api/module/musician_play_trend.js @@ -0,0 +1,19 @@ +// 音乐人歌曲播放趋势 + +module.exports = (query, request) => { + const data = { + startTime: query.startTime, + endTime: query.endTime, + } + return request( + 'POST', + `https://music.163.com/weapi/creator/musician/play/count/statistic/data/trend/get`, + data, + { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }, + ) +} diff --git a/netease_api/module/musician_sign.js b/netease_api/module/musician_sign.js new file mode 100644 index 0000000..6d5717a --- /dev/null +++ b/netease_api/module/musician_sign.js @@ -0,0 +1,16 @@ +// 音乐人签到 + +module.exports = (query, request) => { + const data = {} + return request( + 'POST', + `https://music.163.com/weapi/creator/user/access`, + data, + { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }, + ) +} diff --git a/netease_api/module/musician_tasks.js b/netease_api/module/musician_tasks.js new file mode 100644 index 0000000..cb98c93 --- /dev/null +++ b/netease_api/module/musician_tasks.js @@ -0,0 +1,16 @@ +// 获取音乐人任务 + +module.exports = (query, request) => { + const data = {} + return request( + 'POST', + `https://music.163.com/weapi/nmusician/workbench/mission/cycle/list`, + data, + { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }, + ) +} diff --git a/netease_api/module/personalized_newsong.js b/netease_api/module/personalized_newsong.js index 283b92a..2af12a3 100644 --- a/netease_api/module/personalized_newsong.js +++ b/netease_api/module/personalized_newsong.js @@ -1,6 +1,7 @@ // 推荐新歌 module.exports = (query, request) => { + query.cookie.os = 'pc' const data = { type: 'recommend', limit: query.limit || 10, @@ -8,7 +9,7 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/personalized/newsong`, + `https://music.163.com/api/personalized/newsong`, data, { crypto: 'weapi', diff --git a/netease_api/module/playlist_privacy.js b/netease_api/module/playlist_privacy.js new file mode 100644 index 0000000..ded2819 --- /dev/null +++ b/netease_api/module/playlist_privacy.js @@ -0,0 +1,20 @@ +// 公开隐私歌单 + +module.exports = (query, request) => { + const data = { + id: query.id, + privacy: 0, + } + return request( + 'POST', + `https://interface.music.163.com/eapi/playlist/update/privacy`, + data, + { + crypto: 'eapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + url: '/api/playlist/update/privacy', + }, + ) +} diff --git a/netease_api/module/related_playlist.js b/netease_api/module/related_playlist.js index 6f64b3d..02e580f 100644 --- a/netease_api/module/related_playlist.js +++ b/netease_api/module/related_playlist.js @@ -13,7 +13,8 @@ module.exports = (query, request) => { }, ).then((response) => { try { - const pattern = /