diff --git a/module/activate_init_profile.js b/module/activate_init_profile.js index a59061b..7c006ca 100644 --- a/module/activate_init_profile.js +++ b/module/activate_init_profile.js @@ -1,20 +1,9 @@ // 初始化名字 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { nickname: query.nickname, } - return request( - 'POST', - `https://music.163.com/eapi/activate/initProfile`, - data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/activate/initProfile', - }, - ) + return request('POST', `/api/activate/initProfile`, data, createOption(query)) } diff --git a/module/aidj_content_rcmd.js b/module/aidj_content_rcmd.js index 2fcac5d..e580b1d 100644 --- a/module/aidj_content_rcmd.js +++ b/module/aidj_content_rcmd.js @@ -4,6 +4,7 @@ // 可按需修改此 API 的代码 /* {"extInfo":"{\"lastRequestTimestamp\":1692358373509,\"lbsInfoList\":[{\"lat\":40.23076381,\"lon\":129.07545186,\"time\":1692358543},{\"lat\":40.23076381,\"lon\":129.07545186,\"time\":1692055283}],\"listenedTs\":false,\"noAidjToAidj\":true}","header":"{}","e_r":true} */ +const createOption = require('../util/option.js') module.exports = (query, request) => { var extInfo = {} if (query.latitude != undefined) { @@ -24,15 +25,8 @@ module.exports = (query, request) => { // console.log(data) return request( 'POST', - `https://interface3.music.163.com/eapi/aidj/content/rcmd/info`, + `/api/aidj/content/rcmd/info`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/aidj/content/rcmd/info', - }, + createOption(query), ) } diff --git a/module/album.js b/module/album.js index a453070..4697e02 100644 --- a/module/album.js +++ b/module/album.js @@ -1,16 +1,11 @@ // 专辑内容 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/weapi/v1/album/${query.id}`, + `/api/v1/album/${query.id}`, {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/album_detail.js b/module/album_detail.js index 8eaf831..a85f8fe 100644 --- a/module/album_detail.js +++ b/module/album_detail.js @@ -1,18 +1,13 @@ // 数字专辑详情 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, } return request( 'POST', - `https://music.163.com/weapi/vipmall/albumproduct/detail`, + `/api/vipmall/albumproduct/detail`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/album_detail_dynamic.js b/module/album_detail_dynamic.js index 47a4073..b9ed868 100644 --- a/module/album_detail_dynamic.js +++ b/module/album_detail_dynamic.js @@ -1,18 +1,13 @@ // 专辑动态信息 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, } return request( 'POST', - `https://music.163.com/api/album/detail/dynamic`, + `/api/album/detail/dynamic`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/album_list.js b/module/album_list.js index c037881..5fd2f6d 100644 --- a/module/album_list.js +++ b/module/album_list.js @@ -1,4 +1,5 @@ // 数字专辑-新碟上架 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 30, @@ -9,14 +10,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/vipmall/albumproduct/list`, + `/api/vipmall/albumproduct/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/album_list_style.js b/module/album_list_style.js index 01533c8..6801e9a 100644 --- a/module/album_list_style.js +++ b/module/album_list_style.js @@ -1,4 +1,5 @@ // 数字专辑-语种风格馆 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 10, @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/vipmall/appalbum/album/style`, + `/api/vipmall/appalbum/album/style`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/album_new.js b/module/album_new.js index 12ac721..e5229c8 100644 --- a/module/album_new.js +++ b/module/album_new.js @@ -1,4 +1,5 @@ // 全部新碟 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 30, @@ -6,11 +7,5 @@ module.exports = (query, request) => { total: true, area: query.area || 'ALL', //ALL:全部,ZH:华语,EA:欧美,KR:韩国,JP:日本 } - return request('POST', `https://music.163.com/weapi/album/new`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request('POST', `/api/album/new`, data, createOption(query, 'weapi')) } diff --git a/module/album_newest.js b/module/album_newest.js index 9feb1ca..1707e29 100644 --- a/module/album_newest.js +++ b/module/album_newest.js @@ -1,16 +1,11 @@ // 最新专辑 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/api/discovery/newAlbum`, + `/api/discovery/newAlbum`, {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/album_privilege.js b/module/album_privilege.js index e0b045f..d1233ca 100644 --- a/module/album_privilege.js +++ b/module/album_privilege.js @@ -1,20 +1,9 @@ // 获取专辑歌曲的音质 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, } - return request( - 'POST', - `https://interface.music.163.com/eapi/album/privilege`, - data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - url: '/api/album/privilege', - realIP: query.realIP, - }, - ) + return request('POST', `/api/album/privilege`, data, createOption(query)) } diff --git a/module/album_songsaleboard.js b/module/album_songsaleboard.js index db477a1..14534bf 100644 --- a/module/album_songsaleboard.js +++ b/module/album_songsaleboard.js @@ -1,4 +1,5 @@ // 数字专辑&数字单曲-榜单 +const createOption = require('../util/option.js') module.exports = (query, request) => { let data = { albumType: query.albumType || 0, //0为数字专辑,1为数字单曲 @@ -12,14 +13,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/feealbum/songsaleboard/${type}/type`, + `/api/feealbum/songsaleboard/${type}/type`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/album_sub.js b/module/album_sub.js index 5afe933..e8c5a82 100644 --- a/module/album_sub.js +++ b/module/album_sub.js @@ -1,15 +1,15 @@ // 收藏/取消收藏专辑 +const createOption = require('../util/option.js') 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, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/album/${query.t}`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/album_sublist.js b/module/album_sublist.js index cac790f..b0626a6 100644 --- a/module/album_sublist.js +++ b/module/album_sublist.js @@ -1,16 +1,16 @@ // 已收藏专辑列表 +const createOption = require('../util/option.js') 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, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/album/sublist`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/artist_album.js b/module/artist_album.js index 49d0118..851c0c9 100644 --- a/module/artist_album.js +++ b/module/artist_album.js @@ -1,5 +1,6 @@ // 歌手专辑列表 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 30, @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/artist/albums/${query.id}`, + `/api/artist/albums/${query.id}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/artist_desc.js b/module/artist_desc.js index d14f063..0e14a42 100644 --- a/module/artist_desc.js +++ b/module/artist_desc.js @@ -1,19 +1,14 @@ // 歌手介绍 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, } return request( 'POST', - `https://music.163.com/weapi/artist/introduction`, + `/api/artist/introduction`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/artist_detail.js b/module/artist_detail.js index 63079c9..0a57d02 100644 --- a/module/artist_detail.js +++ b/module/artist_detail.js @@ -1,16 +1,11 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/api/artist/head/info/get`, + `/api/artist/head/info/get`, { id: query.id, }, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/artist_detail_dynamic.js b/module/artist_detail_dynamic.js index c129696..05221ea 100644 --- a/module/artist_detail_dynamic.js +++ b/module/artist_detail_dynamic.js @@ -1,20 +1,14 @@ // 歌手动态信息 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, } return request( 'POST', - `https://interface.music.163.com/eapi/artist/detail/dynamic`, + `/api/artist/detail/dynamic`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - url: '/api/artist/detail/dynamic', - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/artist_fans.js b/module/artist_fans.js index 41ffdf4..d98461f 100644 --- a/module/artist_fans.js +++ b/module/artist_fans.js @@ -1,16 +1,16 @@ // 歌手粉丝 +const createOption = require('../util/option.js') 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, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/artist/fans/get`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/artist_follow_count.js b/module/artist_follow_count.js index 4dabb04..6fb0197 100644 --- a/module/artist_follow_count.js +++ b/module/artist_follow_count.js @@ -1,19 +1,14 @@ // 歌手粉丝数量 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, } return request( 'POST', - `https://music.163.com/weapi/artist/follow/count/get`, + `/api/artist/follow/count/get`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/artist_list.js b/module/artist_list.js index 51ad299..02d59fe 100644 --- a/module/artist_list.js +++ b/module/artist_list.js @@ -17,6 +17,7 @@ initial 取值 a-z/A-Z */ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { initial: isNaN(query.initial) @@ -28,11 +29,10 @@ module.exports = (query, request) => { type: query.type || '1', area: query.area, } - return request('POST', `https://music.163.com/api/v1/artist/list`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/v1/artist/list`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/artist_mv.js b/module/artist_mv.js index 43ae243..c22ca18 100644 --- a/module/artist_mv.js +++ b/module/artist_mv.js @@ -1,5 +1,6 @@ // 歌手相关MV +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { artistId: query.id, @@ -7,11 +8,5 @@ module.exports = (query, request) => { offset: query.offset, total: true, } - return request('POST', `https://music.163.com/weapi/artist/mvs`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request('POST', `/api/artist/mvs`, data, createOption(query, 'weapi')) } diff --git a/module/artist_new_mv.js b/module/artist_new_mv.js index 27cdb8c..b4dbea0 100644 --- a/module/artist_new_mv.js +++ b/module/artist_new_mv.js @@ -1,3 +1,4 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 20, @@ -5,14 +6,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/sub/artist/new/works/mv/list`, + `/api/sub/artist/new/works/mv/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/artist_new_song.js b/module/artist_new_song.js index 11d596d..b3944ee 100644 --- a/module/artist_new_song.js +++ b/module/artist_new_song.js @@ -1,3 +1,4 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 20, @@ -5,14 +6,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/sub/artist/new/works/song/list`, + `/api/sub/artist/new/works/song/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/artist_songs.js b/module/artist_songs.js index a64dff6..e8aa2ce 100644 --- a/module/artist_songs.js +++ b/module/artist_songs.js @@ -1,3 +1,4 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' @@ -9,11 +10,10 @@ module.exports = (query, request) => { offset: query.offset || 0, limit: query.limit || 100, } - return request('POST', `https://music.163.com/api/v1/artist/songs`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/v1/artist/songs`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/artist_sub.js b/module/artist_sub.js index def0e86..760af55 100644 --- a/module/artist_sub.js +++ b/module/artist_sub.js @@ -1,5 +1,6 @@ // 收藏与取消收藏歌手 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.t = query.t == 1 ? 'sub' : 'unsub' const data = { @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/artist/${query.t}`, + `/api/artist/${query.t}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/artist_sublist.js b/module/artist_sublist.js index 5f1ab17..9ff69f2 100644 --- a/module/artist_sublist.js +++ b/module/artist_sublist.js @@ -1,16 +1,16 @@ // 关注歌手列表 +const createOption = require('../util/option.js') 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, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/artist/sublist`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/artist_top_song.js b/module/artist_top_song.js index 0c2b4a4..f1bd3bb 100644 --- a/module/artist_top_song.js +++ b/module/artist_top_song.js @@ -1,13 +1,13 @@ // 歌手热门 50 首歌曲 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, } - return request('POST', `https://music.163.com/api/artist/top/song`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/artist/top/song`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/artist_video.js b/module/artist_video.js index 7eefd8b..c95821d 100644 --- a/module/artist_video.js +++ b/module/artist_video.js @@ -1,5 +1,6 @@ // 歌手相关视频 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { artistId: query.id, @@ -12,14 +13,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/mlog/artist/video`, + `/api/mlog/artist/video`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/artists.js b/module/artists.js index c3b55e7..1185b95 100644 --- a/module/artists.js +++ b/module/artists.js @@ -1,16 +1,11 @@ // 歌手单曲 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/weapi/v1/artist/${query.id}`, + `/api/v1/artist/${query.id}`, {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/audio_match.js b/module/audio_match.js index faf1455..e20791b 100644 --- a/module/audio_match.js +++ b/module/audio_match.js @@ -1,5 +1,6 @@ const { default: axios } = require('axios') +const createOption = require('../util/option.js') module.exports = async (query, request) => { const res = await axios({ method: 'get', diff --git a/module/avatar_upload.js b/module/avatar_upload.js index 9a67c51..cbb9602 100644 --- a/module/avatar_upload.js +++ b/module/avatar_upload.js @@ -1,19 +1,14 @@ const uploadPlugin = require('../plugins/upload') +const createOption = require('../util/option.js') module.exports = async (query, request) => { const uploadInfo = await uploadPlugin(query, request) const res = await request( 'POST', - `https://music.163.com/weapi/user/avatar/upload/v1`, + `/api/user/avatar/upload/v1`, { imgid: uploadInfo.imgId, }, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) return { status: 200, diff --git a/module/banner.js b/module/banner.js index 655e6e8..406bc56 100644 --- a/module/banner.js +++ b/module/banner.js @@ -1,5 +1,5 @@ // 首页轮播图 - +const createOption = require('../util/option.js') module.exports = (query, request) => { const type = { @@ -10,14 +10,8 @@ module.exports = (query, request) => { }[query.type || 0] || 'pc' return request( 'POST', - `https://music.163.com/api/v2/banner/get`, + `/api/v2/banner/get`, { clientType: type }, - { - crypto: 'api', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/batch.js b/module/batch.js index afa930f..576dde5 100644 --- a/module/batch.js +++ b/module/batch.js @@ -1,5 +1,6 @@ // 批量请求接口 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { e_r: true, @@ -9,12 +10,5 @@ module.exports = (query, request) => { data[i] = query[i] } }) - return request('POST', `https://music.163.com/eapi/batch`, data, { - crypto: 'eapi', - proxy: query.proxy, - url: '/api/batch', - cookie: query.cookie, - ua: query.ua || '', - realIP: query.realIP, - }) + return request('POST', `/api/batch`, data, createOption(query)) } diff --git a/module/calendar.js b/module/calendar.js index 0f48e77..1a9327b 100644 --- a/module/calendar.js +++ b/module/calendar.js @@ -1,13 +1,13 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { startTime: query.startTime || Date.now(), endTime: query.endTime || Date.now(), } - return request('POST', `https://music.163.com/api/mcalendar/detail`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/mcalendar/detail`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/captcha_sent.js b/module/captcha_sent.js index 1ee462c..750f0be 100644 --- a/module/captcha_sent.js +++ b/module/captcha_sent.js @@ -1,15 +1,15 @@ // 发送验证码 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { ctcode: query.ctcode || '86', cellphone: query.phone, } - return request('POST', `https://music.163.com/api/sms/captcha/sent`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/sms/captcha/sent`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/captcha_verify.js b/module/captcha_verify.js index 9e99882..64bfe61 100644 --- a/module/captcha_verify.js +++ b/module/captcha_verify.js @@ -1,5 +1,6 @@ // 校验验证码 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { ctcode: query.ctcode || '86', @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/sms/captcha/verify`, + `/api/sms/captcha/verify`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/cellphone_existence_check.js b/module/cellphone_existence_check.js index e19fc5c..bc419de 100644 --- a/module/cellphone_existence_check.js +++ b/module/cellphone_existence_check.js @@ -1,5 +1,6 @@ // 检测手机号码是否已注册 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { cellphone: query.phone, @@ -7,15 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/eapi/cellphone/existence/check`, + `/api/cellphone/existence/check`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - url: '/api/cellphone/existence/check', - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/check_music.js b/module/check_music.js index 768828f..95e6831 100644 --- a/module/check_music.js +++ b/module/check_music.js @@ -1,5 +1,6 @@ // 歌曲可用性 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { ids: '[' + parseInt(query.id) + ']', @@ -7,15 +8,9 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/song/enhance/player/url`, + `/api/song/enhance/player/url`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ).then((response) => { let playable = false if (response.body.code == 200) { diff --git a/module/cloud.js b/module/cloud.js index f51c0a1..599eebf 100644 --- a/module/cloud.js +++ b/module/cloud.js @@ -1,6 +1,7 @@ const mm = require('music-metadata') const uploadPlugin = require('../plugins/songUpload') const md5 = require('md5') +const createOption = require('../util/option.js') module.exports = async (query, request) => { let ext = 'mp3' // if (query.songFile.name.indexOf('flac') > -1) { @@ -35,7 +36,7 @@ module.exports = async (query, request) => { } const res = await request( 'POST', - `https://interface.music.163.com/api/cloud/upload/check`, + `/api/cloud/upload/check`, { bitrate: String(bitrate), ext: '', @@ -44,13 +45,7 @@ module.exports = async (query, request) => { songId: '0', version: 1, }, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query), ) let artist = '' let album = '' @@ -100,7 +95,7 @@ module.exports = async (query, request) => { } const tokenRes = await request( 'POST', - `https://music.163.com/weapi/nos/token/alloc`, + `/api/nos/token/alloc`, { bucket: '', ext: ext, @@ -110,12 +105,7 @@ module.exports = async (query, request) => { type: 'audio', md5: query.songFile.md5, }, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - }, + createOption(query), ) if (res.body.needUpload) { @@ -125,7 +115,7 @@ module.exports = async (query, request) => { // console.log(tokenRes.body.result) const res2 = await request( 'POST', - `https://music.163.com/api/upload/cloud/info/v2`, + `/api/upload/cloud/info/v2`, { md5: query.songFile.md5, songid: res.body.songId, @@ -136,29 +126,17 @@ module.exports = async (query, request) => { bitrate: String(bitrate), resourceId: tokenRes.body.result.resourceId, }, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query), ) // console.log({ res2, privateCloud: res2.body.privateCloud }) // console.log(res.body.songId, 'songid') const res3 = await request( 'POST', - `https://interface.music.163.com/api/cloud/pub/v2`, + `/api/cloud/pub/v2`, { songid: res2.body.songId, }, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query), ) // console.log({ res3 }) return { diff --git a/module/cloud_match.js b/module/cloud_match.js index 26f6fd5..b88b977 100644 --- a/module/cloud_match.js +++ b/module/cloud_match.js @@ -1,3 +1,4 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { userId: query.uid, @@ -6,14 +7,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/cloud/user/song/match`, + `/api/cloud/user/song/match`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/cloudsearch.js b/module/cloudsearch.js index 6600b66..b914044 100644 --- a/module/cloudsearch.js +++ b/module/cloudsearch.js @@ -1,5 +1,6 @@ // 搜索 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { s: query.keywords, @@ -8,17 +9,5 @@ module.exports = (query, request) => { offset: query.offset || 0, total: true, } - return request( - 'POST', - `https://interface.music.163.com/eapi/cloudsearch/pc`, - data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - url: '/api/cloudsearch/pc', - realIP: query.realIP, - }, - ) + return request('POST', `/api/cloudsearch/pc`, data, createOption(query)) } diff --git a/module/comment.js b/module/comment.js index 93fba68..e06ebe8 100644 --- a/module/comment.js +++ b/module/comment.js @@ -1,6 +1,7 @@ const { resourceTypeMap } = require('../util/config.json') // 发送与删除评论 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'android' query.t = { @@ -24,14 +25,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/resource/comments/${query.t}`, + `/api/resource/comments/${query.t}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/comment_album.js b/module/comment_album.js index 49962da..49a63f9 100644 --- a/module/comment_album.js +++ b/module/comment_album.js @@ -1,5 +1,6 @@ // 专辑评论 +const createOption = require('../util/option.js') module.exports = (query, request) => { // query.cookie.os = 'pc' // query.cookie.appver = '2.9.7' @@ -11,14 +12,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/v1/resource/comments/R_AL_3_${query.id}`, + `/api/v1/resource/comments/R_AL_3_${query.id}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/comment_dj.js b/module/comment_dj.js index a798908..4b9d1d4 100644 --- a/module/comment_dj.js +++ b/module/comment_dj.js @@ -1,5 +1,6 @@ // 电台评论 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' @@ -11,14 +12,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/v1/resource/comments/A_DJ_1_${query.id}`, + `/api/v1/resource/comments/A_DJ_1_${query.id}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/comment_event.js b/module/comment_event.js index bc1f984..81e967c 100644 --- a/module/comment_event.js +++ b/module/comment_event.js @@ -1,5 +1,6 @@ // 获取动态评论 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 20, @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/v1/resource/comments/${query.threadId}`, + `/api/v1/resource/comments/${query.threadId}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/comment_floor.js b/module/comment_floor.js index 57c03db..15e7efe 100644 --- a/module/comment_floor.js +++ b/module/comment_floor.js @@ -1,4 +1,5 @@ const { resourceTypeMap } = require('../util/config.json') +const createOption = require('../util/option.js') module.exports = (query, request) => { query.type = resourceTypeMap[query.type] const data = { @@ -9,14 +10,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/resource/comment/floor/get`, + `/api/resource/comment/floor/get`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/comment_hot.js b/module/comment_hot.js index 9b05653..c9fd4f8 100644 --- a/module/comment_hot.js +++ b/module/comment_hot.js @@ -1,6 +1,7 @@ const { resourceTypeMap } = require('../util/config.json') // 热门评论 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' @@ -13,14 +14,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/v1/resource/hotcomments/${query.type}${query.id}`, + `/api/v1/resource/hotcomments/${query.type}${query.id}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/comment_hug_list.js b/module/comment_hug_list.js index f124c74..55e1893 100644 --- a/module/comment_hug_list.js +++ b/module/comment_hug_list.js @@ -1,4 +1,5 @@ const { resourceTypeMap } = require('../util/config.json') +const createOption = require('../util/option.js') module.exports = (query, request) => { query.type = resourceTypeMap[query.type || 0] const threadId = query.type + query.sid @@ -13,14 +14,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/v2/resource/comments/hug/list`, + `/api/v2/resource/comments/hug/list`, data, - { - crypto: 'api', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/comment_like.js b/module/comment_like.js index fff86d0..dfdf57e 100644 --- a/module/comment_like.js +++ b/module/comment_like.js @@ -1,6 +1,7 @@ const { resourceTypeMap } = require('../util/config.json') // 点赞与取消点赞评论 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' @@ -15,14 +16,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/v1/comment/${query.t}`, + `/api/v1/comment/${query.t}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/comment_music.js b/module/comment_music.js index 996c9bd..5999b81 100644 --- a/module/comment_music.js +++ b/module/comment_music.js @@ -1,5 +1,6 @@ // 歌曲评论 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' @@ -11,14 +12,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/v1/resource/comments/R_SO_4_${query.id}`, + `/api/v1/resource/comments/R_SO_4_${query.id}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/comment_mv.js b/module/comment_mv.js index ff8f030..4e5bf0e 100644 --- a/module/comment_mv.js +++ b/module/comment_mv.js @@ -1,5 +1,6 @@ // MV评论 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' @@ -11,14 +12,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/v1/resource/comments/R_MV_5_${query.id}`, + `/api/v1/resource/comments/R_MV_5_${query.id}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/comment_new.js b/module/comment_new.js index 15e0a42..4cc3cf1 100644 --- a/module/comment_new.js +++ b/module/comment_new.js @@ -1,6 +1,7 @@ const { resourceTypeMap } = require('../util/config.json') // 评论 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' @@ -34,17 +35,5 @@ module.exports = (query, request) => { cursor: cursor, sortType: sortType, //99:按推荐排序,2:按热度排序,3:按时间排序 } - return request( - 'POST', - `https://music.163.com/api/v2/resource/comments`, - data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/v2/resource/comments', - }, - ) + return request('POST', `/api/v2/resource/comments`, data, createOption(query)) } diff --git a/module/comment_playlist.js b/module/comment_playlist.js index 515aa45..aa762b1 100644 --- a/module/comment_playlist.js +++ b/module/comment_playlist.js @@ -1,5 +1,6 @@ // 歌单评论 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' @@ -11,14 +12,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/v1/resource/comments/A_PL_0_${query.id}`, + `/api/v1/resource/comments/A_PL_0_${query.id}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/comment_video.js b/module/comment_video.js index be1cf62..bb751b4 100644 --- a/module/comment_video.js +++ b/module/comment_video.js @@ -1,5 +1,6 @@ // 视频评论 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' @@ -11,14 +12,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/v1/resource/comments/R_VI_62_${query.id}`, + `/api/v1/resource/comments/R_VI_62_${query.id}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/countries_code_list.js b/module/countries_code_list.js index 03cb56f..98c9886 100644 --- a/module/countries_code_list.js +++ b/module/countries_code_list.js @@ -1,17 +1,6 @@ // 国家编码列表 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} - return request( - 'POST', - `https://interface3.music.163.com/eapi/lbs/countries/v1`, - data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - url: '/api/lbs/countries/v1', - realIP: query.realIP, - }, - ) + return request('POST', `/api/lbs/countries/v1`, data, createOption(query)) } diff --git a/module/creator_authinfo_get.js b/module/creator_authinfo_get.js index 8dfffdb..fdfb86f 100644 --- a/module/creator_authinfo_get.js +++ b/module/creator_authinfo_get.js @@ -1,17 +1,11 @@ // 获取达人用户信息 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://interface.music.163.com/weapi/user/creator/authinfo/get`, + `/api/user/creator/authinfo/get`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/user/creator/authinfo/get', - }, + createOption(query), ) } diff --git a/module/daily_signin.js b/module/daily_signin.js index 7252737..abe1bde 100644 --- a/module/daily_signin.js +++ b/module/daily_signin.js @@ -7,15 +7,15 @@ 未登录 {'android': {'code': 301}, 'web': {'code': 301}} */ +const createOption = require('../util/option.js') 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, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/point/dailyTask`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/digitalAlbum_detail.js b/module/digitalAlbum_detail.js index 8a4ce70..eb0f48a 100644 --- a/module/digitalAlbum_detail.js +++ b/module/digitalAlbum_detail.js @@ -1,19 +1,14 @@ // 数字专辑详情 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, } return request( 'POST', - `https://music.163.com/weapi/vipmall/albumproduct/detail`, + `/api/vipmall/albumproduct/detail`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/digitalAlbum_ordering.js b/module/digitalAlbum_ordering.js index c2463f5..0fe3319 100644 --- a/module/digitalAlbum_ordering.js +++ b/module/digitalAlbum_ordering.js @@ -1,5 +1,6 @@ // 购买数字专辑 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { business: 'Album', @@ -15,14 +16,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/ordering/web/digital`, + `/api/ordering/web/digital`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/digitalAlbum_purchased.js b/module/digitalAlbum_purchased.js index 12ef8c2..316731e 100644 --- a/module/digitalAlbum_purchased.js +++ b/module/digitalAlbum_purchased.js @@ -1,5 +1,6 @@ // 我的数字专辑 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 30, @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/digitalAlbum/purchased`, + `/api/digitalAlbum/purchased`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/digitalAlbum_sales.js b/module/digitalAlbum_sales.js index 81ce58d..ff9b581 100644 --- a/module/digitalAlbum_sales.js +++ b/module/digitalAlbum_sales.js @@ -1,19 +1,14 @@ // 数字专辑销量 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { albumIds: query.ids, } return request( 'POST', - `https://music.163.com/weapi/vipmall/albumproduct/album/query/sales`, + `/api/vipmall/albumproduct/album/query/sales`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/djRadio_top.js b/module/djRadio_top.js index 752f739..291e984 100644 --- a/module/djRadio_top.js +++ b/module/djRadio_top.js @@ -1,4 +1,5 @@ //电台排行榜获取 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { djRadioId: query.djRadioId || null, // 电台id @@ -8,13 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - 'https://interface.music.163.com/weapi/expert/worksdata/works/top/get', + '/api/expert/worksdata/works/top/get', data, - { - crypto: 'weapi', - cookie: query.cookie, - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/dj_banner.js b/module/dj_banner.js index 9b2cba2..443e2f1 100644 --- a/module/dj_banner.js +++ b/module/dj_banner.js @@ -1,18 +1,13 @@ // 电台banner +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' return request( 'POST', - `https://music.163.com/weapi/djradio/banner/get`, + `/api/djradio/banner/get`, {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/dj_category_excludehot.js b/module/dj_category_excludehot.js index 7da53ea..6bfbe19 100644 --- a/module/dj_category_excludehot.js +++ b/module/dj_category_excludehot.js @@ -1,16 +1,11 @@ // 电台非热门类型 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/weapi/djradio/category/excludehot`, + `/api/djradio/category/excludehot`, {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/dj_category_recommend.js b/module/dj_category_recommend.js index f2731fc..c964dda 100644 --- a/module/dj_category_recommend.js +++ b/module/dj_category_recommend.js @@ -1,16 +1,11 @@ // 电台推荐类型 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/weapi/djradio/home/category/recommend`, + `/api/djradio/home/category/recommend`, {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/dj_catelist.js b/module/dj_catelist.js index 4856efa..402587d 100644 --- a/module/dj_catelist.js +++ b/module/dj_catelist.js @@ -1,16 +1,11 @@ // 电台分类列表 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/weapi/djradio/category/get`, + `/api/djradio/category/get`, {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/dj_detail.js b/module/dj_detail.js index fb6e48b..9559160 100644 --- a/module/dj_detail.js +++ b/module/dj_detail.js @@ -1,14 +1,14 @@ // 电台详情 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.rid, } - return request('POST', `https://music.163.com/api/djradio/v2/get`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/djradio/v2/get`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/dj_hot.js b/module/dj_hot.js index 681b777..3d2535e 100644 --- a/module/dj_hot.js +++ b/module/dj_hot.js @@ -1,15 +1,15 @@ // 热门电台 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 30, offset: query.offset || 0, } - return request('POST', `https://music.163.com/weapi/djradio/hot/v1`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/djradio/hot/v1`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/dj_paygift.js b/module/dj_paygift.js index 18a86e7..b259819 100644 --- a/module/dj_paygift.js +++ b/module/dj_paygift.js @@ -1,20 +1,16 @@ // 付费电台 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 30, offset: query.offset || 0, + _nmclfl: 1, } return request( 'POST', - `https://music.163.com/weapi/djradio/home/paygift/list?_nmclfl=1`, + `/api/djradio/home/paygift/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/dj_personalize_recommend.js b/module/dj_personalize_recommend.js index 61c82ca..93512e4 100644 --- a/module/dj_personalize_recommend.js +++ b/module/dj_personalize_recommend.js @@ -1,18 +1,13 @@ // 电台个性推荐 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/api/djradio/personalize/rcmd`, + `/api/djradio/personalize/rcmd`, { limit: query.limit || 6, }, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/dj_program.js b/module/dj_program.js index 21ee6fc..0dadeb8 100644 --- a/module/dj_program.js +++ b/module/dj_program.js @@ -1,5 +1,6 @@ // 电台节目列表 const { toBoolean } = require('../util') +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { radioId: query.rid, @@ -9,14 +10,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/dj/program/byradio`, + `/api/dj/program/byradio`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/dj_program_detail.js b/module/dj_program_detail.js index 49ab5c7..4d9ec65 100644 --- a/module/dj_program_detail.js +++ b/module/dj_program_detail.js @@ -1,14 +1,14 @@ // 电台节目详情 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, } - return request('POST', `https://music.163.com/api/dj/program/detail`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/dj/program/detail`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/dj_program_toplist.js b/module/dj_program_toplist.js index ae0286b..315c8ef 100644 --- a/module/dj_program_toplist.js +++ b/module/dj_program_toplist.js @@ -1,15 +1,15 @@ // 电台节目榜 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 100, offset: query.offset || 0, } - return request('POST', `https://music.163.com/api/program/toplist/v1`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/program/toplist/v1`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/dj_program_toplist_hours.js b/module/dj_program_toplist_hours.js index 285be95..fc3dfb9 100644 --- a/module/dj_program_toplist_hours.js +++ b/module/dj_program_toplist_hours.js @@ -1,4 +1,5 @@ // 电台24小时节目榜 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 100, @@ -6,14 +7,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/djprogram/toplist/hours`, + `/api/djprogram/toplist/hours`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/dj_radio_hot.js b/module/dj_radio_hot.js index cf7978f..2563baa 100644 --- a/module/dj_radio_hot.js +++ b/module/dj_radio_hot.js @@ -1,16 +1,11 @@ // 类别热门电台 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { cateId: query.cateId, limit: query.limit || 30, offset: query.offset || 0, } - return request('POST', `https://music.163.com/api/djradio/hot`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request('POST', `/api/djradio/hot`, data, createOption(query, 'weapi')) } diff --git a/module/dj_recommend.js b/module/dj_recommend.js index bd1e4fb..94d7df5 100644 --- a/module/dj_recommend.js +++ b/module/dj_recommend.js @@ -1,16 +1,11 @@ // 精选电台 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/weapi/djradio/recommend/v1`, + `/api/djradio/recommend/v1`, {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/dj_recommend_type.js b/module/dj_recommend_type.js index 9fd0777..271ad11 100644 --- a/module/dj_recommend_type.js +++ b/module/dj_recommend_type.js @@ -23,20 +23,15 @@ 旅途|城市 12 */ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { cateId: query.type, } return request( 'POST', - `https://music.163.com/weapi/djradio/recommend`, + `/api/djradio/recommend`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/dj_sub.js b/module/dj_sub.js index 7ce7f0f..3a5b3a4 100644 --- a/module/dj_sub.js +++ b/module/dj_sub.js @@ -1,5 +1,6 @@ // 订阅与取消电台 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.t = query.t == 1 ? 'sub' : 'unsub' const data = { @@ -7,14 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/djradio/${query.t}`, + `/api/djradio/${query.t}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/dj_sublist.js b/module/dj_sublist.js index 8e1fa2f..4ec8ab7 100644 --- a/module/dj_sublist.js +++ b/module/dj_sublist.js @@ -1,5 +1,6 @@ // 订阅电台列表 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 30, @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/djradio/get/subed`, + `/api/djradio/get/subed`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/dj_subscriber.js b/module/dj_subscriber.js index 7c57983..5eb8fc8 100644 --- a/module/dj_subscriber.js +++ b/module/dj_subscriber.js @@ -1,5 +1,6 @@ // 电台详情 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { time: query.time || '-1', @@ -7,11 +8,10 @@ module.exports = (query, request) => { limit: query.limit || '20', total: 'true', } - return request('POST', `https://music.163.com/api/djradio/subscriber`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/djradio/subscriber`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/dj_today_perfered.js b/module/dj_today_perfered.js index 6efda91..b4ef2b6 100644 --- a/module/dj_today_perfered.js +++ b/module/dj_today_perfered.js @@ -1,19 +1,14 @@ // 电台今日优选 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { page: query.page || 0, } return request( 'POST', - `https://music.163.com/weapi/djradio/home/today/perfered`, + `/api/djradio/home/today/perfered`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/dj_toplist.js b/module/dj_toplist.js index 881199a..412b865 100644 --- a/module/dj_toplist.js +++ b/module/dj_toplist.js @@ -3,17 +3,17 @@ const typeMap = { new: 0, hot: 1, } +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 100, offset: query.offset || 0, type: typeMap[query.type || 'new'] || '0', //0为新晋,1为热门 } - return request('POST', `https://music.163.com/api/djradio/toplist`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/djradio/toplist`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/dj_toplist_hours.js b/module/dj_toplist_hours.js index 428fa4b..3d41afd 100644 --- a/module/dj_toplist_hours.js +++ b/module/dj_toplist_hours.js @@ -1,15 +1,15 @@ // 电台24小时主播榜 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 100, // 不支持 offset } - return request('POST', `https://music.163.com/api/dj/toplist/hours`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/dj/toplist/hours`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/dj_toplist_newcomer.js b/module/dj_toplist_newcomer.js index 66d9242..9557ba9 100644 --- a/module/dj_toplist_newcomer.js +++ b/module/dj_toplist_newcomer.js @@ -1,4 +1,5 @@ // 电台新人榜 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 100, @@ -6,14 +7,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/dj/toplist/newcomer`, + `/api/dj/toplist/newcomer`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/dj_toplist_pay.js b/module/dj_toplist_pay.js index 0ca91b2..ae5ca24 100644 --- a/module/dj_toplist_pay.js +++ b/module/dj_toplist_pay.js @@ -1,4 +1,5 @@ // 付费精品 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 100, @@ -6,14 +7,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/djradio/toplist/pay`, + `/api/djradio/toplist/pay`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/dj_toplist_popular.js b/module/dj_toplist_popular.js index 549e83a..0a97ada 100644 --- a/module/dj_toplist_popular.js +++ b/module/dj_toplist_popular.js @@ -1,15 +1,15 @@ // 电台最热主播榜 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 100, // 不支持 offset } - return request('POST', `https://music.163.com/api/dj/toplist/popular`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/dj/toplist/popular`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/eapi_decrypt.js b/module/eapi_decrypt.js index be62dba..962c6ad 100644 --- a/module/eapi_decrypt.js +++ b/module/eapi_decrypt.js @@ -1,5 +1,6 @@ const { eapiResDecrypt, eapiReqDecrypt } = require('../util/crypto') +const createOption = require('../util/option.js') module.exports = async (query, request) => { const hexString = query.hexString const isReq = query.isReq != 'false' diff --git a/module/event.js b/module/event.js index bc50119..91a5840 100644 --- a/module/event.js +++ b/module/event.js @@ -1,15 +1,15 @@ // 动态 +const createOption = require('../util/option.js') 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, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/v1/event/get`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/event_del.js b/module/event_del.js index 287725f..b6b156d 100644 --- a/module/event_del.js +++ b/module/event_del.js @@ -1,14 +1,14 @@ // 删除动态 +const createOption = require('../util/option.js') 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, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/event/delete`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/event_forward.js b/module/event_forward.js index e819f80..f512b56 100644 --- a/module/event_forward.js +++ b/module/event_forward.js @@ -1,5 +1,6 @@ // 转发动态 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' @@ -8,11 +9,10 @@ module.exports = (query, request) => { id: query.evId, eventUserId: query.uid, } - return request('POST', `https://music.163.com/weapi/event/forward`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/event/forward`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/fanscenter_basicinfo_age_get.js b/module/fanscenter_basicinfo_age_get.js index ac6a8e5..c423634 100644 --- a/module/fanscenter_basicinfo_age_get.js +++ b/module/fanscenter_basicinfo_age_get.js @@ -1,17 +1,11 @@ // 粉丝年龄比例 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://interface.music.163.com/weapi/fanscenter/basicinfo/age/get`, + `/api/fanscenter/basicinfo/age/get`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/fanscenter/basicinfo/age/get', - }, + createOption(query), ) } diff --git a/module/fanscenter_basicinfo_gender_get.js b/module/fanscenter_basicinfo_gender_get.js index 3426e5a..6c344aa 100644 --- a/module/fanscenter_basicinfo_gender_get.js +++ b/module/fanscenter_basicinfo_gender_get.js @@ -1,17 +1,11 @@ // 粉丝性别比例 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://interface.music.163.com/weapi/fanscenter/basicinfo/gender/get`, + `/api/fanscenter/basicinfo/gender/get`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/fanscenter/basicinfo/gender/get', - }, + createOption(query), ) } diff --git a/module/fanscenter_basicinfo_province_get.js b/module/fanscenter_basicinfo_province_get.js index b29b104..3bb7e90 100644 --- a/module/fanscenter_basicinfo_province_get.js +++ b/module/fanscenter_basicinfo_province_get.js @@ -1,17 +1,11 @@ // 粉丝省份比例 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://interface.music.163.com/weapi/fanscenter/basicinfo/province/get`, + `/api/fanscenter/basicinfo/province/get`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/fanscenter/basicinfo/province/get', - }, + createOption(query), ) } diff --git a/module/fanscenter_overview_get.js b/module/fanscenter_overview_get.js index beb34ca..2165b82 100644 --- a/module/fanscenter_overview_get.js +++ b/module/fanscenter_overview_get.js @@ -1,17 +1,11 @@ // 粉丝数量 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://interface.music.163.com/weapi/fanscenter/overview/get`, + `/api/fanscenter/overview/get`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/fanscenter/overview/get', - }, + createOption(query), ) } diff --git a/module/fanscenter_trend_list.js b/module/fanscenter_trend_list.js index a499878..0bc348a 100644 --- a/module/fanscenter_trend_list.js +++ b/module/fanscenter_trend_list.js @@ -1,4 +1,5 @@ // 粉丝来源 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { startTime: query.startTime || Date.now() - 7 * 24 * 3600 * 1000, @@ -7,15 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://interface.music.163.com/weapi/fanscenter/trend/list`, + `/api/fanscenter/trend/list`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/fanscenter/trend/list', - }, + createOption(query), ) } diff --git a/module/fm_trash.js b/module/fm_trash.js index 663da8a..3392b93 100644 --- a/module/fm_trash.js +++ b/module/fm_trash.js @@ -1,21 +1,16 @@ // 垃圾桶 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { songId: query.id, + alg: 'RT', + time: query.time || 25, } return request( 'POST', - `https://music.163.com/weapi/radio/trash/add?alg=RT&songId=${ - query.id - }&time=${query.time || 25}`, + `/api/radio/trash/add`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/follow.js b/module/follow.js index abe9fdf..da5ff61 100644 --- a/module/follow.js +++ b/module/follow.js @@ -1,19 +1,14 @@ // 关注与取消关注用户 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' query.t = query.t == 1 ? 'follow' : 'delfollow' return request( 'POST', - `https://music.163.com/weapi/user/${query.t}/${query.id}`, + `/api/user/${query.t}/${query.id}`, {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/get_userids.js b/module/get_userids.js index 4a3a2e6..083f124 100644 --- a/module/get_userids.js +++ b/module/get_userids.js @@ -1,12 +1,12 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { nicknames: query.nicknames, } - return request('POST', `https://music.163.com/api/user/getUserIds`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/user/getUserIds`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/history_recommend_songs.js b/module/history_recommend_songs.js index 32d54eb..7c45eb8 100644 --- a/module/history_recommend_songs.js +++ b/module/history_recommend_songs.js @@ -1,18 +1,13 @@ // 历史每日推荐歌曲 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'ios' const data = {} return request( 'POST', - `https://music.163.com/api/discovery/recommend/songs/history/recent`, + `/api/discovery/recommend/songs/history/recent`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/history_recommend_songs_detail.js b/module/history_recommend_songs_detail.js index a24b93f..ecc055a 100644 --- a/module/history_recommend_songs_detail.js +++ b/module/history_recommend_songs_detail.js @@ -1,5 +1,6 @@ // 历史每日推荐歌曲详情 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'ios' const data = { @@ -7,14 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/discovery/recommend/songs/history/detail`, + `/api/discovery/recommend/songs/history/detail`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/homepage_block_page.js b/module/homepage_block_page.js index a0c197d..550f267 100644 --- a/module/homepage_block_page.js +++ b/module/homepage_block_page.js @@ -1,18 +1,13 @@ // 首页-发现 block page // 这个接口为移动端接口,首页-发现页,数据结构可以参考 https://github.com/hcanyz/flutter-netease-music-api/blob/master/lib/src/api/uncategorized/bean.dart#L259 HomeBlockPageWrap // query.refresh 是否刷新数据 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { refresh: query.refresh || false, cursor: query.cursor } return request( 'POST', - `https://music.163.com/api/homepage/block/page`, + `/api/homepage/block/page`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/homepage_dragon_ball.js b/module/homepage_dragon_ball.js index 61f003e..3648811 100644 --- a/module/homepage_dragon_ball.js +++ b/module/homepage_dragon_ball.js @@ -2,20 +2,14 @@ // 这个接口为移动端接口,首页-发现页(每日推荐、歌单、排行榜 那些入口) // 数据结构可以参考 https://github.com/hcanyz/flutter-netease-music-api/blob/master/lib/src/api/uncategorized/bean.dart#L290 HomeDragonBallWrap // !需要登录或者游客登录,非登录返回 [] +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://music.163.com/eapi/homepage/dragon/ball/static`, + `/api/homepage/dragon/ball/static`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - url: '/api/homepage/dragon/ball/static', - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/hot_topic.js b/module/hot_topic.js index 17d3ed9..e5e3b49 100644 --- a/module/hot_topic.js +++ b/module/hot_topic.js @@ -1,15 +1,10 @@ //热门话题 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 20, offset: query.offset || 0, } - return request('POST', `https://music.163.com/api/act/hot`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request('POST', `/api/act/hot`, data, createOption(query, 'weapi')) } diff --git a/module/hug_comment.js b/module/hug_comment.js index e42a130..5b3edc0 100644 --- a/module/hug_comment.js +++ b/module/hug_comment.js @@ -1,4 +1,5 @@ const { resourceTypeMap } = require('../util/config.json') +const createOption = require('../util/option.js') module.exports = (query, request) => { query.type = resourceTypeMap[query.type || 0] const threadId = query.type + query.sid @@ -9,14 +10,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/v2/resource/comments/hug/listener`, + `/api/v2/resource/comments/hug/listener`, data, - { - crypto: 'api', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/inner_version.js b/module/inner_version.js index bc9694c..daf939e 100644 --- a/module/inner_version.js +++ b/module/inner_version.js @@ -1,4 +1,5 @@ const pkg = require('../package.json') +const createOption = require('../util/option.js') module.exports = (query, request) => { return new Promise((resolve) => { return resolve({ diff --git a/module/like.js b/module/like.js index 4337b37..db5fd81 100644 --- a/module/like.js +++ b/module/like.js @@ -1,5 +1,6 @@ // 红心与取消红心歌曲 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.like = query.like == 'false' ? false : true const data = { @@ -8,11 +9,5 @@ module.exports = (query, request) => { like: query.like, time: '3', } - return request('POST', `https://music.163.com/api/radio/like`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request('POST', `/api/radio/like`, data, createOption(query, 'weapi')) } diff --git a/module/likelist.js b/module/likelist.js index 1a2bcb9..ae2c20b 100644 --- a/module/likelist.js +++ b/module/likelist.js @@ -1,14 +1,14 @@ // 喜欢的歌曲(无序) +const createOption = require('../util/option.js') 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, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/song/like/get`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/listentogether_accept.js b/module/listentogether_accept.js index d728364..e22c0aa 100644 --- a/module/listentogether_accept.js +++ b/module/listentogether_accept.js @@ -1,3 +1,4 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { refer: 'inbox_invite', @@ -6,14 +7,8 @@ module.exports = (query, request) => { } return request( 'POST', - `http://interface.music.163.com/eapi/listen/together/play/invitation/accept`, + `/api/listen/together/play/invitation/accept`, data, - { - crypto: 'eapi', - cookie: query.cookie, - proxy: query.proxy, - realIP: query.realIP, - url: '/api/listen/together/play/invitation/accept', - }, + createOption(query), ) } diff --git a/module/listentogether_end.js b/module/listentogether_end.js index 17cf330..b0e0cec 100644 --- a/module/listentogether_end.js +++ b/module/listentogether_end.js @@ -1,20 +1,14 @@ // 一起听 结束房间 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { roomId: query.roomId, } return request( 'POST', - `http://interface.music.163.com/eapi/listen/together/end/v2`, + `/api/listen/together/end/v2`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/listen/together/end/v2', - }, + createOption(query), ) } diff --git a/module/listentogether_heatbeat.js b/module/listentogether_heatbeat.js index ab25f84..c85f85d 100644 --- a/module/listentogether_heatbeat.js +++ b/module/listentogether_heatbeat.js @@ -1,5 +1,6 @@ // 一起听 发送心跳 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { roomId: query.roomId, @@ -9,15 +10,8 @@ module.exports = (query, request) => { } return request( 'POST', - `http://interface.music.163.com/eapi/listen/together/heartbeat`, + `/api/listen/together/heartbeat`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/listen/together/heartbeat', - }, + createOption(query), ) } diff --git a/module/listentogether_play_command.js b/module/listentogether_play_command.js index 919d9ce..37a6960 100644 --- a/module/listentogether_play_command.js +++ b/module/listentogether_play_command.js @@ -1,5 +1,6 @@ // 一起听 发送播放状态 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { roomId: query.roomId, @@ -14,15 +15,8 @@ module.exports = (query, request) => { } return request( 'POST', - `http://interface.music.163.com/eapi/listen/together/play/command/report`, + `/api/listen/together/play/command/report`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/listen/together/play/command/report', - }, + createOption(query), ) } diff --git a/module/listentogether_room_check.js b/module/listentogether_room_check.js index 3e35067..a1bf817 100644 --- a/module/listentogether_room_check.js +++ b/module/listentogether_room_check.js @@ -1,20 +1,14 @@ // 一起听 房间情况 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { roomId: query.roomId, } return request( 'POST', - `http://interface.music.163.com/eapi/listen/together/room/check`, + `/api/listen/together/room/check`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/listen/together/room/check', - }, + createOption(query), ) } diff --git a/module/listentogether_room_create.js b/module/listentogether_room_create.js index 8b25e8e..b397d84 100644 --- a/module/listentogether_room_create.js +++ b/module/listentogether_room_create.js @@ -1,20 +1,14 @@ // 一起听创建房间 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { refer: 'songplay_more', } return request( 'POST', - `http://interface.music.163.com/eapi/listen/together/room/create`, + `/api/listen/together/room/create`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/listen/together/room/create', - }, + createOption(query), ) } diff --git a/module/listentogether_status.js b/module/listentogether_status.js index d9a20ff..4f90360 100644 --- a/module/listentogether_status.js +++ b/module/listentogether_status.js @@ -1,16 +1,11 @@ // 一起听状态 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/api/listen/together/status/get`, + `/api/listen/together/status/get`, {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/listentogether_sync_list_command.js b/module/listentogether_sync_list_command.js index b77a8cf..65fae69 100644 --- a/module/listentogether_sync_list_command.js +++ b/module/listentogether_sync_list_command.js @@ -1,5 +1,6 @@ // 一起听 更新播放列表 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { roomId: query.roomId, @@ -19,15 +20,8 @@ module.exports = (query, request) => { } return request( 'POST', - `http://interface.music.163.com/eapi/listen/together/sync/list/command/report`, + `/api/listen/together/sync/list/command/report`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/listen/together/sync/list/command/report', - }, + createOption(query), ) } diff --git a/module/listentogether_sync_playlist_get.js b/module/listentogether_sync_playlist_get.js index 40b4473..c52ac25 100644 --- a/module/listentogether_sync_playlist_get.js +++ b/module/listentogether_sync_playlist_get.js @@ -1,20 +1,14 @@ // 一起听 当前列表获取 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { roomId: query.roomId, } return request( 'POST', - `http://interface.music.163.com/eapi/listen/together/sync/playlist/get`, + `/api/listen/together/sync/playlist/get`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/listen/together/sync/playlist/get', - }, + createOption(query), ) } diff --git a/module/login.js b/module/login.js index 07c92a3..75831f7 100644 --- a/module/login.js +++ b/module/login.js @@ -2,19 +2,16 @@ const CryptoJS = require('crypto-js') +const createOption = require('../util/option.js') module.exports = async (query, request) => { const data = { username: query.email, password: query.md5_password || CryptoJS.MD5(query.password).toString(), rememberLogin: 'true', } - let result = await request('POST', `https://music.163.com/api/login`, data, { - crypto: 'weapi', + let result = await request('POST', `/api/login`, data, { + ...createOption(query), uaType: 'pc', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, }) if (result.body.code === 502) { return { diff --git a/module/login_cellphone.js b/module/login_cellphone.js index 47f536c..99a4927 100644 --- a/module/login_cellphone.js +++ b/module/login_cellphone.js @@ -2,6 +2,7 @@ const CryptoJS = require('crypto-js') +const createOption = require('../util/option.js') module.exports = async (query, request) => { const data = { phone: query.phone, @@ -12,19 +13,10 @@ module.exports = async (query, request) => { : query.md5_password || CryptoJS.MD5(query.password).toString(), rememberLogin: 'true', } - let result = await request( - 'POST', - `https://music.163.com/weapi/login/cellphone`, - data, - { - crypto: 'weapi', - uaType: 'pc', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, - ) + let result = await request('POST', `/api/login/cellphone`, data, { + ...createOption(query, 'weapi'), + uaType: 'pc', + }) if (result.body.code === 200) { result = { diff --git a/module/login_qr_check.js b/module/login_qr_check.js index d9481be..898cc5c 100644 --- a/module/login_qr_check.js +++ b/module/login_qr_check.js @@ -1,3 +1,4 @@ +const createOption = require('../util/option.js') module.exports = async (query, request) => { const data = { key: query.key, @@ -6,15 +7,9 @@ module.exports = async (query, request) => { try { let result = await request( 'POST', - `https://music.163.com/weapi/login/qrcode/client/login`, + `/api/login/qrcode/client/login`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) result = { status: 200, diff --git a/module/login_qr_create.js b/module/login_qr_create.js index aeb6943..20db974 100644 --- a/module/login_qr_create.js +++ b/module/login_qr_create.js @@ -1,5 +1,6 @@ const QRCode = require('qrcode') +const createOption = require('../util/option.js') module.exports = (query, request) => { return new Promise(async (resolve) => { const url = `https://music.163.com/login?codekey=${query.key}` diff --git a/module/login_qr_key.js b/module/login_qr_key.js index 06ac8b3..15048c1 100644 --- a/module/login_qr_key.js +++ b/module/login_qr_key.js @@ -1,18 +1,13 @@ +const createOption = require('../util/option.js') module.exports = async (query, request) => { const data = { type: 1, } const result = await request( 'POST', - `https://music.163.com/weapi/login/qrcode/unikey`, + `/api/login/qrcode/unikey`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) return { status: 200, diff --git a/module/login_refresh.js b/module/login_refresh.js index 699c0c0..2d57347 100644 --- a/module/login_refresh.js +++ b/module/login_refresh.js @@ -1,17 +1,14 @@ // 登录刷新 +const createOption = require('../util/option.js') module.exports = async (query, request) => { let result = await request( 'POST', - `https://music.163.com/weapi/login/token/refresh`, + `/api/login/token/refresh`, {}, { - crypto: 'weapi', + ...createOption(query, 'weapi'), uaType: 'pc', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, }, ) if (result.body.code === 200) { diff --git a/module/login_status.js b/module/login_status.js index 8f7df4c..f34aa2b 100644 --- a/module/login_status.js +++ b/module/login_status.js @@ -1,16 +1,11 @@ +const createOption = require('../util/option.js') module.exports = async (query, request) => { const data = {} let result = await request( 'POST', - `https://music.163.com/weapi/w/nuser/account/get`, + `/api/w/nuser/account/get`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) if (result.body.code === 200) { result = { diff --git a/module/logout.js b/module/logout.js index 1506f8b..ef91e3c 100644 --- a/module/logout.js +++ b/module/logout.js @@ -1,17 +1,14 @@ // 退出登录 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/weapi/logout`, + `/api/logout`, {}, { - crypto: 'weapi', + ...createOption(query, 'weapi'), uaType: 'pc', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, }, ) } diff --git a/module/lyric.js b/module/lyric.js index 2782537..142fe62 100644 --- a/module/lyric.js +++ b/module/lyric.js @@ -1,5 +1,6 @@ // 歌词 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'ios' @@ -9,17 +10,7 @@ module.exports = (query, request) => { lv: -1, rv: -1, kv: -1, + _nmclfl: 1, } - return request( - 'POST', - `https://music.163.com/api/song/lyric?_nmclfl=1`, - data, - { - crypto: 'api', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, - ) + return request('POST', `/api/song/lyric`, data, createOption(query)) } diff --git a/module/lyric_new.js b/module/lyric_new.js index b10f904..e10da45 100644 --- a/module/lyric_new.js +++ b/module/lyric_new.js @@ -1,5 +1,6 @@ // 新版歌词 - 包含逐字歌词 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, @@ -12,17 +13,5 @@ module.exports = (query, request) => { ytv: 0, yrv: 0, } - return request( - 'POST', - `https://interface3.music.163.com/eapi/song/lyric/v1`, - data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/song/lyric/v1', - }, - ) + return request('POST', `/api/song/lyric/v1`, data, createOption(query)) } diff --git a/module/mlog_music_rcmd.js b/module/mlog_music_rcmd.js index 0e5d6c5..491dead 100644 --- a/module/mlog_music_rcmd.js +++ b/module/mlog_music_rcmd.js @@ -1,5 +1,6 @@ // 歌曲相关视频 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.mvid || 0, @@ -8,17 +9,5 @@ module.exports = (query, request) => { 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, - ua: query.ua || '', - proxy: query.proxy, - url: '/api/mlog/rcmd/feed/list', - realIP: query.realIP, - }, - ) + return request('POST', `/api/mlog/rcmd/feed/list`, data, createOption(query)) } diff --git a/module/mlog_to_video.js b/module/mlog_to_video.js index 3d2a77d..42a03f3 100644 --- a/module/mlog_to_video.js +++ b/module/mlog_to_video.js @@ -1,19 +1,14 @@ // 将mlog id转为video id +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { mlogId: query.id, } return request( 'POST', - `https://music.163.com/weapi/mlog/video/convert/id`, + `/api/mlog/video/convert/id`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/mlog_url.js b/module/mlog_url.js index 94a2ef1..efed607 100644 --- a/module/mlog_url.js +++ b/module/mlog_url.js @@ -1,16 +1,16 @@ // mlog链接 +const createOption = require('../util/option.js') 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, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/mlog/detail/v1`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/msg_comments.js b/module/msg_comments.js index 226eb77..99e08fb 100644 --- a/module/msg_comments.js +++ b/module/msg_comments.js @@ -1,5 +1,6 @@ // 评论 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { beforeTime: query.before || '-1', @@ -10,14 +11,8 @@ module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/api/v1/user/comments/${query.uid}`, + `/api/v1/user/comments/${query.uid}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/msg_forwards.js b/module/msg_forwards.js index 20c0fe1..53e6f6b 100644 --- a/module/msg_forwards.js +++ b/module/msg_forwards.js @@ -1,16 +1,16 @@ // @我 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { offset: query.offset || 0, limit: query.limit || 30, total: 'true', } - return request('POST', `https://music.163.com/api/forwards/get`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/forwards/get`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/msg_notices.js b/module/msg_notices.js index 7b7257c..fd6a2a8 100644 --- a/module/msg_notices.js +++ b/module/msg_notices.js @@ -1,15 +1,10 @@ // 通知 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 30, time: query.lasttime || -1, } - return request('POST', `https://music.163.com/api/msg/notices`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request('POST', `/api/msg/notices`, data, createOption(query, 'weapi')) } diff --git a/module/msg_private.js b/module/msg_private.js index 25cca79..5217ad2 100644 --- a/module/msg_private.js +++ b/module/msg_private.js @@ -1,16 +1,16 @@ // 私信 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { offset: query.offset || 0, limit: query.limit || 30, total: 'true', } - return request('POST', `https://music.163.com/api/msg/private/users`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/msg/private/users`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/msg_private_history.js b/module/msg_private_history.js index de4fad6..097b855 100644 --- a/module/msg_private_history.js +++ b/module/msg_private_history.js @@ -1,5 +1,6 @@ // 私信内容 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { userId: query.uid, @@ -9,14 +10,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/msg/private/history`, + `/api/msg/private/history`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/msg_recentcontact.js b/module/msg_recentcontact.js index 33a98a9..c5b212d 100644 --- a/module/msg_recentcontact.js +++ b/module/msg_recentcontact.js @@ -1,17 +1,12 @@ // 最近联系 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://music.163.com/api/msg/recentcontact/get`, + `/api/msg/recentcontact/get`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/music_first_listen_info.js b/module/music_first_listen_info.js index e2d3aa0..53b1ce3 100644 --- a/module/music_first_listen_info.js +++ b/module/music_first_listen_info.js @@ -1,19 +1,14 @@ // 回忆坐标 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { songId: query.id, } return request( 'POST', - `https://interface3.music.163.com/api/content/activity/music/first/listen/info`, + `/api/content/activity/music/first/listen/info`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/musician_cloudbean.js b/module/musician_cloudbean.js index bc236ce..705599a 100644 --- a/module/musician_cloudbean.js +++ b/module/musician_cloudbean.js @@ -1,12 +1,12 @@ // 账号云豆数 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} - return request('POST', `https://music.163.com/weapi/cloudbean/get`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/cloudbean/get`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/musician_cloudbean_obtain.js b/module/musician_cloudbean_obtain.js index b512ca5..1898ee4 100644 --- a/module/musician_cloudbean_obtain.js +++ b/module/musician_cloudbean_obtain.js @@ -1,5 +1,6 @@ // 领取云豆 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { userMissionId: query.id, @@ -7,14 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/nmusician/workbench/mission/reward/obtain/new`, + `/api/nmusician/workbench/mission/reward/obtain/new`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/musician_data_overview.js b/module/musician_data_overview.js index 084450d..88b8d9a 100644 --- a/module/musician_data_overview.js +++ b/module/musician_data_overview.js @@ -1,17 +1,12 @@ // 音乐人数据概况 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://music.163.com/weapi/creator/musician/statistic/data/overview/get`, + `/api/creator/musician/statistic/data/overview/get`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/musician_play_trend.js b/module/musician_play_trend.js index e2bf7e4..6b234b3 100644 --- a/module/musician_play_trend.js +++ b/module/musician_play_trend.js @@ -1,5 +1,6 @@ // 音乐人歌曲播放趋势 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { startTime: query.startTime, @@ -7,14 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/creator/musician/play/count/statistic/data/trend/get`, + `/api/creator/musician/play/count/statistic/data/trend/get`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/musician_sign.js b/module/musician_sign.js index 4f87e70..907dc3b 100644 --- a/module/musician_sign.js +++ b/module/musician_sign.js @@ -1,17 +1,12 @@ // 音乐人签到 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://music.163.com/weapi/creator/user/access`, + `/api/creator/user/access`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/musician_tasks.js b/module/musician_tasks.js index 796ce57..3739e92 100644 --- a/module/musician_tasks.js +++ b/module/musician_tasks.js @@ -1,17 +1,12 @@ // 获取音乐人任务 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://music.163.com/weapi/nmusician/workbench/mission/cycle/list`, + `/api/nmusician/workbench/mission/cycle/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/musician_tasks_new.js b/module/musician_tasks_new.js index bf4083f..b2ab4f9 100644 --- a/module/musician_tasks_new.js +++ b/module/musician_tasks_new.js @@ -1,17 +1,12 @@ // 获取音乐人任务 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://music.163.com/api/nmusician/workbench/mission/stage/list `, + `/api/nmusician/workbench/mission/stage/list `, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/mv_all.js b/module/mv_all.js index 183a3da..b81a517 100644 --- a/module/mv_all.js +++ b/module/mv_all.js @@ -1,5 +1,6 @@ // 全部MV +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { tags: JSON.stringify({ @@ -11,11 +12,5 @@ module.exports = (query, request) => { total: 'true', limit: query.limit || 30, } - return request('POST', `https://interface.music.163.com/api/mv/all`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request('POST', `/api/mv/all`, data, createOption(query)) } diff --git a/module/mv_detail.js b/module/mv_detail.js index af459f4..c72d287 100644 --- a/module/mv_detail.js +++ b/module/mv_detail.js @@ -1,14 +1,14 @@ // MV详情 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.mvid, } - return request('POST', `https://music.163.com/api/v1/mv/detail`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/v1/mv/detail`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/mv_detail_info.js b/module/mv_detail_info.js index 02cc27f..cc406fc 100644 --- a/module/mv_detail_info.js +++ b/module/mv_detail_info.js @@ -1,5 +1,6 @@ // MV 点赞转发评论数数据 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { threadid: `R_MV_5_${query.mvid}`, @@ -7,14 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/comment/commentthread/info`, + `/api/comment/commentthread/info`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/mv_exclusive_rcmd.js b/module/mv_exclusive_rcmd.js index 9046430..74963a1 100644 --- a/module/mv_exclusive_rcmd.js +++ b/module/mv_exclusive_rcmd.js @@ -1,20 +1,10 @@ // 网易出品 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { offset: query.offset || 0, limit: query.limit || 30, } - return request( - 'POST', - `https://interface.music.163.com/api/mv/exclusive/rcmd`, - data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, - ) + return request('POST', `/api/mv/exclusive/rcmd`, data, createOption(query)) } diff --git a/module/mv_first.js b/module/mv_first.js index 4385992..377ed10 100644 --- a/module/mv_first.js +++ b/module/mv_first.js @@ -1,5 +1,6 @@ // 最新MV +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { // 'offset': query.offset || 0, @@ -7,16 +8,5 @@ module.exports = (query, request) => { limit: query.limit || 30, total: true, } - return request( - 'POST', - `https://interface.music.163.com/weapi/mv/first`, - data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, - ) + return request('POST', `/api/mv/first`, data, createOption(query)) } diff --git a/module/mv_sub.js b/module/mv_sub.js index cf69ce9..d26c0b9 100644 --- a/module/mv_sub.js +++ b/module/mv_sub.js @@ -1,16 +1,16 @@ // 收藏与取消收藏MV +const createOption = require('../util/option.js') 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, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/mv/${query.t}`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/mv_sublist.js b/module/mv_sublist.js index cc38ba9..8728ecd 100644 --- a/module/mv_sublist.js +++ b/module/mv_sublist.js @@ -1,5 +1,6 @@ // 已收藏MV列表 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 25, @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/cloudvideo/allvideo/sublist`, + `/api/cloudvideo/allvideo/sublist`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/mv_url.js b/module/mv_url.js index 4bf931e..5cf561d 100644 --- a/module/mv_url.js +++ b/module/mv_url.js @@ -1,5 +1,6 @@ // MV链接 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, @@ -7,14 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/song/enhance/play/mv/url`, + `/api/song/enhance/play/mv/url`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/nickname_check.js b/module/nickname_check.js index 79e4201..313e486 100644 --- a/module/nickname_check.js +++ b/module/nickname_check.js @@ -1,17 +1,12 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { nickname: query.nickname, } return request( 'POST', - `https://music.163.com/api/nickname/duplicated`, + `/api/nickname/duplicated`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/personal_fm.js b/module/personal_fm.js index 3ac31a1..4616040 100644 --- a/module/personal_fm.js +++ b/module/personal_fm.js @@ -1,16 +1,6 @@ // 私人FM +const createOption = require('../util/option.js') module.exports = (query, request) => { - return request( - 'POST', - `https://music.163.com/weapi/v1/radio/get`, - {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, - ) + return request('POST', `/api/v1/radio/get`, {}, createOption(query, 'weapi')) } diff --git a/module/personal_fm_mode.js b/module/personal_fm_mode.js index 2bfeff1..50bd5ca 100644 --- a/module/personal_fm_mode.js +++ b/module/personal_fm_mode.js @@ -3,23 +3,12 @@ // aidj, DEFAULT, FAMILIAR, EXPLORE, SCENE_RCMD ( EXERCISE, FOCUS, NIGHT_EMO ) // 来不及解释这几个了 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { mode: query.mode, subMode: query.submode, limit: query.limit || 3, } - return request( - 'POST', - `https://interface3.music.163.com/eapi/v1/radio/get`, - data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/v1/radio/get', - }, - ) + return request('POST', `/api/v1/radio/get`, data, createOption(query)) } diff --git a/module/personalized.js b/module/personalized.js index 2b892a4..a889889 100644 --- a/module/personalized.js +++ b/module/personalized.js @@ -1,5 +1,6 @@ // 推荐歌单 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 30, @@ -9,14 +10,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/personalized/playlist`, + `/api/personalized/playlist`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/personalized_djprogram.js b/module/personalized_djprogram.js index 20b8890..5d858bb 100644 --- a/module/personalized_djprogram.js +++ b/module/personalized_djprogram.js @@ -1,16 +1,11 @@ // 推荐电台 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/weapi/personalized/djprogram`, + `/api/personalized/djprogram`, {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/personalized_mv.js b/module/personalized_mv.js index 820d782..49f0186 100644 --- a/module/personalized_mv.js +++ b/module/personalized_mv.js @@ -1,16 +1,11 @@ // 推荐MV +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/weapi/personalized/mv`, + `/api/personalized/mv`, {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/personalized_newsong.js b/module/personalized_newsong.js index d580b63..a18f507 100644 --- a/module/personalized_newsong.js +++ b/module/personalized_newsong.js @@ -1,5 +1,6 @@ // 推荐新歌 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' @@ -10,14 +11,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/personalized/newsong`, + `/api/personalized/newsong`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/personalized_privatecontent.js b/module/personalized_privatecontent.js index 9ba2023..64a7887 100644 --- a/module/personalized_privatecontent.js +++ b/module/personalized_privatecontent.js @@ -1,16 +1,11 @@ // 独家放送 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/weapi/personalized/privatecontent`, + `/api/personalized/privatecontent`, {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/personalized_privatecontent_list.js b/module/personalized_privatecontent_list.js index 90642b6..2573082 100644 --- a/module/personalized_privatecontent_list.js +++ b/module/personalized_privatecontent_list.js @@ -1,5 +1,6 @@ // 独家放送列表 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { offset: query.offset || 0, @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/v2/privatecontent/list`, + `/api/v2/privatecontent/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/pl_count.js b/module/pl_count.js index 58100c5..75ac29d 100644 --- a/module/pl_count.js +++ b/module/pl_count.js @@ -1,11 +1,6 @@ // 私信和通知接口 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} - return request('POST', `https://music.163.com/weapi/pl/count`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request('POST', `/api/pl/count`, data, createOption(query, 'weapi')) } diff --git a/module/playlist_catlist.js b/module/playlist_catlist.js index c4d3cf9..3c26f02 100644 --- a/module/playlist_catlist.js +++ b/module/playlist_catlist.js @@ -1,16 +1,11 @@ // 全部歌单分类 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/weapi/playlist/catalogue`, + `/api/playlist/catalogue`, {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/playlist_cover_update.js b/module/playlist_cover_update.js index a9b6c57..fa5f5d2 100644 --- a/module/playlist_cover_update.js +++ b/module/playlist_cover_update.js @@ -1,4 +1,5 @@ const uploadPlugin = require('../plugins/upload') +const createOption = require('../util/option.js') module.exports = async (query, request) => { if (!query.imgFile) { return { @@ -12,18 +13,12 @@ module.exports = async (query, request) => { const uploadInfo = await uploadPlugin(query, request) const res = await request( 'POST', - `https://music.163.com/weapi/playlist/cover/update`, + `/api/playlist/cover/update`, { id: query.id, coverImgId: uploadInfo.imgId, }, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) return { status: 200, diff --git a/module/playlist_create.js b/module/playlist_create.js index 0451d70..6438385 100644 --- a/module/playlist_create.js +++ b/module/playlist_create.js @@ -1,5 +1,6 @@ // 创建歌单 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' @@ -8,11 +9,10 @@ module.exports = (query, request) => { privacy: query.privacy, //0 为普通歌单,10 为隐私歌单 type: query.type || 'NORMAL', // NORMAL|VIDEO|SHARED } - return request('POST', `https://music.163.com/api/playlist/create`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/playlist/create`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/playlist_delete.js b/module/playlist_delete.js index c3a8650..313fedf 100644 --- a/module/playlist_delete.js +++ b/module/playlist_delete.js @@ -1,16 +1,16 @@ // 删除歌单 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' const data = { ids: '[' + query.id + ']', } - return request('POST', `https://music.163.com/weapi/playlist/remove`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/playlist/remove`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/playlist_desc_update.js b/module/playlist_desc_update.js index 63ff842..6e76aee 100644 --- a/module/playlist_desc_update.js +++ b/module/playlist_desc_update.js @@ -1,21 +1,10 @@ // 更新歌单描述 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, desc: query.desc, } - return request( - 'POST', - `https://interface3.music.163.com/eapi/playlist/desc/update`, - data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - url: '/api/playlist/desc/update', - realIP: query.realIP, - }, - ) + return request('POST', `/api/playlist/desc/update`, data, createOption(query)) } diff --git a/module/playlist_detail.js b/module/playlist_detail.js index 35da4c8..ea955dd 100644 --- a/module/playlist_detail.js +++ b/module/playlist_detail.js @@ -1,16 +1,11 @@ // 歌单详情 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, n: 100000, s: query.s || 8, } - return request('POST', `https://music.163.com/api/v6/playlist/detail`, data, { - crypto: 'api', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request('POST', `/api/v6/playlist/detail`, data, createOption(query)) } diff --git a/module/playlist_detail_dynamic.js b/module/playlist_detail_dynamic.js index 5b4dc6a..0a47775 100644 --- a/module/playlist_detail_dynamic.js +++ b/module/playlist_detail_dynamic.js @@ -1,5 +1,6 @@ // 歌单动态信息 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/playlist/detail/dynamic`, + `/api/playlist/detail/dynamic`, data, - { - crypto: 'api', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/playlist_highquality_tags.js b/module/playlist_highquality_tags.js index 7002a4b..31f742c 100644 --- a/module/playlist_highquality_tags.js +++ b/module/playlist_highquality_tags.js @@ -1,16 +1,11 @@ // 精品歌单 tags +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://music.163.com/api/playlist/highquality/tags`, + `/api/playlist/highquality/tags`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/playlist_hot.js b/module/playlist_hot.js index a64f011..004be01 100644 --- a/module/playlist_hot.js +++ b/module/playlist_hot.js @@ -1,16 +1,11 @@ // 热门歌单分类 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/weapi/playlist/hottags`, + `/api/playlist/hottags`, {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/playlist_mylike.js b/module/playlist_mylike.js index 9e46241..60549f3 100644 --- a/module/playlist_mylike.js +++ b/module/playlist_mylike.js @@ -1,3 +1,4 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { time: query.time || '-1', @@ -5,14 +6,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/mlog/playlist/mylike/bytime/get`, + `/api/mlog/playlist/mylike/bytime/get`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/playlist_name_update.js b/module/playlist_name_update.js index d3e0b5f..e4e6c8a 100644 --- a/module/playlist_name_update.js +++ b/module/playlist_name_update.js @@ -1,21 +1,10 @@ // 更新歌单名 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, name: query.name, } - return request( - 'POST', - `https://interface3.music.163.com/eapi/playlist/update/name`, - data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - url: '/api/playlist/update/name', - realIP: query.realIP, - }, - ) + return request('POST', `/api/playlist/update/name`, data, createOption(query)) } diff --git a/module/playlist_order_update.js b/module/playlist_order_update.js index de48256..c361fc8 100644 --- a/module/playlist_order_update.js +++ b/module/playlist_order_update.js @@ -1,5 +1,6 @@ // 编辑歌单顺序 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/playlist/order/update`, + `/api/playlist/order/update`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/playlist_privacy.js b/module/playlist_privacy.js index f0a117f..a96fe9f 100644 --- a/module/playlist_privacy.js +++ b/module/playlist_privacy.js @@ -1,5 +1,6 @@ // 公开隐私歌单 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, @@ -7,15 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://interface.music.163.com/eapi/playlist/update/privacy`, + `/api/playlist/update/privacy`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/playlist/update/privacy', - }, + createOption(query), ) } diff --git a/module/playlist_subscribe.js b/module/playlist_subscribe.js index 4182ec0..3c2dfed 100644 --- a/module/playlist_subscribe.js +++ b/module/playlist_subscribe.js @@ -1,5 +1,6 @@ // 收藏与取消收藏歌单 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.t = query.t == 1 ? 'subscribe' : 'unsubscribe' const data = { @@ -7,14 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/playlist/${query.t}`, + `/api/playlist/${query.t}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/playlist_subscribers.js b/module/playlist_subscribers.js index 8084d0e..960ffe8 100644 --- a/module/playlist_subscribers.js +++ b/module/playlist_subscribers.js @@ -1,5 +1,6 @@ // 歌单收藏者 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/playlist/subscribers`, + `/api/playlist/subscribers`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/playlist_tags_update.js b/module/playlist_tags_update.js index dcaed32..08c1e7c 100644 --- a/module/playlist_tags_update.js +++ b/module/playlist_tags_update.js @@ -1,21 +1,10 @@ // 更新歌单标签 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, tags: query.tags, } - return request( - 'POST', - `https://interface3.music.163.com/eapi/playlist/tags/update`, - data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - url: '/api/playlist/tags/update', - realIP: query.realIP, - }, - ) + return request('POST', `/api/playlist/tags/update`, data, createOption(query)) } diff --git a/module/playlist_track_add.js b/module/playlist_track_add.js index 5fba0d6..238bfa2 100644 --- a/module/playlist_track_add.js +++ b/module/playlist_track_add.js @@ -1,3 +1,4 @@ +const createOption = require('../util/option.js') module.exports = async (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' @@ -12,11 +13,10 @@ module.exports = async (query, request) => { } console.log(data) - return request('POST', `https://music.163.com/api/playlist/track/add`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/playlist/track/add`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/playlist_track_all.js b/module/playlist_track_all.js index 8cbcfd5..7677e0f 100644 --- a/module/playlist_track_all.js +++ b/module/playlist_track_all.js @@ -1,6 +1,7 @@ // 通过传过来的歌单id拿到所有歌曲数据 // 支持传递参数limit来限制获取歌曲的数据数量 例如: /playlist/track/all?id=7044354223&limit=10 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, @@ -11,13 +12,12 @@ module.exports = (query, request) => { let limit = parseInt(query.limit) || Infinity let offset = parseInt(query.offset) || 0 - return request('POST', `https://music.163.com/api/v6/playlist/detail`, data, { - crypto: 'api', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }).then((res) => { + return request( + 'POST', + `/api/v6/playlist/detail`, + data, + createOption(query), + ).then((res) => { let trackIds = res.body.playlist.trackIds let idsData = { c: @@ -31,15 +31,9 @@ module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/api/v3/song/detail`, + `/api/v3/song/detail`, idsData, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) }) } diff --git a/module/playlist_track_delete.js b/module/playlist_track_delete.js index 28a84e2..9cacbbb 100644 --- a/module/playlist_track_delete.js +++ b/module/playlist_track_delete.js @@ -1,5 +1,6 @@ // 收藏单曲到歌单 从歌单删除歌曲 +const createOption = require('../util/option.js') module.exports = async (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' @@ -15,14 +16,8 @@ module.exports = async (query, request) => { return request( 'POST', - `https://music.163.com/api/playlist/track/delete`, + `/api/playlist/track/delete`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/playlist_tracks.js b/module/playlist_tracks.js index fda620a..a5851c7 100644 --- a/module/playlist_tracks.js +++ b/module/playlist_tracks.js @@ -1,5 +1,6 @@ // 收藏单曲到歌单 从歌单删除歌曲 +const createOption = require('../util/option.js') module.exports = async (query, request) => { // const tracks = query.tracks.split(',') @@ -13,15 +14,9 @@ module.exports = async (query, request) => { try { const res = await request( 'POST', - `https://music.163.com/weapi/playlist/manipulate/tracks`, + `/api/playlist/manipulate/tracks`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) return { status: 200, @@ -33,20 +28,14 @@ module.exports = async (query, request) => { if (error.body.code === 512) { return request( 'POST', - `https://music.163.com/api/playlist/manipulate/tracks`, + `/api/playlist/manipulate/tracks`, { op: query.op, // del,add pid: query.pid, // 歌单id trackIds: JSON.stringify([...tracks, ...tracks]), imme: 'true', }, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } else { return { diff --git a/module/playlist_update.js b/module/playlist_update.js index c2d966a..8731108 100644 --- a/module/playlist_update.js +++ b/module/playlist_update.js @@ -1,5 +1,6 @@ // 编辑歌单 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' @@ -10,11 +11,5 @@ module.exports = (query, request) => { '/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, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request('POST', `/api/batch`, data, createOption(query, 'weapi')) } diff --git a/module/playlist_update_playcount.js b/module/playlist_update_playcount.js index 4aa1e06..a1e6854 100644 --- a/module/playlist_update_playcount.js +++ b/module/playlist_update_playcount.js @@ -1,19 +1,14 @@ // 歌单打卡 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, } return request( 'POST', - `https://music.163.com/api/playlist/update/playcount`, + `/api/playlist/update/playcount`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/playlist_video_recent.js b/module/playlist_video_recent.js index f2c0102..371a7ca 100644 --- a/module/playlist_video_recent.js +++ b/module/playlist_video_recent.js @@ -1,15 +1,10 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://music.163.com/api/playlist/video/recent`, + `/api/playlist/video/recent`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/playmode_intelligence_list.js b/module/playmode_intelligence_list.js index 63101d3..ffb66b5 100644 --- a/module/playmode_intelligence_list.js +++ b/module/playmode_intelligence_list.js @@ -1,5 +1,6 @@ // 智能播放 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { songId: query.id, @@ -10,14 +11,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/playmode/intelligence/list`, + `/api/playmode/intelligence/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/playmode_song_vector.js b/module/playmode_song_vector.js index d16d484..5c93b5c 100644 --- a/module/playmode_song_vector.js +++ b/module/playmode_song_vector.js @@ -1,19 +1,13 @@ // 云随机播放 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { ids: query.ids, } return request( 'POST', - `https://interface3.music.163.com/eapi/playmode/song/vector/get`, + `/api/playmode/song/vector/get`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/playmode/song/vector/get', - }, + createOption(query), ) } diff --git a/module/program_recommend.js b/module/program_recommend.js index 8a93ce4..93a7970 100644 --- a/module/program_recommend.js +++ b/module/program_recommend.js @@ -1,5 +1,6 @@ // 推荐节目 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { cateId: query.type, @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/program/recommend/v1`, + `/api/program/recommend/v1`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/rebind.js b/module/rebind.js index 0574feb..b94c844 100644 --- a/module/rebind.js +++ b/module/rebind.js @@ -1,5 +1,6 @@ // 更换手机 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { captcha: query.captcha, @@ -9,14 +10,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/user/replaceCellphone`, + `/api/user/replaceCellphone`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/recent_listen_list.js b/module/recent_listen_list.js index 8f16658..03ee643 100644 --- a/module/recent_listen_list.js +++ b/module/recent_listen_list.js @@ -1,18 +1,12 @@ // 最近听歌列表 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://interface.music.163.com/eapi/pc/recent/listen/list`, + `/api/pc/recent/listen/list`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - url: '/api/pc/recent/listen/list', - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/recommend_resource.js b/module/recommend_resource.js index ba21ef8..435bf55 100644 --- a/module/recommend_resource.js +++ b/module/recommend_resource.js @@ -1,16 +1,11 @@ // 每日推荐歌单 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/weapi/v1/discovery/recommend/resource`, + `/api/v1/discovery/recommend/resource`, {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/recommend_songs.js b/module/recommend_songs.js index 3b9188d..d59a22e 100644 --- a/module/recommend_songs.js +++ b/module/recommend_songs.js @@ -1,18 +1,13 @@ // 每日推荐歌曲 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'ios' const data = {} return request( 'POST', - `https://music.163.com/api/v3/discovery/recommend/songs`, + `/api/v3/discovery/recommend/songs`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/recommend_songs_dislike.js b/module/recommend_songs_dislike.js index 71f7773..f5e1897 100644 --- a/module/recommend_songs_dislike.js +++ b/module/recommend_songs_dislike.js @@ -1,4 +1,5 @@ // 每日推荐歌曲-不感兴趣 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { resId: query.id, // 日推歌曲id @@ -7,14 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/v2/discovery/recommend/dislike`, + `/api/v2/discovery/recommend/dislike`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/record_recent_album.js b/module/record_recent_album.js index 56e3905..6bdcae0 100644 --- a/module/record_recent_album.js +++ b/module/record_recent_album.js @@ -1,17 +1,12 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 100, } return request( 'POST', - `https://music.163.com/api/play-record/album/list`, + `/api/play-record/album/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/record_recent_dj.js b/module/record_recent_dj.js index e2c134d..b26725b 100644 --- a/module/record_recent_dj.js +++ b/module/record_recent_dj.js @@ -1,17 +1,12 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 100, } return request( 'POST', - `https://music.163.com/api/play-record/djradio/list`, + `/api/play-record/djradio/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/record_recent_playlist.js b/module/record_recent_playlist.js index 1a87181..25fa536 100644 --- a/module/record_recent_playlist.js +++ b/module/record_recent_playlist.js @@ -1,17 +1,12 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 100, } return request( 'POST', - `https://music.163.com/api/play-record/playlist/list`, + `/api/play-record/playlist/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/record_recent_song.js b/module/record_recent_song.js index 76c078e..ce0d561 100644 --- a/module/record_recent_song.js +++ b/module/record_recent_song.js @@ -1,17 +1,12 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 100, } return request( 'POST', - `https://music.163.com/api/play-record/song/list`, + `/api/play-record/song/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/record_recent_video.js b/module/record_recent_video.js index b7fb9a3..5b565ec 100644 --- a/module/record_recent_video.js +++ b/module/record_recent_video.js @@ -1,17 +1,12 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 100, } return request( 'POST', - `https://music.163.com/api/play-record/newvideo/list`, + `/api/play-record/newvideo/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/record_recent_voice.js b/module/record_recent_voice.js index a94c9e4..9a11453 100644 --- a/module/record_recent_voice.js +++ b/module/record_recent_voice.js @@ -1,17 +1,12 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 100, } return request( 'POST', - `https://music.163.com/api/play-record/voice/list`, + `/api/play-record/voice/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/register_anonimous.js b/module/register_anonimous.js index b329189..454856e 100644 --- a/module/register_anonimous.js +++ b/module/register_anonimous.js @@ -7,6 +7,7 @@ const deviceidText = fs.readFileSync( 'utf-8', ) +const createOption = require('../util/option.js') const deviceidList = deviceidText.split('\n') function getRandomFromList(list) { @@ -38,15 +39,9 @@ module.exports = async (query, request) => { } let result = await request( 'POST', - `https://music.163.com/api/register/anonimous`, + `/api/register/anonimous`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) if (result.body.code === 200) { result = { diff --git a/module/register_cellphone.js b/module/register_cellphone.js index 77de05c..f60ea1d 100644 --- a/module/register_cellphone.js +++ b/module/register_cellphone.js @@ -1,6 +1,7 @@ // 注册账号 const CryptoJS = require('crypto-js') +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' @@ -11,11 +12,10 @@ module.exports = (query, request) => { nickname: query.nickname, countrycode: query.countrycode || '86', } - return request('POST', `https://music.163.com/api/register/cellphone`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/register/cellphone`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/related_allvideo.js b/module/related_allvideo.js index 300c954..ddbf637 100644 --- a/module/related_allvideo.js +++ b/module/related_allvideo.js @@ -1,5 +1,6 @@ // 相关视频 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, @@ -7,14 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/cloudvideo/v1/allvideo/rcmd`, + `/api/cloudvideo/v1/allvideo/rcmd`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/related_playlist.js b/module/related_playlist.js index b8a2ca8..8975fae 100644 --- a/module/related_playlist.js +++ b/module/related_playlist.js @@ -1,40 +1,32 @@ // 相关歌单 - -module.exports = (query, request) => { - return request( - 'GET', - `https://music.163.com/playlist?id=${query.id}`, - {}, - { - uaType: 'pc', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, - ).then((response) => { - try { - const pattern = - /
[\s\S]*?[\s\S]*?]*>([^<]+?)<\/a>[\s\S]*?]*>([^<]+?)<\/a>/g - let result, - playlists = [] - while ((result = pattern.exec(response.body)) != null) { - playlists.push({ - creator: { - userId: result[4].slice('/user/home?id='.length), - nickname: result[5], - }, - coverImgUrl: result[1].slice(0, -'?param=50y50'.length), - name: result[3], - 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) - } +const { default: axios } = require('axios') +const createOption = require('../util/option.js') +module.exports = async (query, request) => { + const res = await axios({ + method: 'GET', + url: `https://music.163.com/playlist?id=${query.id}`, }) + try { + const pattern = + /
[\s\S]*?[\s\S]*?]*>([^<]+?)<\/a>[\s\S]*?]*>([^<]+?)<\/a>/g + let result, + playlists = [] + while ((result = pattern.exec(res.data)) != null) { + playlists.push({ + creator: { + userId: result[4].slice('/user/home?id='.length), + nickname: result[5], + }, + coverImgUrl: result[1].slice(0, -'?param=50y50'.length), + name: result[3], + id: result[2].slice('/playlist?id='.length), + }) + } + res.body = { code: 200, playlists: playlists } + return res + } catch (err) { + res.status = 500 + res.body = { code: 500, msg: err.stack } + return Promise.reject(res) + } } diff --git a/module/resource_like.js b/module/resource_like.js index 7899f69..e5fadce 100644 --- a/module/resource_like.js +++ b/module/resource_like.js @@ -1,5 +1,6 @@ // 点赞与取消点赞资源 const { resourceTypeMap } = require('../util/config.json') +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'android' query.t = query.t == 1 ? 'like' : 'unlike' @@ -12,14 +13,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/resource/${query.t}`, + `/api/resource/${query.t}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/scrobble.js b/module/scrobble.js index 3c15710..09e9861 100644 --- a/module/scrobble.js +++ b/module/scrobble.js @@ -1,5 +1,6 @@ // 听歌打卡 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { logs: JSON.stringify([ @@ -19,11 +20,10 @@ module.exports = (query, request) => { ]), } - return request('POST', `https://music.163.com/weapi/feedback/weblog`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/feedback/weblog`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/search.js b/module/search.js index 05f239f..192d1b9 100644 --- a/module/search.js +++ b/module/search.js @@ -1,5 +1,6 @@ // 搜索 +const createOption = require('../util/option.js') module.exports = (query, request) => { if (query.type && query.type == '2000') { const data = { @@ -8,13 +9,12 @@ module.exports = (query, request) => { limit: query.limit || 30, offset: query.offset || 0, } - return request('POST', `https://music.163.com/api/search/voice/get`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/search/voice/get`, + data, + createOption(query, 'weapi'), + ) } query.cookie.os = 'pc' const data = { @@ -23,11 +23,5 @@ module.exports = (query, request) => { limit: query.limit || 30, offset: query.offset || 0, } - return request('POST', `https://music.163.com/weapi/search/get`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request('POST', `/api/search/get`, data, createOption(query, 'weapi')) } diff --git a/module/search_default.js b/module/search_default.js index d01af6e..85c2fda 100644 --- a/module/search_default.js +++ b/module/search_default.js @@ -1,17 +1,11 @@ // 默认搜索关键词 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://interface3.music.163.com/eapi/search/defaultkeyword/get`, + `/api/search/defaultkeyword/get`, {}, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - url: '/api/search/defaultkeyword/get', - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/search_hot.js b/module/search_hot.js index 9ec06ef..a41c8a3 100644 --- a/module/search_hot.js +++ b/module/search_hot.js @@ -1,15 +1,12 @@ // 热门搜索 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { type: 1111, } - return request('POST', `https://music.163.com/weapi/search/hot`, data, { - crypto: 'weapi', + return request('POST', `/api/search/hot`, data, { + ...createOption(query, 'weapi'), uaType: 'mobile', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, }) } diff --git a/module/search_hot_detail.js b/module/search_hot_detail.js index a6c82ef..351dc33 100644 --- a/module/search_hot_detail.js +++ b/module/search_hot_detail.js @@ -1,16 +1,11 @@ // 热搜列表 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://music.163.com/weapi/hotsearchlist/get`, + `/api/hotsearchlist/get`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/search_match.js b/module/search_match.js index 7c02fbc..64ab46d 100644 --- a/module/search_match.js +++ b/module/search_match.js @@ -1,5 +1,6 @@ // 本地歌曲匹配音乐信息 +const createOption = require('../util/option.js') module.exports = (query, request) => { let songs = [ { @@ -13,17 +14,5 @@ module.exports = (query, request) => { const data = { songs: JSON.stringify(songs), } - return request( - 'POST', - `https://interface3.music.163.com/eapi/search/match/new`, - data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - url: '/api/search/match/new', - realIP: query.realIP, - }, - ) + return request('POST', `/api/search/match/new`, data, createOption(query)) } diff --git a/module/search_multimatch.js b/module/search_multimatch.js index fdadf06..3841f6c 100644 --- a/module/search_multimatch.js +++ b/module/search_multimatch.js @@ -1,5 +1,6 @@ // 多类型搜索 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { type: query.type || 1, @@ -7,14 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/search/suggest/multimatch`, + `/api/search/suggest/multimatch`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/search_suggest.js b/module/search_suggest.js index 1a3811a..577cc5c 100644 --- a/module/search_suggest.js +++ b/module/search_suggest.js @@ -1,5 +1,6 @@ // 搜索建议 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { s: query.keywords || '', @@ -7,14 +8,8 @@ module.exports = (query, request) => { let type = query.type == 'mobile' ? 'keyword' : 'web' return request( 'POST', - `https://music.163.com/weapi/search/suggest/` + type, + `/api/search/suggest/` + type, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/send_album.js b/module/send_album.js index c9035ac..e23d7d2 100644 --- a/module/send_album.js +++ b/module/send_album.js @@ -1,5 +1,6 @@ // 私信专辑 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, @@ -7,11 +8,5 @@ module.exports = (query, request) => { type: 'album', userIds: '[' + query.user_ids + ']', } - return request('POST', `https://music.163.com/api/msg/private/send`, data, { - crypto: 'api', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request('POST', `/api/msg/private/send`, data, createOption(query)) } diff --git a/module/send_playlist.js b/module/send_playlist.js index f837c3c..4c6046e 100644 --- a/module/send_playlist.js +++ b/module/send_playlist.js @@ -1,5 +1,6 @@ // 私信歌单 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.playlist, @@ -7,11 +8,10 @@ module.exports = (query, request) => { msg: query.msg, userIds: '[' + query.user_ids + ']', } - return request('POST', `https://music.163.com/weapi/msg/private/send`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/msg/private/send`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/send_song.js b/module/send_song.js index 4ab805f..b4eb1be 100644 --- a/module/send_song.js +++ b/module/send_song.js @@ -1,5 +1,6 @@ // 私信歌曲 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, @@ -7,11 +8,5 @@ module.exports = (query, request) => { type: 'song', userIds: '[' + query.user_ids + ']', } - return request('POST', `https://music.163.com/api/msg/private/send`, data, { - crypto: 'api', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request('POST', `/api/msg/private/send`, data, createOption(query)) } diff --git a/module/send_text.js b/module/send_text.js index 4e0ce92..17c8fa9 100644 --- a/module/send_text.js +++ b/module/send_text.js @@ -1,16 +1,16 @@ // 私信 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { type: 'text', msg: query.msg, userIds: '[' + query.user_ids + ']', } - return request('POST', `https://music.163.com/weapi/msg/private/send`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/msg/private/send`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/setting.js b/module/setting.js index a22234a..e74ab01 100644 --- a/module/setting.js +++ b/module/setting.js @@ -1,12 +1,12 @@ // 设置 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} - return request('POST', `https://music.163.com/api/user/setting`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/user/setting`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/share_resource.js b/module/share_resource.js index 0efea5b..9222a9c 100644 --- a/module/share_resource.js +++ b/module/share_resource.js @@ -1,5 +1,6 @@ // 分享歌曲到动态 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { type: query.type || 'song', // song,playlist,mv,djprogram,djradio,noresource @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/share/friends/resource`, + `/api/share/friends/resource`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/sheet_list.js b/module/sheet_list.js index 426f582..294dfd7 100644 --- a/module/sheet_list.js +++ b/module/sheet_list.js @@ -1,20 +1,9 @@ // 乐谱列表 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, abTest: query.ab || 'b', } - return request( - 'POST', - `https://interface3.music.163.com/eapi/music/sheet/list/v1`, - data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/music/sheet/list/v1', - }, - ) + return request('POST', `/api/music/sheet/list/v1`, data, createOption(query)) } diff --git a/module/sheet_preview.js b/module/sheet_preview.js index 824e492..f017636 100644 --- a/module/sheet_preview.js +++ b/module/sheet_preview.js @@ -1,19 +1,13 @@ // 乐谱预览 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, } return request( 'POST', - `https://interface3.music.163.com/eapi//music/sheet/preview/info?id=${query.id}`, + `/api/music/sheet/preview/info`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api//music/sheet/preview/info', // 我没写错! 他们就是这么请求的! - }, + createOption(query), ) } diff --git a/module/sign_happy_info.js b/module/sign_happy_info.js index d91ce36..3d5b8d3 100644 --- a/module/sign_happy_info.js +++ b/module/sign_happy_info.js @@ -1,10 +1,10 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} - return request('POST', `https://music.163.com/api/sign/happy/info`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/sign/happy/info`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/signin_progress.js b/module/signin_progress.js index 51b5a52..620c830 100644 --- a/module/signin_progress.js +++ b/module/signin_progress.js @@ -1,19 +1,14 @@ // 签到进度 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { moduleId: query.moduleId || '1207signin-1207signin', } return request( 'POST', - `https://music.163.com/weapi/act/modules/signin/v2/progress`, + `/api/act/modules/signin/v2/progress`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/simi_artist.js b/module/simi_artist.js index b96b3ff..7727389 100644 --- a/module/simi_artist.js +++ b/module/simi_artist.js @@ -1,18 +1,13 @@ // 相似歌手 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { artistid: query.id, } return request( 'POST', - `https://music.163.com/weapi/discovery/simiArtist`, + `/api/discovery/simiArtist`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/simi_mv.js b/module/simi_mv.js index 6ae98ec..7e0d0b9 100644 --- a/module/simi_mv.js +++ b/module/simi_mv.js @@ -1,14 +1,14 @@ // 相似MV +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { mvid: query.mvid, } - return request('POST', `https://music.163.com/weapi/discovery/simiMV`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/discovery/simiMV`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/simi_playlist.js b/module/simi_playlist.js index a82539f..2ca96e9 100644 --- a/module/simi_playlist.js +++ b/module/simi_playlist.js @@ -1,5 +1,6 @@ // 相似歌单 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { songid: query.id, @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/discovery/simiPlaylist`, + `/api/discovery/simiPlaylist`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/simi_song.js b/module/simi_song.js index 6504fdd..516288e 100644 --- a/module/simi_song.js +++ b/module/simi_song.js @@ -1,5 +1,6 @@ // 相似歌曲 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { songid: query.id, @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/v1/discovery/simiSong`, + `/api/v1/discovery/simiSong`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/simi_user.js b/module/simi_user.js index 7bf7e12..90474a4 100644 --- a/module/simi_user.js +++ b/module/simi_user.js @@ -1,5 +1,6 @@ // 相似用户 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { songid: query.id, @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/discovery/simiUser`, + `/api/discovery/simiUser`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/song_detail.js b/module/song_detail.js index 02c0a02..0f282c8 100644 --- a/module/song_detail.js +++ b/module/song_detail.js @@ -1,15 +1,15 @@ // 歌曲详情 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.ids = query.ids.split(/\s*,\s*/) const data = { c: '[' + query.ids.map((id) => '{"id":' + id + '}').join(',') + ']', } - return request('POST', `https://music.163.com/api/v3/song/detail`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/v3/song/detail`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/song_download_url.js b/module/song_download_url.js index ffa9661..92d3efa 100644 --- a/module/song_download_url.js +++ b/module/song_download_url.js @@ -1,5 +1,6 @@ // 获取客户端歌曲下载链接 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, @@ -7,15 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://interface.music.163.com/eapi/song/enhance/download/url`, + `/api/song/enhance/download/url`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/song/enhance/download/url', - }, + createOption(query), ) } diff --git a/module/song_music_detail.js b/module/song_music_detail.js index af56e2a..c89fe7c 100644 --- a/module/song_music_detail.js +++ b/module/song_music_detail.js @@ -1,20 +1,14 @@ // 歌曲音质详情 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { songId: query.id, } return request( 'POST', - `https://interface3.music.163.com/eapi/song/music/detail/get`, + `/api/song/music/detail/get`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - url: '/api/song/music/detail/get', - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/song_order_update.js b/module/song_order_update.js index e9b812f..916b0b8 100644 --- a/module/song_order_update.js +++ b/module/song_order_update.js @@ -1,5 +1,6 @@ // 更新歌曲顺序 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { pid: query.pid, @@ -9,15 +10,8 @@ module.exports = (query, request) => { return request( 'POST', - `http://interface.music.163.com/api/playlist/manipulate/tracks`, + `/api/playlist/manipulate/tracks`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - url: '/api/playlist/desc/update', - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/song_purchased.js b/module/song_purchased.js index c760f4a..3269fab 100644 --- a/module/song_purchased.js +++ b/module/song_purchased.js @@ -1,5 +1,6 @@ // 已购单曲 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 20, @@ -7,14 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/single/mybought/song/list`, + `/api/single/mybought/song/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/song_red_count.js b/module/song_red_count.js index c93c0d0..6176a89 100644 --- a/module/song_red_count.js +++ b/module/song_red_count.js @@ -1,20 +1,9 @@ // 歌曲红心数量 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { songId: query.id, } - return request( - 'POST', - `https://interface3.music.163.com/eapi/song/red/count`, - data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - url: '/api/song/red/count', - realIP: query.realIP, - }, - ) + return request('POST', `/api/song/red/count`, data, createOption(query)) } diff --git a/module/song_url.js b/module/song_url.js index ad427f3..93058fc 100644 --- a/module/song_url.js +++ b/module/song_url.js @@ -1,4 +1,5 @@ // 歌曲链接 +const createOption = require('../util/option.js') module.exports = async (query, request) => { query.cookie.os = 'pc' const ids = String(query.id).split(',') @@ -8,16 +9,9 @@ module.exports = async (query, request) => { } const res = await request( 'POST', - `https://interface3.music.163.com/eapi/song/enhance/player/url`, + `/api/song/enhance/player/url`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/song/enhance/player/url', - }, + createOption(query), ) // 根据id排序 const result = res.body.data diff --git a/module/song_url_v1.js b/module/song_url_v1.js index 3809444..b0eb4f0 100644 --- a/module/song_url_v1.js +++ b/module/song_url_v1.js @@ -2,6 +2,7 @@ // 此版本不再采用 br 作为音质区分的标准 // 而是采用 standard, exhigh, lossless, hires, jyeffect(高清环绕声), sky(沉浸环绕声), jymaster(超清母带) 进行音质判断 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { ids: '[' + query.id + ']', @@ -13,15 +14,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://interface.music.163.com/eapi/song/enhance/player/url/v1`, + `/api/song/enhance/player/url/v1`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/song/enhance/player/url/v1', - }, + createOption(query), ) } diff --git a/module/song_wiki_summary.js b/module/song_wiki_summary.js index d1022a2..c280ffc 100644 --- a/module/song_wiki_summary.js +++ b/module/song_wiki_summary.js @@ -1,19 +1,13 @@ // 音乐百科基础信息 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { songId: query.id, } return request( 'POST', - `https://interface3.music.163.com/eapi/music/wiki/home/song/get`, + `/api/song/play/about/block/page`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/song/play/about/block/page', - }, + createOption(query), ) } diff --git a/module/starpick_comments_summary.js b/module/starpick_comments_summary.js index 373ca2a..4c38335 100644 --- a/module/starpick_comments_summary.js +++ b/module/starpick_comments_summary.js @@ -1,4 +1,5 @@ // 云村星评馆 - 简要评论列表 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { cursor: JSON.stringify({ @@ -7,17 +8,5 @@ module.exports = (query, request) => { refresh: true, }), } - return request( - 'POST', - `https://interface3.music.163.com/eapi/homepage/block/page`, - data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - url: '/api/homepage/block/page', - realIP: query.realIP, - }, - ) + return request('POST', `/api/homepage/block/page`, data, createOption(query)) } diff --git a/module/style_album.js b/module/style_album.js index 958472b..1389782 100644 --- a/module/style_album.js +++ b/module/style_album.js @@ -1,5 +1,6 @@ // 曲风-专辑 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { cursor: query.cursor || 0, @@ -9,14 +10,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/style-tag/home/album`, + `/api/style-tag/home/album`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/style_artist.js b/module/style_artist.js index a521d68..c3e8164 100644 --- a/module/style_artist.js +++ b/module/style_artist.js @@ -1,5 +1,6 @@ // 曲风-歌手 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { cursor: query.cursor || 0, @@ -9,14 +10,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/style-tag/home/artist`, + `/api/style-tag/home/artist`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/style_detail.js b/module/style_detail.js index cdf61b0..9582a53 100644 --- a/module/style_detail.js +++ b/module/style_detail.js @@ -1,19 +1,14 @@ // 曲风详情 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { tagId: query.tagId, } return request( 'POST', - `https://music.163.com/api/style-tag/home/head`, + `/api/style-tag/home/head`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/style_list.js b/module/style_list.js index c02838d..ff9e743 100644 --- a/module/style_list.js +++ b/module/style_list.js @@ -1,12 +1,12 @@ // 曲风列表 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} - return request('POST', `https://music.163.com/api/tag/list/get`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/tag/list/get`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/style_playlist.js b/module/style_playlist.js index 37427ad..0c64342 100644 --- a/module/style_playlist.js +++ b/module/style_playlist.js @@ -1,5 +1,6 @@ // 曲风-歌单 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { cursor: query.cursor || 0, @@ -9,14 +10,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/style-tag/home/playlist`, + `/api/style-tag/home/playlist`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/style_preference.js b/module/style_preference.js index 57bff4a..0103c67 100644 --- a/module/style_preference.js +++ b/module/style_preference.js @@ -1,17 +1,12 @@ // 曲风偏好 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://music.163.com/api/tag/my/preference/get`, + `/api/tag/my/preference/get`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/style_song.js b/module/style_song.js index 86fcc8a..6d71374 100644 --- a/module/style_song.js +++ b/module/style_song.js @@ -1,5 +1,6 @@ // 曲风-歌曲 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { cursor: query.cursor || 0, @@ -9,14 +10,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/style-tag/home/song`, + `/api/style-tag/home/song`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/summary_annual.js b/module/summary_annual.js index 600db42..a12b944 100644 --- a/module/summary_annual.js +++ b/module/summary_annual.js @@ -1,19 +1,13 @@ // 年度听歌报告2017-2023 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} const key = ['2017', '2018', '2019'].indexOf(query.year) > -1 ? 'userdata' : 'data' return request( 'POST', - `https://music.163.com/weapi/activity/summary/annual/${query.year}/${key}`, + `/api/activity/summary/annual/${query.year}/${key}`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: `/api/activity/summary/annual/${query.year}/${key}`, - }, + createOption(query), ) } diff --git a/module/threshold_detail_get.js b/module/threshold_detail_get.js index 76e68f8..4ecc751 100644 --- a/module/threshold_detail_get.js +++ b/module/threshold_detail_get.js @@ -1,17 +1,11 @@ // 获取达人达标信息 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://music.163.com/weapi/influencer/web/apply/threshold/detail/get`, + `/api/influencer/web/apply/threshold/detail/get`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/influencer/web/apply/threshold/detail/get', - }, + createOption(query), ) } diff --git a/module/top_album.js b/module/top_album.js index 3d7cf63..b0efb79 100644 --- a/module/top_album.js +++ b/module/top_album.js @@ -1,5 +1,6 @@ // 新碟上架 +const createOption = require('../util/option.js') module.exports = (query, request) => { const date = new Date() @@ -15,14 +16,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/discovery/new/albums/area`, + `/api/discovery/new/albums/area`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/top_artists.js b/module/top_artists.js index e258bd7..35a3599 100644 --- a/module/top_artists.js +++ b/module/top_artists.js @@ -1,16 +1,11 @@ // 热门歌手 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 50, offset: query.offset || 0, total: true, } - return request('POST', `https://music.163.com/weapi/artist/top`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request('POST', `/api/artist/top`, data, createOption(query, 'weapi')) } diff --git a/module/top_list.js b/module/top_list.js index ebb71fd..9721e60 100644 --- a/module/top_list.js +++ b/module/top_list.js @@ -1,4 +1,5 @@ // 排行榜 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.cookie.os = 'pc' query.cookie.appver = '2.9.7' @@ -17,16 +18,5 @@ module.exports = (query, request) => { n: '500', s: '0', } - return request( - 'POST', - `https://interface3.music.163.com/api/playlist/v4/detail`, - data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, - ) + return request('POST', `/api/playlist/v4/detail`, data, createOption(query)) } diff --git a/module/top_mv.js b/module/top_mv.js index e107078..5594e2f 100644 --- a/module/top_mv.js +++ b/module/top_mv.js @@ -1,5 +1,6 @@ // MV排行榜 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { area: query.area || '', @@ -7,11 +8,5 @@ module.exports = (query, request) => { offset: query.offset || 0, total: true, } - return request('POST', `https://music.163.com/weapi/mv/toplist`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request('POST', `/api/mv/toplist`, data, createOption(query, 'weapi')) } diff --git a/module/top_playlist.js b/module/top_playlist.js index bd0315a..a03dc11 100644 --- a/module/top_playlist.js +++ b/module/top_playlist.js @@ -1,5 +1,6 @@ // 分类歌单 +const createOption = require('../util/option.js') module.exports = async (query, request) => { const data = { cat: query.cat || '全部', // 全部,华语,欧美,日语,韩语,粤语,小语种,流行,摇滚,民谣,电子,舞曲,说唱,轻音乐,爵士,乡村,R&B/Soul,古典,民族,英伦,金属,朋克,蓝调,雷鬼,世界音乐,拉丁,另类/独立,New Age,古风,后摇,Bossa Nova,清晨,夜晚,学习,工作,午休,下午茶,地铁,驾车,运动,旅行,散步,酒吧,怀旧,清新,浪漫,性感,伤感,治愈,放松,孤独,感动,兴奋,快乐,安静,思念,影视原声,ACG,儿童,校园,游戏,70后,80后,90后,网络歌曲,KTV,经典,翻唱,吉他,钢琴,器乐,榜单,00后 @@ -10,15 +11,9 @@ module.exports = async (query, request) => { } const res = await request( 'POST', - `https://music.163.com/weapi/playlist/list`, + `/api/playlist/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) const result = JSON.stringify(res).replace( /avatarImgId_str/g, diff --git a/module/top_playlist_highquality.js b/module/top_playlist_highquality.js index aafa602..fbaea0d 100644 --- a/module/top_playlist_highquality.js +++ b/module/top_playlist_highquality.js @@ -1,5 +1,6 @@ // 精品歌单 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { cat: query.cat || '全部', // 全部,华语,欧美,韩语,日语,粤语,小语种,运动,ACG,影视原声,流行,摇滚,后摇,古风,民谣,轻音乐,电子,器乐,说唱,古典,爵士 @@ -9,14 +10,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/playlist/highquality/list`, + `/api/playlist/highquality/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/top_song.js b/module/top_song.js index 1da24af..160c28c 100644 --- a/module/top_song.js +++ b/module/top_song.js @@ -1,5 +1,6 @@ // 新歌速递 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { areaId: query.type || 0, // 全部:0 华语:7 欧美:96 日本:8 韩国:16 @@ -9,14 +10,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/v1/discovery/new/songs`, + `/api/v1/discovery/new/songs`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/topic_detail.js b/module/topic_detail.js index b941bc8..6faad3b 100644 --- a/module/topic_detail.js +++ b/module/topic_detail.js @@ -1,12 +1,7 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { actid: query.actid, } - return request('POST', `https://music.163.com/api/act/detail`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request('POST', `/api/act/detail`, data, createOption(query, 'weapi')) } diff --git a/module/topic_detail_event_hot.js b/module/topic_detail_event_hot.js index a483692..b54da6f 100644 --- a/module/topic_detail_event_hot.js +++ b/module/topic_detail_event_hot.js @@ -1,12 +1,12 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { actid: query.actid, } - return request('POST', `https://music.163.com/api/act/event/hot`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/act/event/hot`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/topic_sublist.js b/module/topic_sublist.js index 79c5990..af0ba64 100644 --- a/module/topic_sublist.js +++ b/module/topic_sublist.js @@ -1,16 +1,16 @@ // 收藏的专栏 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 50, offset: query.offset || 0, total: true, } - return request('POST', `https://music.163.com/api/topic/sublist`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/topic/sublist`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/toplist.js b/module/toplist.js index 9f5aa8a..1d1270d 100644 --- a/module/toplist.js +++ b/module/toplist.js @@ -1,16 +1,6 @@ // 所有榜单介绍 +const createOption = require('../util/option.js') module.exports = (query, request) => { - return request( - 'POST', - `https://music.163.com/api/toplist`, - {}, - { - crypto: 'api', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, - ) + return request('POST', `/api/toplist`, {}, createOption(query)) } diff --git a/module/toplist_artist.js b/module/toplist_artist.js index d079098..7e37a00 100644 --- a/module/toplist_artist.js +++ b/module/toplist_artist.js @@ -1,5 +1,6 @@ // 歌手榜 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { type: query.type || 1, @@ -7,11 +8,10 @@ module.exports = (query, request) => { offset: 0, total: true, } - return request('POST', `https://music.163.com/weapi/toplist/artist`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/toplist/artist`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/toplist_detail.js b/module/toplist_detail.js index ba91e06..2d8be28 100644 --- a/module/toplist_detail.js +++ b/module/toplist_detail.js @@ -1,16 +1,11 @@ // 所有榜单内容摘要 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/weapi/toplist/detail`, + `/api/toplist/detail`, {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/ugc_album_get.js b/module/ugc_album_get.js index 0346a13..6d0ef9a 100644 --- a/module/ugc_album_get.js +++ b/module/ugc_album_get.js @@ -1,19 +1,8 @@ // 专辑简要百科信息 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { albumId: query.id, } - return request( - 'POST', - `https://music.163.com/weapi/rep/ugc/album/get`, - data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/rep/ugc/album/get', - }, - ) + return request('POST', `/api/rep/ugc/album/get`, data, createOption(query)) } diff --git a/module/ugc_artist_get.js b/module/ugc_artist_get.js index d40468a..f4bd37f 100644 --- a/module/ugc_artist_get.js +++ b/module/ugc_artist_get.js @@ -1,14 +1,8 @@ // 歌手简要百科信息 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { artistId: query.id, } - return request('POST', `https://music.163.com/api/rep/ugc/artist/get`, data, { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/rep/ugc/artist/get', - }) + return request('POST', `/api/rep/ugc/artist/get`, data, createOption(query)) } diff --git a/module/ugc_artist_search.js b/module/ugc_artist_search.js index 11f93e6..19535b1 100644 --- a/module/ugc_artist_search.js +++ b/module/ugc_artist_search.js @@ -1,5 +1,6 @@ // 搜索歌手 // 可传关键字或者歌手id +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { keyword: query.keyword, @@ -7,15 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/rep/ugc/artist/search`, + `/api/rep/ugc/artist/search`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/rep/ugc/artist/search', - }, + createOption(query), ) } diff --git a/module/ugc_detail.js b/module/ugc_detail.js index 88b1aec..23be339 100644 --- a/module/ugc_detail.js +++ b/module/ugc_detail.js @@ -1,4 +1,5 @@ // 用户贡献内容 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { auditStatus: query.auditStatus || '', @@ -12,11 +13,10 @@ module.exports = (query, request) => { //曲库纠错 ARTIST:1 ALBUM:2 SONG:3 MV:4 LYRIC:5 TLYRIC:6 //曲库补充 ALBUM:101 MV:103 } - return request('POST', `https://music.163.com/weapi/rep/ugc/detail`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/rep/ugc/detail`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/ugc_mv_get.js b/module/ugc_mv_get.js index 58757c5..c9e552e 100644 --- a/module/ugc_mv_get.js +++ b/module/ugc_mv_get.js @@ -1,14 +1,8 @@ // mv简要百科信息 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { mvId: query.id, } - return request('POST', `https://music.163.com/weapi/rep/ugc/mv/get`, data, { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/rep/ugc/mv/get', - }) + return request('POST', `/api/rep/ugc/mv/get`, data, createOption(query)) } diff --git a/module/ugc_song_get.js b/module/ugc_song_get.js index fa5c377..d17203e 100644 --- a/module/ugc_song_get.js +++ b/module/ugc_song_get.js @@ -1,14 +1,8 @@ // 歌曲简要百科信息 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { songId: query.id, } - return request('POST', `https://music.163.com/weapi/rep/ugc/song/get`, data, { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/rep/ugc/song/get', - }) + return request('POST', `/api/rep/ugc/song/get`, data, createOption(query)) } diff --git a/module/ugc_user_devote.js b/module/ugc_user_devote.js index edc8cc2..c11cebc 100644 --- a/module/ugc_user_devote.js +++ b/module/ugc_user_devote.js @@ -1,17 +1,6 @@ // 用户贡献条目、积分、云贝数量 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} - return request( - 'POST', - `https://music.163.com/weapi/rep/ugc/user/devote`, - data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - url: '/api/rep/ugc/user/devote', - }, - ) + return request('POST', `/api/rep/ugc/user/devote`, data, createOption(query)) } diff --git a/module/user_account.js b/module/user_account.js index 5767442..ff43dc9 100644 --- a/module/user_account.js +++ b/module/user_account.js @@ -1,10 +1,10 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} - return request('POST', `https://music.163.com/api/nuser/account/get`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/nuser/account/get`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/user_audio.js b/module/user_audio.js index 7f04a00..0b82646 100644 --- a/module/user_audio.js +++ b/module/user_audio.js @@ -1,19 +1,14 @@ // 用户创建的电台 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { userId: query.uid, } return request( 'POST', - `https://music.163.com/weapi/djradio/get/byuser`, + `/api/djradio/get/byuser`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/user_binding.js b/module/user_binding.js index b5bd670..a503c02 100644 --- a/module/user_binding.js +++ b/module/user_binding.js @@ -1,15 +1,10 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://music.163.com/api/v1/user/bindings/${query.uid}`, + `/api/v1/user/bindings/${query.uid}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/user_bindingcellphone.js b/module/user_bindingcellphone.js index 9451043..53df8a6 100644 --- a/module/user_bindingcellphone.js +++ b/module/user_bindingcellphone.js @@ -1,4 +1,5 @@ const CryptoJS = require('crypto-js') +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { phone: query.phone, @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/user/bindingCellphone`, + `/api/user/bindingCellphone`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/user_cloud.js b/module/user_cloud.js index 52f8078..c2b4fdf 100644 --- a/module/user_cloud.js +++ b/module/user_cloud.js @@ -1,15 +1,15 @@ // 云盘数据 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 30, offset: query.offset || 0, } - return request('POST', `https://music.163.com/api/v1/cloud/get`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/v1/cloud/get`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/user_cloud_del.js b/module/user_cloud_del.js index 7965ef9..376d11b 100644 --- a/module/user_cloud_del.js +++ b/module/user_cloud_del.js @@ -1,14 +1,9 @@ // 云盘歌曲删除 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { songIds: [query.id], } - return request('POST', `https://music.163.com/weapi/cloud/del`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request('POST', `/api/cloud/del`, data, createOption(query, 'weapi')) } diff --git a/module/user_cloud_detail.js b/module/user_cloud_detail.js index 83cfd13..eaef6fb 100644 --- a/module/user_cloud_detail.js +++ b/module/user_cloud_detail.js @@ -1,5 +1,6 @@ // 云盘数据详情 +const createOption = require('../util/option.js') module.exports = (query, request) => { const id = query.id.replace(/\s/g, '').split(',') const data = { @@ -7,14 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/v1/cloud/get/byids`, + `/api/v1/cloud/get/byids`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/user_comment_history.js b/module/user_comment_history.js index 0c821bf..453e8d2 100644 --- a/module/user_comment_history.js +++ b/module/user_comment_history.js @@ -1,3 +1,4 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { compose_reminder: 'true', @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/comment/user/comment/history`, + `/api/comment/user/comment/history`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/user_detail.js b/module/user_detail.js index ec77a92..06864c3 100644 --- a/module/user_detail.js +++ b/module/user_detail.js @@ -1,17 +1,12 @@ // 用户详情 +const createOption = require('../util/option.js') module.exports = async (query, request) => { const res = await request( 'POST', - `https://music.163.com/weapi/v1/user/detail/${query.uid}`, + `/api/v1/user/detail/${query.uid}`, {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) const result = JSON.stringify(res).replace( /avatarImgId_str/g, diff --git a/module/user_dj.js b/module/user_dj.js index c8dc69b..7923050 100644 --- a/module/user_dj.js +++ b/module/user_dj.js @@ -1,5 +1,6 @@ // 用户电台节目 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 30, @@ -7,14 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/dj/program/${query.uid}`, + `/api/dj/program/${query.uid}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/user_event.js b/module/user_event.js index 2568ac6..19720db 100644 --- a/module/user_event.js +++ b/module/user_event.js @@ -1,5 +1,6 @@ // 用户动态 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { getcounts: true, @@ -9,14 +10,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/event/get/${query.uid}`, + `/api/event/get/${query.uid}`, data, - { - crypto: 'api', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/user_followeds.js b/module/user_followeds.js index 9ddfbc5..3246f6d 100644 --- a/module/user_followeds.js +++ b/module/user_followeds.js @@ -1,5 +1,6 @@ // 关注TA的人(粉丝) +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { userId: query.uid, @@ -10,15 +11,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/eapi/user/getfolloweds/${query.uid}`, + `/api/user/getfolloweds/${query.uid}`, data, - { - crypto: 'eapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - url: '/api/user/getfolloweds', - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/user_follows.js b/module/user_follows.js index 798670a..5ac19e1 100644 --- a/module/user_follows.js +++ b/module/user_follows.js @@ -1,5 +1,6 @@ // TA关注的人(关注) +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { offset: query.offset || 0, @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/user/getfollows/${query.uid}`, + `/api/user/getfollows/${query.uid}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/user_level.js b/module/user_level.js index ecc29f1..a15a40e 100644 --- a/module/user_level.js +++ b/module/user_level.js @@ -1,12 +1,7 @@ // 类别热门电台 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} - return request('POST', `https://music.163.com/weapi/user/level`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request('POST', `/api/user/level`, data, createOption(query, 'weapi')) } diff --git a/module/user_playlist.js b/module/user_playlist.js index 04ac0ce..3987ca4 100644 --- a/module/user_playlist.js +++ b/module/user_playlist.js @@ -1,5 +1,6 @@ // 用户歌单 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { uid: query.uid, @@ -7,11 +8,10 @@ module.exports = (query, request) => { offset: query.offset || 0, includeVideo: true, } - return request('POST', `https://music.163.com/api/user/playlist`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/user/playlist`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/user_record.js b/module/user_record.js index 162dabc..40ec29e 100644 --- a/module/user_record.js +++ b/module/user_record.js @@ -1,15 +1,15 @@ // 听歌排行 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { uid: query.uid, type: query.type || 0, // 1: 最近一周, 0: 所有时间 } - return request('POST', `https://music.163.com/weapi/v1/play/record`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/v1/play/record`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/user_replacephone.js b/module/user_replacephone.js index 7381b73..7af9e47 100644 --- a/module/user_replacephone.js +++ b/module/user_replacephone.js @@ -1,3 +1,4 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { phone: query.phone, @@ -7,14 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/user/replaceCellphone`, + `/api/user/replaceCellphone`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/user_subcount.js b/module/user_subcount.js index 7d88707..3b1ccbc 100644 --- a/module/user_subcount.js +++ b/module/user_subcount.js @@ -1,16 +1,6 @@ // 收藏计数 +const createOption = require('../util/option.js') module.exports = (query, request) => { - return request( - 'POST', - `https://music.163.com/weapi/subcount`, - {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, - ) + return request('POST', `/api/subcount`, {}, createOption(query, 'weapi')) } diff --git a/module/user_update.js b/module/user_update.js index 6dad844..428c41a 100644 --- a/module/user_update.js +++ b/module/user_update.js @@ -1,5 +1,6 @@ // 编辑用户信息 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { // avatarImgId: '0', @@ -12,14 +13,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/user/profile/update`, + `/api/user/profile/update`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/verify_getQr.js b/module/verify_getQr.js index fb0e581..b58917f 100644 --- a/module/verify_getQr.js +++ b/module/verify_getQr.js @@ -1,4 +1,5 @@ const QRCode = require('qrcode') +const createOption = require('../util/option.js') module.exports = async (query, request) => { const data = { verifyConfigId: query.vid, @@ -13,15 +14,9 @@ module.exports = async (query, request) => { const res = await request( 'POST', - `https://music.163.com/weapi/frontrisk/verify/getqrcode`, + `/api/frontrisk/verify/getqrcode`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) const result = `https://st.music.163.com/encrypt-pages?qrCode=${ res.body.data.qrCode diff --git a/module/verify_qrcodestatus.js b/module/verify_qrcodestatus.js index 5767acb..230a1e8 100644 --- a/module/verify_qrcodestatus.js +++ b/module/verify_qrcodestatus.js @@ -1,18 +1,13 @@ +const createOption = require('../util/option.js') module.exports = async (query, request) => { const data = { qrCode: query.qr, } const res = await request( 'POST', - `https://music.163.com/weapi/frontrisk/verify/qrcodestatus`, + `/api/frontrisk/verify/qrcodestatus`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) return res } diff --git a/module/video_category_list.js b/module/video_category_list.js index c2674f3..2b9ce33 100644 --- a/module/video_category_list.js +++ b/module/video_category_list.js @@ -1,5 +1,6 @@ // 视频分类列表 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { offset: query.offset || 0, @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/cloudvideo/category/list`, + `/api/cloudvideo/category/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/video_detail.js b/module/video_detail.js index 28998d8..b2e8398 100644 --- a/module/video_detail.js +++ b/module/video_detail.js @@ -1,19 +1,14 @@ // 视频详情 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, } return request( 'POST', - `https://music.163.com/weapi/cloudvideo/v1/video/detail`, + `/api/cloudvideo/v1/video/detail`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/video_detail_info.js b/module/video_detail_info.js index a624820..eae9394 100644 --- a/module/video_detail_info.js +++ b/module/video_detail_info.js @@ -1,5 +1,6 @@ // 视频点赞转发评论数数据 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { threadid: `R_VI_62_${query.vid}`, @@ -7,14 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/comment/commentthread/info`, + `/api/comment/commentthread/info`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/video_group.js b/module/video_group.js index e44ae22..a10d8cd 100644 --- a/module/video_group.js +++ b/module/video_group.js @@ -1,5 +1,6 @@ // 视频标签/分类下的视频 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { groupId: query.id, @@ -9,14 +10,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/videotimeline/videogroup/otherclient/get`, + `/api/videotimeline/videogroup/otherclient/get`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/video_group_list.js b/module/video_group_list.js index a113faf..58894b6 100644 --- a/module/video_group_list.js +++ b/module/video_group_list.js @@ -1,17 +1,12 @@ // 视频标签列表 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://music.163.com/api/cloudvideo/group/list`, + `/api/cloudvideo/group/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/video_sub.js b/module/video_sub.js index 3a36ba8..af04310 100644 --- a/module/video_sub.js +++ b/module/video_sub.js @@ -1,5 +1,6 @@ // 收藏与取消收藏视频 +const createOption = require('../util/option.js') module.exports = (query, request) => { query.t = query.t == 1 ? 'sub' : 'unsub' const data = { @@ -7,14 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/cloudvideo/video/${query.t}`, + `/api/cloudvideo/video/${query.t}`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/video_timeline_all.js b/module/video_timeline_all.js index 2f8b32b..447cd70 100644 --- a/module/video_timeline_all.js +++ b/module/video_timeline_all.js @@ -1,5 +1,6 @@ // 全部视频列表 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { groupId: 0, @@ -10,14 +11,8 @@ module.exports = (query, request) => { // /api/videotimeline/otherclient/get return request( 'POST', - `https://music.163.com/api/videotimeline/otherclient/get`, + `/api/videotimeline/otherclient/get`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/video_timeline_recommend.js b/module/video_timeline_recommend.js index ad7b1ef..0109202 100644 --- a/module/video_timeline_recommend.js +++ b/module/video_timeline_recommend.js @@ -1,5 +1,6 @@ // 推荐视频 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { offset: query.offset || 0, @@ -8,11 +9,10 @@ module.exports = (query, request) => { needUrl: '1', resolution: '480', } - return request('POST', `https://music.163.com/api/videotimeline/get`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/videotimeline/get`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/video_url.js b/module/video_url.js index c5175e6..923da27 100644 --- a/module/video_url.js +++ b/module/video_url.js @@ -1,5 +1,6 @@ // 视频链接 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { ids: '["' + query.id + '"]', @@ -7,14 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/cloudvideo/playurl`, + `/api/cloudvideo/playurl`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/vip_growthpoint.js b/module/vip_growthpoint.js index 8f64f50..fe5b2c4 100644 --- a/module/vip_growthpoint.js +++ b/module/vip_growthpoint.js @@ -1,17 +1,12 @@ // 会员成长值 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://music.163.com/weapi/vipnewcenter/app/level/growhpoint/basic`, + `/api/vipnewcenter/app/level/growhpoint/basic`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/vip_growthpoint_details.js b/module/vip_growthpoint_details.js index 3e087e6..7681cdd 100644 --- a/module/vip_growthpoint_details.js +++ b/module/vip_growthpoint_details.js @@ -1,5 +1,6 @@ // 会员成长值领取记录 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 20, @@ -7,14 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/vipnewcenter/app/level/growth/details`, + `/api/vipnewcenter/app/level/growth/details`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/vip_growthpoint_get.js b/module/vip_growthpoint_get.js index 379f749..0b7ca41 100644 --- a/module/vip_growthpoint_get.js +++ b/module/vip_growthpoint_get.js @@ -1,19 +1,14 @@ // 领取会员成长值 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { taskIds: query.ids, } return request( 'POST', - `https://music.163.com/weapi/vipnewcenter/app/level/task/reward/get`, + `/api/vipnewcenter/app/level/task/reward/get`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/vip_info.js b/module/vip_info.js index 7264217..47befaa 100644 --- a/module/vip_info.js +++ b/module/vip_info.js @@ -1,18 +1,13 @@ // 获取 VIP 信息 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/weapi/music-vip-membership/front/vip/info`, + `/api/music-vip-membership/front/vip/info`, { userId: query.uid || '', }, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/vip_info_v2.js b/module/vip_info_v2.js index 188780e..a242632 100644 --- a/module/vip_info_v2.js +++ b/module/vip_info_v2.js @@ -1,18 +1,13 @@ // 获取 VIP 信息 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/api/music-vip-membership/client/vip/info`, + `/api/music-vip-membership/client/vip/info`, { userId: query.uid || '', }, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/vip_tasks.js b/module/vip_tasks.js index 2aad0cf..823a07b 100644 --- a/module/vip_tasks.js +++ b/module/vip_tasks.js @@ -1,17 +1,12 @@ // 会员任务 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://music.163.com/weapi/vipnewcenter/app/level/task/list`, + `/api/vipnewcenter/app/level/task/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/vip_timemachine.js b/module/vip_timemachine.js index e9c7b3b..cae6480 100644 --- a/module/vip_timemachine.js +++ b/module/vip_timemachine.js @@ -1,5 +1,6 @@ // 黑胶时光机 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} if (query.startTime && query.endTime) { @@ -10,14 +11,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/vipmusic/newrecord/weekflow`, + `/api/vipmusic/newrecord/weekflow`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/voice_delete.js b/module/voice_delete.js index 36dd9b8..17d6c1e 100644 --- a/module/voice_delete.js +++ b/module/voice_delete.js @@ -1,17 +1,7 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { ids: query.ids, } - return request( - 'POST', - 'https://interface.music.163.com/api/content/voice/delete', - data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, - ) + return request('POST', '/api/content/voice/delete', data, createOption(query)) } diff --git a/module/voice_detail.js b/module/voice_detail.js index a2a9b3f..9c96f93 100644 --- a/module/voice_detail.js +++ b/module/voice_detail.js @@ -1,17 +1,12 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, } return request( 'POST', - `https://interface.music.163.com/weapi/voice/workbench/voice/detail`, + `/api/voice/workbench/voice/detail`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/voice_lyric.js b/module/voice_lyric.js index 1b7748f..f38caec 100644 --- a/module/voice_lyric.js +++ b/module/voice_lyric.js @@ -1,17 +1,7 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { programId: query.id, } - return request( - 'POST', - `https://interface3.music.163.com/eapi/voice/lyric/get?programId=${query.id}`, - data, - { - crypto: 'eapi', - cookie: query.cookie, - proxy: query.proxy, - realIP: query.realIP, - url: '/api/voice/lyric/get', - }, - ) + return request('POST', `/api/voice/lyric/get`, data, createOption(query)) } diff --git a/module/voice_upload.js b/module/voice_upload.js index 3ce8b8f..47323b6 100644 --- a/module/voice_upload.js +++ b/module/voice_upload.js @@ -1,6 +1,7 @@ const { default: axios } = require('axios') var xml2js = require('xml2js') +const createOption = require('../util/option.js') var parser = new xml2js.Parser(/* options */) function createDupkey() { // 格式:3b443c7c-a87f-468d-ba38-46d407aaf23a @@ -38,7 +39,7 @@ module.exports = async (query, request) => { const tokenRes = await request( 'POST', - `https://music.163.com/weapi/nos/token/alloc`, + `/api/nos/token/alloc`, { bucket: 'ymusic', ext: ext, @@ -47,12 +48,7 @@ module.exports = async (query, request) => { nos_product: 0, type: 'other', }, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - }, + createOption(query, 'weapi'), ) const objectKey = tokenRes.body.result.objectKey.replace('/', '%2F') @@ -121,7 +117,7 @@ module.exports = async (query, request) => { // preCheck await request( 'post', - `https://interface.music.163.com/weapi/voice/workbench/voice/batch/upload/preCheck`, + `/api/voice/workbench/voice/batch/upload/preCheck`, { dupkey: createDupkey(), voiceData: JSON.stringify([ @@ -145,10 +141,7 @@ module.exports = async (query, request) => { ]), }, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, + ...createOption(query), headers: { 'x-nos-token': tokenRes.body.result.token, }, @@ -156,7 +149,7 @@ module.exports = async (query, request) => { ) const result = await request( 'post', - `https://interface.music.163.com/weapi/voice/workbench/voice/batch/upload/v2`, + `/api/voice/workbench/voice/batch/upload/v2`, { dupkey: createDupkey(), voiceData: JSON.stringify([ @@ -180,10 +173,7 @@ module.exports = async (query, request) => { ]), }, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, + ...createOption(query), headers: { 'x-nos-token': tokenRes.body.result.token, }, diff --git a/module/voicelist_detail.js b/module/voicelist_detail.js index 6bd3283..b8a2169 100644 --- a/module/voicelist_detail.js +++ b/module/voicelist_detail.js @@ -1,17 +1,12 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { id: query.id, } return request( 'POST', - `https://interface.music.163.com/weapi/voice/workbench/voicelist/detail`, + `/api/voice/workbench/voicelist/detail`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/voicelist_list.js b/module/voicelist_list.js index 9e4f34e..74b262c 100644 --- a/module/voicelist_list.js +++ b/module/voicelist_list.js @@ -1,3 +1,4 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || '200', @@ -6,14 +7,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://interface.music.163.com/weapi/voice/workbench/voices/by/voicelist`, + `/api/voice/workbench/voices/by/voicelist`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/voicelist_list_search.js b/module/voicelist_list_search.js index 447ebef..ac0b7a9 100644 --- a/module/voicelist_list_search.js +++ b/module/voicelist_list_search.js @@ -1,4 +1,5 @@ //声音搜索 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || '200', @@ -11,14 +12,8 @@ module.exports = (query, request) => { } return request( 'POST', - 'https://interface.music.163.com/api/voice/workbench/voice/list', + '/api/voice/workbench/voice/list', data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/voicelist_search.js b/module/voicelist_search.js index 5f04d54..47d8b4f 100644 --- a/module/voicelist_search.js +++ b/module/voicelist_search.js @@ -1,3 +1,4 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { fee: '-1', @@ -7,14 +8,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://interface.music.163.com/weapi/voice/workbench/voicelist/search`, + `/api/voice/workbench/voicelist/search`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/voicelist_trans.js b/module/voicelist_trans.js index 89c60bb..2ee21f8 100644 --- a/module/voicelist_trans.js +++ b/module/voicelist_trans.js @@ -1,3 +1,4 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || '200', // 每页数量 @@ -8,14 +9,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://interface.music.163.com/api/voice/workbench/radio/program/trans`, + `/api/voice/workbench/radio/program/trans`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query), ) } diff --git a/module/weblog.js b/module/weblog.js index 5fe9e67..e4a7d28 100644 --- a/module/weblog.js +++ b/module/weblog.js @@ -1,16 +1,11 @@ // 操作记录 +const createOption = require('../util/option.js') module.exports = (query, request) => { return request( 'POST', - `https://music.163.com/weapi/feedback/weblog`, + `/api/feedback/weblog`, query.data || {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/yunbei.js b/module/yunbei.js index 4900373..8af4b81 100644 --- a/module/yunbei.js +++ b/module/yunbei.js @@ -1,11 +1,11 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} // /api/point/today/get - return request('POST', `https://music.163.com/api/point/signed/get`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/point/signed/get`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/yunbei_expense.js b/module/yunbei_expense.js index 82ba921..92d6a6d 100644 --- a/module/yunbei_expense.js +++ b/module/yunbei_expense.js @@ -1,18 +1,8 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 10, offset: query.offset || 0, } - return request( - 'POST', - `https://music.163.com/store/api/point/expense`, - data, - { - crypto: 'api', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, - ) + return request('POST', `/api/point/expense`, data, createOption(query)) } diff --git a/module/yunbei_info.js b/module/yunbei_info.js index d786440..ab98b32 100644 --- a/module/yunbei_info.js +++ b/module/yunbei_info.js @@ -1,10 +1,10 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} - return request('POST', `https://music.163.com/api/v1/user/info`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/v1/user/info`, + data, + createOption(query, 'weapi'), + ) } diff --git a/module/yunbei_rcmd_song.js b/module/yunbei_rcmd_song.js index 4de1411..99a2fba 100644 --- a/module/yunbei_rcmd_song.js +++ b/module/yunbei_rcmd_song.js @@ -1,5 +1,6 @@ // 云贝推歌 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { songId: query.id, @@ -10,14 +11,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/yunbei/rcmd/song/submit`, + `/api/yunbei/rcmd/song/submit`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/yunbei_rcmd_song_history.js b/module/yunbei_rcmd_song_history.js index 89039bf..6ccf2b1 100644 --- a/module/yunbei_rcmd_song_history.js +++ b/module/yunbei_rcmd_song_history.js @@ -1,5 +1,6 @@ // 云贝推歌历史记录 +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { page: JSON.stringify({ @@ -9,14 +10,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/yunbei/rcmd/song/history/list`, + `/api/yunbei/rcmd/song/history/list`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/yunbei_receipt.js b/module/yunbei_receipt.js index 632edd8..587d484 100644 --- a/module/yunbei_receipt.js +++ b/module/yunbei_receipt.js @@ -1,18 +1,8 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { limit: query.limit || 10, offset: query.offset || 0, } - return request( - 'POST', - `https://music.163.com/store/api/point/receipt`, - data, - { - crypto: 'api', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, - ) + return request('POST', `/api/point/receipt`, data, createOption(query)) } diff --git a/module/yunbei_sign.js b/module/yunbei_sign.js index e8134bf..a4269ca 100644 --- a/module/yunbei_sign.js +++ b/module/yunbei_sign.js @@ -1,15 +1,10 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://music.163.com/api/pointmall/user/sign`, + `/api/pointmall/user/sign`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/yunbei_task_finish.js b/module/yunbei_task_finish.js index e4823bd..6abbe2f 100644 --- a/module/yunbei_task_finish.js +++ b/module/yunbei_task_finish.js @@ -1,3 +1,4 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = { userTaskId: query.userTaskId, @@ -5,14 +6,8 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/api/usertool/task/point/receive`, + `/api/usertool/task/point/receive`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/yunbei_tasks.js b/module/yunbei_tasks.js index d969a41..e98a4f5 100644 --- a/module/yunbei_tasks.js +++ b/module/yunbei_tasks.js @@ -1,15 +1,10 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://music.163.com/api/usertool/task/list/all`, + `/api/usertool/task/list/all`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/yunbei_tasks_todo.js b/module/yunbei_tasks_todo.js index 182e796..f18cdee 100644 --- a/module/yunbei_tasks_todo.js +++ b/module/yunbei_tasks_todo.js @@ -1,15 +1,10 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} return request( 'POST', - `https://music.163.com/api/usertool/task/todo/query`, + `/api/usertool/task/todo/query`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }, + createOption(query, 'weapi'), ) } diff --git a/module/yunbei_today.js b/module/yunbei_today.js index 488b469..feb5716 100644 --- a/module/yunbei_today.js +++ b/module/yunbei_today.js @@ -1,10 +1,10 @@ +const createOption = require('../util/option.js') module.exports = (query, request) => { const data = {} - return request('POST', `https://music.163.com/api/point/today/get`, data, { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - realIP: query.realIP, - }) + return request( + 'POST', + `/api/point/today/get`, + data, + createOption(query, 'weapi'), + ) } diff --git a/plugins/songUpload.js b/plugins/songUpload.js index c5231f4..a6b5c2b 100644 --- a/plugins/songUpload.js +++ b/plugins/songUpload.js @@ -1,4 +1,5 @@ const { default: axios } = require('axios') +const createOption = require('../util/option.js') module.exports = async (query, request) => { let ext = 'mp3' // if (query.songFile.name.indexOf('flac') > -1) { @@ -15,7 +16,7 @@ module.exports = async (query, request) => { // 获取key和token const tokenRes = await request( 'POST', - `https://music.163.com/weapi/nos/token/alloc`, + `/api/nos/token/alloc`, { bucket: bucket, ext: ext, @@ -25,12 +26,7 @@ module.exports = async (query, request) => { type: 'audio', md5: query.songFile.md5, }, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - }, + createOption(query, 'weapi'), ) // 上传 diff --git a/plugins/upload.js b/plugins/upload.js index d1a9c4d..8f7c024 100644 --- a/plugins/upload.js +++ b/plugins/upload.js @@ -1,4 +1,5 @@ const { default: axios } = require('axios') +const createOption = require('../util/option.js') module.exports = async (query, request) => { const data = { bucket: 'yyimgs', @@ -12,14 +13,9 @@ module.exports = async (query, request) => { // 获取key和token const res = await request( 'POST', - `https://music.163.com/weapi/nos/token/alloc`, + `/api/nos/token/alloc`, data, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - }, + createOption(query, 'weapi'), ) // 上传图片 const res2 = await axios({ @@ -31,28 +27,12 @@ module.exports = async (query, request) => { }, data: query.imgFile.data, }) - // 获取裁剪后图片的id - const imgSize = query.imgSize || 300 - const imgX = query.imgX || 0 - const imgY = query.imgY || 0 - const res3 = await request( - 'GET', - `https://music.163.com/upload/img/op?id=${res.body.result.docId}&op=${imgX}y${imgY}y${imgSize}y${imgSize}`, - {}, - { - crypto: 'weapi', - cookie: query.cookie, - ua: query.ua || '', - proxy: query.proxy, - }, - ) return { // ...res.body.result, // ...res2.data, // ...res3.body, url_pre: 'https://p1.music.126.net/' + res.body.result.objectKey, - url: res3.body.url, - imgId: res3.body.id, + imgId: res.body.result.docId, } } diff --git a/util/config.json b/util/config.json index 2c4a457..33de888 100644 --- a/util/config.json +++ b/util/config.json @@ -8,5 +8,11 @@ "5": "R_VI_62_", "6": "A_EV_2_", "7": "A_DR_14_" + }, + "APP_CONF": { + "apiDomain": "https://interface.music.163.com", + "domain": "https://music.163.com", + "encrypt": true, + "encryptResponse": true } -} +} \ No newline at end of file diff --git a/util/option.js b/util/option.js new file mode 100644 index 0000000..3768ead --- /dev/null +++ b/util/option.js @@ -0,0 +1,10 @@ +const createOption = (query, crypto = '') => { + return { + crypto: query.crypto || crypto || '', + cookie: query.cookie, + ua: query.ua || '', + proxy: query.proxy, + realIP: query.realIP, + } +} +module.exports = createOption diff --git a/util/request.js b/util/request.js index 5c97376..3dc9f62 100644 --- a/util/request.js +++ b/util/request.js @@ -15,6 +15,7 @@ const anonymous_token = fs.readFileSync( ) const { URLSearchParams, URL } = require('url') const iosAppVersion = '9.0.65' +const { APP_CONF } = require('../util/config.json') // request.debug = true // 开启可看到更详细信息 const chooseUserAgent = (uaType) => { @@ -28,7 +29,7 @@ const chooseUserAgent = (uaType) => { } return userAgentMap.pc } -const createRequest = (method, url, data = {}, options) => { +const createRequest = (method, uri, data = {}, options) => { const cookie = options.cookie || {} return new Promise((resolve, reject) => { let headers = { @@ -43,7 +44,7 @@ const createRequest = (method, url, data = {}, options) => { } if (method.toUpperCase() === 'POST') headers['Content-Type'] = 'application/x-www-form-urlencoded' - if (url.includes('music.163.com')) + if (uri.includes('music.163.com')) headers['Referer'] = 'https://music.163.com' let ip = options.realIP || options.ip || '' // console.log(ip) @@ -62,7 +63,7 @@ const createRequest = (method, url, data = {}, options) => { appver: options.cookie.appver || (cookie.os != 'pc' ? iosAppVersion : ''), } - if (url.indexOf('login') === -1) { + if (uri.indexOf('login') === -1) { options.cookie['NMTID'] = CryptoJS.lib.WordArray.random(16).toString() } if (!options.cookie.MUSIC_U) { @@ -85,22 +86,9 @@ const createRequest = (method, url, data = {}, options) => { headers['Cookie'] = cookieObjToString(cookie) } // console.log(options.cookie, headers['Cookie']) - if (options.crypto === 'weapi') { - headers['User-Agent'] = options.ua || chooseUserAgent('pc') - let csrfToken = (headers['Cookie'] || '').match(/_csrf=([^(;|$)]+)/) - data.csrf_token = csrfToken ? csrfToken[1] : '' - data = encrypt.weapi(data) - url = url.replace(/\w*api/, 'weapi') - } else if (options.crypto === 'linuxapi') { - data = encrypt.linuxapi({ - method: method, - url: url.replace(/\w*api/, 'api'), - params: data, - }) - headers['User-Agent'] = - 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36' - url = 'https://music.163.com/api/linux/forward' - } else if (options.crypto === 'eapi') { + let url = '' + let eapiEncrypt = () => { + options['url'] = uri const cookie = options.cookie || {} const csrfToken = cookie['__csrf'] || '' const header = { @@ -128,7 +116,31 @@ const createRequest = (method, url, data = {}, options) => { .join('; ') data.header = header data = encrypt.eapi(options.url, data) - url = url.replace(/\w*api/, 'eapi') + url = APP_CONF.apiDomain + '/eapi/' + uri.substr(5) + } + if (options.crypto === 'weapi') { + headers['User-Agent'] = options.ua || chooseUserAgent('pc') + let csrfToken = (headers['Cookie'] || '').match(/_csrf=([^(;|$)]+)/) + data.csrf_token = csrfToken ? csrfToken[1] : '' + data = encrypt.weapi(data) + url = APP_CONF.domain + '/weapi/' + uri.substr(5) + } else if (options.crypto === 'linuxapi') { + data = encrypt.linuxapi({ + method: method, + url: uri.replace(/\w*api/, 'api'), + params: data, + }) + headers['User-Agent'] = + 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36' + url = 'https://music.163.com/api/linux/forward' + } else if (options.crypto === 'eapi') { + eapiEncrypt() + } else if (options.crypto === 'api') { + url = APP_CONF.apiDomain + uri + } else if (options.crypto === '') { + if (APP_CONF.encrypt) { + eapiEncrypt() + } else url = APP_CONF.apiDomain + uri } const answer = { status: 500, body: {}, cookie: [] } // console.log(headers, 'headers')