From 0ad746dad41277b6d9cfb44f941c1b265e34f3d2 Mon Sep 17 00:00:00 2001 From: binaryify Date: Sun, 26 Jul 2020 16:45:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E`=E5=85=A8=E9=83=A8=E6=96=B0?= =?UTF-8?q?=E7=A2=9F`,`=E6=95=B0=E5=AD=97=E4=B8=93=E8=BE=91-=E6=96=B0?= =?UTF-8?q?=E7=A2=9F=E4=B8=8A=E6=9E=B6`,`=E6=95=B0=E5=AD=97=E4=B8=93?= =?UTF-8?q?=E8=BE=91&=E6=95=B0=E5=AD=97=E5=8D=95=E6=9B=B2-=E6=A6=9C?= =?UTF-8?q?=E5=8D=95`,`=E6=95=B0=E5=AD=97=E4=B8=93=E8=BE=91-=E8=AF=AD?= =?UTF-8?q?=E7=A7=8D=E9=A3=8E=E6=A0=BC=E9=A6=86`,`=E6=95=B0=E5=AD=97?= =?UTF-8?q?=E4=B8=93=E8=BE=91=E8=AF=A6=E6=83=85`=E6=8E=A5=E5=8F=A3,?= =?UTF-8?q?=E6=9B=B4=E6=96=B0`=E6=96=B0=E7=A2=9F=E4=B8=8A=E6=9E=B6`?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3,=E4=BF=AE=E6=94=B9=E4=BC=A0=E5=85=A5?= =?UTF-8?q?=E5=8F=82=E6=95=B0,=E8=BF=94=E5=9B=9E=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=BB=93=E6=9E=84=E6=9C=89=E5=8F=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.MD | 4 ++ README.MD | 5 ++ docs/README.md | 87 +++++++++++++++++++++++++++++++++-- module/album_detail.js | 14 ++++++ module/album_list.js | 14 ++++++ module/album_list_style.js | 13 ++++++ module/album_new.js | 13 ++++++ module/album_songsaleboard.js | 19 ++++++++ module/top_album.js | 10 ++-- package.json | 2 +- 10 files changed, 173 insertions(+), 8 deletions(-) create mode 100644 module/album_detail.js create mode 100644 module/album_list.js create mode 100644 module/album_list_style.js create mode 100644 module/album_new.js create mode 100644 module/album_songsaleboard.js diff --git a/CHANGELOG.MD b/CHANGELOG.MD index 909e396..bd64e02 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -1,4 +1,8 @@ # 更新日志 +### 3.36.0 | 2020.07.26 +- 新增`全部新碟`,`数字专辑-新碟上架`,`数字专辑&数字单曲-榜单`,`数字专辑-语种风格馆`,`数字专辑详情`接口 [#852](https://github.com/Binaryify/NeteaseCloudMusicApi/issues/852) +- 更新`新碟上架`接口,修改传入参数,返回数据结构有变化 + ### 3.35.0 | 2020.07.18 - 新增`首页-发现`,`首页-发现-圆形图标入口列表`接口 [#851](https://github.com/Binaryify/NeteaseCloudMusicApi/pull/851) diff --git a/README.MD b/README.MD index 8b10bcb..23ab692 100644 --- a/README.MD +++ b/README.MD @@ -177,6 +177,11 @@ 156. 国家编码列表 157. 首页-发现 158. 首页-发现-圆形图标入口列表 +159. 数字专辑-全部新碟 +160. 数字专辑-热门新碟 +161. 数字专辑&数字单曲-榜单 +162. 数字专辑-语种风格馆 +163. 数字专辑详情 ## 环境要求 diff --git a/docs/README.md b/docs/README.md index 488e661..cff9acf 100644 --- a/docs/README.md +++ b/docs/README.md @@ -174,6 +174,11 @@ 156. 国家编码列表 157. 首页-发现 158. 首页-发现-圆形图标入口列表 +159. 全部新碟 +160. 数字专辑-新碟上架 +161. 数字专辑&数字单曲-榜单 +162. 数字专辑-语种风格馆 +163. 数字专辑详情 ## 安装 @@ -1801,18 +1806,39 @@ mp3url 不能直接用 , 可通过 `/song/url` 接口传入歌曲 id 获取具 说明 : 调用此接口 , 可获取新碟上架列表 , 如需具体音乐信息需要调用获取专辑列表接 口 `/album` , 然后传入 id, 如 `/album?id=32311&limit=30` -**可选参数 :** `limit`: 取出数量 , 默认为 50 +**可选参数 :** + + `limit`: 取出数量 , 默认为 50 `offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*50, 其中 50 为 limit 的值 , 默认 为 0 +`area`: ALL:全部,ZH:华语,EA:欧美,KR:韩国,JP:日本 + +`type` : new:全部 hot:热门,默认为 new + +`year` : 年,默认本年 + +`month` : 月,默认本月 + **接口地址 :** `/top/album` -**调用例子 :** `/top/album?offset=0&limit=30` +**调用例子 :** `/top/album?offset=0&limit=30&year=2019&month=6` -返回数据如下图 : +### 全部新碟 +说明 : 登陆后调用此接口 ,可获取全部新碟 + +**可选参数 :** + +`limit` : 返回数量 , 默认为 30 + +`offset` : 偏移数量,用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 -![新碟上架](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/new_albums.png) +`area` : ALL:全部,ZH:华语,EA:欧美,KR:韩国,JP:日本 + +**接口地址 :** `/album/new` + +**调用例子 :** `/album/new?area=KR&limit=10` ### 最新专辑 @@ -2548,6 +2574,59 @@ type='1009' 获取其 id, 如`/search?keywords= 代码时间 &type=1009` **调用例子 :** `/setting` +### 数字专辑-新碟上架 +说明 : 调用此接口 ,可获取数字专辑-新碟上架 + +**可选参数 :** + +`limit` : 返回数量 , 默认为 30 + +`offset` : 偏移数量,用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 +**接口地址 :** `/album/list` + +**调用例子 :** `/album/list?limit=10` + +### 数字专辑&数字单曲-榜单 +说明 : 调用此接口 ,可获取数字专辑&数字单曲-榜单 + +**可选参数 :** + +`limit` : 返回数量 , 默认为 30 + +`offset` : 偏移数量,用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 + +`albumType` : 为数字专辑,1为数字单曲 + +`type` : daily:日榜,week:周榜,year:年榜,total:总榜 + +**接口地址 :** `/album_songsaleboard` + +**调用例子 :** `/album/songsaleboard?type=year&year=2020&albumType=0` + +### 数字专辑-语种风格馆 + +说明 : 调用此接口 ,可获取语种风格馆数字专辑列表 + +**可选参数 :** + +`limit` : 返回数量 , 默认为 30 + +`offset` : 偏移数量,用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 + +`area` 地区 Z_H:华语,E_A:欧美,KR:韩国,JP:日本 + +**接口地址 :** `/album/list/style` + +**调用例子 :** `/album/list/style?area=Z_H&offset=2` + +### 数字专辑详情 +说明 : 调用此接口 ,传入数字专辑id可获取数字专辑详情(和歌单详情有差异) + +**接口地址 :** `/album/detail` + +**调用例子 :** `/album/detail?id=84547195` + + ### 我的数字专辑 说明 : 登陆后调用此接口 ,可获取我的数字专辑 diff --git a/module/album_detail.js b/module/album_detail.js new file mode 100644 index 0000000..053cd62 --- /dev/null +++ b/module/album_detail.js @@ -0,0 +1,14 @@ +// 数字专辑详情 +module.exports = (query, request) => { + const data = { + id: query.id + } + return request( + 'POST', `https://music.163.com/weapi/vipmall/albumproduct/detail`, data, + { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + } + ) +} \ No newline at end of file diff --git a/module/album_list.js b/module/album_list.js new file mode 100644 index 0000000..a2d998c --- /dev/null +++ b/module/album_list.js @@ -0,0 +1,14 @@ +// 数字专辑-新碟上架 +module.exports = (query, request) => { + const data = { + limit: query.limit || 30, + offset: query.offset || 0, + total: true, + area: query.area || 'ALL', //ALL:全部,ZH:华语,EA:欧美,KR:韩国,JP:日本 + type: query.type + } + return request( + 'POST', `https://music.163.com/weapi/vipmall/albumproduct/list`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) +} \ No newline at end of file diff --git a/module/album_list_style.js b/module/album_list_style.js new file mode 100644 index 0000000..6bd7a39 --- /dev/null +++ b/module/album_list_style.js @@ -0,0 +1,13 @@ +// 数字专辑-语种风格馆 +module.exports = (query, request) => { + const data = { + limit: query.limit || 10, + offset: query.offset || 0, + total: true, + area: query.area || 'Z_H', //Z_H:华语,E_A:欧美,KR:韩国,JP:日本 + } + return request( + 'POST', `https://music.163.com/weapi/vipmall/appalbum/album/style`, data, + {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} + ) +} \ No newline at end of file diff --git a/module/album_new.js b/module/album_new.js new file mode 100644 index 0000000..5889a2a --- /dev/null +++ b/module/album_new.js @@ -0,0 +1,13 @@ +// 全部新碟 +module.exports = (query, request) => { + const data = { + limit: query.limit || 30, + offset: query.offset || 0, + 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, proxy: query.proxy} + ) +} \ No newline at end of file diff --git a/module/album_songsaleboard.js b/module/album_songsaleboard.js new file mode 100644 index 0000000..f761ab0 --- /dev/null +++ b/module/album_songsaleboard.js @@ -0,0 +1,19 @@ +// 数字专辑&数字单曲-榜单 +module.exports = (query, request) => { + let data = { + albumType: query.albumType || 0, //0为数字专辑,1为数字单曲 + } + const type = query.type || 'daily' // daily,week,year,total + if (type === 'year') { + data = { + ...data, + year: query.year, + } + } + return request( + 'POST', + `https://music.163.com/api/feealbum/songsaleboard/${type}/type`, + data, + { crypto: 'weapi', cookie: query.cookie, proxy: query.proxy } + ) +} diff --git a/module/top_album.js b/module/top_album.js index 98780fc..a6e0f86 100644 --- a/module/top_album.js +++ b/module/top_album.js @@ -1,14 +1,18 @@ // 新碟上架 module.exports = (query, request) => { + const date = new Date() + const data = { - area: query.type || 'ALL', // ALL,ZH,EA,KR,JP + area: query.area || 'ALL', // //ALL:全部,ZH:华语,EA:欧美,KR:韩国,JP:日本 limit: query.limit || 50, offset: query.offset || 0, - total: true + type: query.type || 'new', + year: query.year || date.getFullYear(), + month: query.month || date.getMonth() + 1, } return request( - 'POST', `https://music.163.com/weapi/album/new`, data, + 'POST', `https://music.163.com/api/discovery/new/albums/area`, data, {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} ) } \ No newline at end of file diff --git a/package.json b/package.json index 0c5696e..6ce3b1d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "NeteaseCloudMusicApi", - "version": "3.35.0", + "version": "3.36.0", "description": "网易云音乐 NodeJS 版 API", "scripts": { "start": "node app.js", -- GitLab