diff --git a/CHANGELOG.MD b/CHANGELOG.MD index 4bf9bae6308..885c4935d96 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 70a5c95c44a..5e0fbba9749 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 48a0cccb278..f0fbe293a29 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 63205d4f0e1..4cee4d5e989 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 2d615bbe339..5ff2976b418 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 f90189e26e9..0d2e7aed030 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 00000000000..0848c5230d4 --- /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 76ac9f94719..a704652eb65 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 00000000000..107a45fff33 --- /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 02df0f9523e..af6ebcbba89 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 00000000000..0965eb492b2 --- /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 00000000000..0f186410aa6 --- /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 5dd764cffa0..96583829b03 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",