From 50a1cb367b9d8594918063b51a9d7861d3a86a75 Mon Sep 17 00:00:00 2001 From: binaryify Date: Sat, 19 Sep 2020 18:43:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=B2=BE=E5=93=81=E6=AD=8C?= =?UTF-8?q?=E5=8D=95=E6=A0=87=E7=AD=BE=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=20#921,=20=E6=96=B0=E5=A2=9E=E7=94=A8=E6=88=B7=E7=AD=89?= =?UTF-8?q?=E7=BA=A7=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3=20#929,=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=96=B0=E6=8E=A5=E5=8F=A3=E7=9A=84=20d.ts=20?= =?UTF-8?q?=E6=96=87=E4=BB=B6,=E4=BF=AE=E5=A4=8D=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E7=9A=84=20d.ts=20=E7=9A=84=20countrycode=20?= =?UTF-8?q?=E4=B8=BA=E9=9D=9E=E5=8F=AF=E9=80=89=E5=B1=9E=E6=80=A7=E7=9A=84?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.MD | 7 +++++++ README.MD | 4 ++++ docs/README.md | 21 +++++++++++++++++++-- interface.d.ts | 2 ++ main.d.ts | 8 ++++++++ module/login_cellphone.js | 2 +- module/playlist_highquality_tags.js | 15 +++++++++++++++ module/top_playlist_highquality.js | 2 +- module/user_level.js | 11 +++++++++++ module_types/login_cellphone.d.ts | 2 +- module_types/playlist_highquality_tags.d.ts | 4 ++++ module_types/user_level.d.ts | 3 +++ package.json | 2 +- 13 files changed, 77 insertions(+), 6 deletions(-) create mode 100644 module/playlist_highquality_tags.js create mode 100644 module/user_level.js create mode 100644 module_types/playlist_highquality_tags.d.ts create mode 100644 module_types/user_level.d.ts diff --git a/CHANGELOG.MD b/CHANGELOG.MD index 4bf9bae..885c493 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -1,4 +1,11 @@ # 更新日志 +### 3.41.0 | 2020.09.19 +- 新增`精品歌单标签列表`接口 [#921](https://github.com/Binaryify/NeteaseCloudMusicApi/issues/921) + +- 新增`用户等级信息`接口 [#929](https://github.com/Binaryify/NeteaseCloudMusicApi/issues/929) + +- 增加新接口的 d.ts 文件,修复登录接口的 d.ts 的 countrycode 为非可选属性的错误 + ### 3.40.1 | 2020.09.13 - 更新 TypeScript 声明 [#928](https://github.com/Binaryify/NeteaseCloudMusicApi/pull/928) diff --git a/README.MD b/README.MD index 70a5c95..5e0fbba 100644 --- a/README.MD +++ b/README.MD @@ -265,6 +265,10 @@ banner({ type:0 }).then(res=>{ 163. 数字专辑详情 164. 更新头像 165. 歌单封面上传 +166. 歌曲楼层评论 +167. 歌手全部歌曲 +168. 精品歌单标签列表 +169. 用户等级信息 ## 更新日志 diff --git a/docs/README.md b/docs/README.md index 48a0ccc..f0fbe29 100644 --- a/docs/README.md +++ b/docs/README.md @@ -183,6 +183,8 @@ 165. 歌单封面上传 166. 歌曲楼层评论 167. 歌手全部歌曲 +168. 精品歌单标签列表 +169. 用户等级信息 ## 安装 @@ -516,6 +518,14 @@ v3.30.0后支持手动传入cookie,登录接口返回内容新增 `cookie` 字 **调用例子 :** `/user/subcount` +### 获取用户等级信息 + +说明 : 登陆后调用此接口 , 可以获取用户等级信息,包含当前登陆天数,听歌次数,下一等级需要的登录天数和听歌次数,当前等级进度,对应 https://music.163.com/#/user/level + +**接口地址 :** `/user/level` + +**调用例子 :** `/user/level` + ### 更新用户信息 说明 : 登陆后调用此接口 , 传入相关信息,可以更新用户信息 @@ -1032,12 +1042,19 @@ tags: 歌单标签 **调用例子 :** `/top/playlist?limit=10&order=new` +### 精品歌单标签列表 +说明 : 调用此接口 , 可获取精品歌单标签列表 + +**接口地址 :** `/playlist/highquality/tags` + +**调用例子 :** `/playlist/highquality/tags` + ### 获取精品歌单 说明 : 调用此接口 , 可获取精品歌单 **可选参数 :** `cat`: tag, 比如 " 华语 "、" 古风 " 、" 欧美 "、" 流行 ", 默认为 -"全部",可从歌单分类接口获取(/playlist/catlist) +"全部",可从精品歌单标签列表接口获取(`/playlist/highquality/tags`) `limit`: 取出歌单数量 , 默认为 20 @@ -1045,7 +1062,7 @@ tags: 歌单标签 **接口地址 :** `/top/playlist/highquality` -**调用例子 :** `http://localhost:3000/top/playlist/highquality?before=1503639064232&limit=3` +**调用例子 :** `/top/playlist/highquality?before=1503639064232&limit=3` ### 相关歌单推荐 diff --git a/interface.d.ts b/interface.d.ts index 63205d4..4cee4d5 100644 --- a/interface.d.ts +++ b/interface.d.ts @@ -178,3 +178,5 @@ export * from './module_types/video_timeline_recommend' export * from './module_types/video_url' export * from './module_types/weblog' export * from './module_types/base' +export * from './module_types/user_level' +export * from './module_types/playlist_highquality_tags' diff --git a/main.d.ts b/main.d.ts index 2d615bb..5ff2976 100644 --- a/main.d.ts +++ b/main.d.ts @@ -180,6 +180,8 @@ import { VideoUrlRequestConfig, WeblogRequestConfig, APIBaseResponse, + UserLevelRequestConfig, + PlaylistHighqualityTagsRequestConfig } from './interface' // Start // export interface Response { @@ -484,6 +486,9 @@ interface APIInstance { playlist_detail: ( params: PlaylistDetailRequestConfig, ) => Promise> + playlist_highquality_tags: ( + params: PlaylistHighqualityTagsRequestConfig, + ) => Promise> playlist_hot: ( params: PlaylistHotRequestConfig, ) => Promise> @@ -620,6 +625,9 @@ interface APIInstance { params: UserDetailRequestConfig, ) => Promise> user_dj: (params: UserDjRequestConfig) => Promise> + user_level: ( + params: UserLevelRequestConfig, + ) => Promise> user_event: ( params: UserEventRequestConfig, ) => Promise> diff --git a/module/login_cellphone.js b/module/login_cellphone.js index f90189e..0d2e7ae 100644 --- a/module/login_cellphone.js +++ b/module/login_cellphone.js @@ -6,7 +6,7 @@ module.exports = async (query, request) => { query.cookie.os = 'pc' const data = { phone: query.phone, - countrycode: query.countrycode, + countrycode: query.countrycode || '86', password: query.md5_password || crypto.createHash('md5').update(query.password).digest('hex'), diff --git a/module/playlist_highquality_tags.js b/module/playlist_highquality_tags.js new file mode 100644 index 0000000..0848c52 --- /dev/null +++ b/module/playlist_highquality_tags.js @@ -0,0 +1,15 @@ +// 精品歌单 tags +module.exports = (query, request) => { + const data = {} + return request( + 'POST', + `https://music.163.com/api/playlist/highquality/tags`, + data, + { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }, + ) +} diff --git a/module/top_playlist_highquality.js b/module/top_playlist_highquality.js index 76ac9f9..a704652 100644 --- a/module/top_playlist_highquality.js +++ b/module/top_playlist_highquality.js @@ -9,7 +9,7 @@ module.exports = (query, request) => { } return request( 'POST', - `https://music.163.com/weapi/playlist/highquality/list`, + `https://music.163.com/api/playlist/highquality/list`, data, { crypto: 'weapi', diff --git a/module/user_level.js b/module/user_level.js new file mode 100644 index 0000000..107a45f --- /dev/null +++ b/module/user_level.js @@ -0,0 +1,11 @@ +// 类别热门电台 + +module.exports = (query, request) => { + const data = {} + return request('POST', `https://music.163.com/weapi/user/level`, data, { + crypto: 'weapi', + cookie: query.cookie, + proxy: query.proxy, + realIP: query.realIP, + }) +} diff --git a/module_types/login_cellphone.d.ts b/module_types/login_cellphone.d.ts index 02df0f9..af6ebcb 100644 --- a/module_types/login_cellphone.d.ts +++ b/module_types/login_cellphone.d.ts @@ -2,7 +2,7 @@ import { RequestBaseConfig } from './base' export interface LoginCellphoneRequestConfig extends RequestBaseConfig { phone: string - countrycode: string + countrycode?: string password?: string md5_password?: string } diff --git a/module_types/playlist_highquality_tags.d.ts b/module_types/playlist_highquality_tags.d.ts new file mode 100644 index 0000000..0965eb4 --- /dev/null +++ b/module_types/playlist_highquality_tags.d.ts @@ -0,0 +1,4 @@ +import { RequestBaseConfig } from './base' + +export interface PlaylistHighqualityTagsRequestConfig extends RequestBaseConfig { +} diff --git a/module_types/user_level.d.ts b/module_types/user_level.d.ts new file mode 100644 index 0000000..0f18641 --- /dev/null +++ b/module_types/user_level.d.ts @@ -0,0 +1,3 @@ +import { RequestBaseConfig } from './base' + +export type UserLevelRequestConfig = RequestBaseConfig diff --git a/package.json b/package.json index 5dd764c..9658382 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "NeteaseCloudMusicApi", - "version": "3.40.1", + "version": "3.41.0", "description": "网易云音乐 NodeJS 版 API", "scripts": { "start": "node app.js",