diff --git a/CHANGELOG.MD b/CHANGELOG.MD index 00ab9181edc391fee1b8417d0958c7e474e28f72..17cfcbe3ee38f84e6874500c1c78dc2359f35bc4 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -1,4 +1,7 @@ # 更新日志 +### 3.15.0 | 2019.06.16 +- 新增`获取视频标签列表`,`网易出品`,`全部mv`接口, `最新 mv` 和 `mv 排行` 接口加入地区参数,更新文档 + ### 3.14.0 | 2019.06.10 - 获取用户粉丝列表接口修改请求参数,更新文档 diff --git a/README.MD b/README.MD index 6781243af1c5d2c1cd7107ecf772819889bf2094..f3d9fce2eabc4c8745e9192809adb2c8f4c8412d 100644 --- a/README.MD +++ b/README.MD @@ -98,7 +98,7 @@ 75. 付费精选接口 76. 音乐是否可用检查接口 77. 登录状态 -78. 获取视频数据 +78. 获取视频播放地址 79. 发送/删除评论 80. 热门评论 81. 视频评论 @@ -137,6 +137,9 @@ 114. 私信内容 115. 我的数字专辑 116. batch批量请求接口 +117. 获取视频标签列表 +118. 全部mv +119. 网易出品mv ## 环境要求 diff --git a/docs/README.md b/docs/README.md index 35a208001486a75cc17bef895d776711048120c7..c79571568dd49876b4b14fe5674d60c1089857c6 100644 --- a/docs/README.md +++ b/docs/README.md @@ -93,7 +93,7 @@ 75. 付费精选接口 76. 音乐是否可用检查接口 77. 登录状态 -78. 获取视频数据 +78. 获取视频播放地址 79. 发送/删除评论 80. 热门评论 81. 视频评论 @@ -132,6 +132,9 @@ 114. 私信内容 115. 我的数字专辑 116. batch批量请求接口 +117. 获取视频标签列表 +118. 全部mv +119. 网易出品mv ## 安装 @@ -1544,16 +1547,48 @@ mp3url 不能直接用 , 可通过 `/song/url` 接口传入歌曲 id 获取具 ![热门歌手](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/top_artists.png) -### 最新 mv +### 全部 mv +说明 : 调用此接口 , 可获取全部 mv + +**可选参数 :** +`area`: 地区,可选值为全部,内地,港台,欧美,日本,韩国,不填则为全部 +`type`: 类型,可选值为全部,官方版,原生,现场版,网易出品,不填则为全部 + +`order`: 排序,可选值为上升最快,最热,最新,不填则为上升最快 + +`limit`: 取出数量 , 默认为 30 + +`offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*50, 其中 50 为 limit 的值 , 默认 +为 0 +**接口地址 :** `/mv/all` + +**调用例子 :** `/mv/all?area=港台` + +### 最新 mv 说明 : 调用此接口 , 可获取最新 mv +**可选参数 :** `area`: 地区,可选值为全部,内地,港台,欧美,日本,韩国,不填则为全部 + **可选参数 :** `limit`: 取出数量 , 默认为 30 **接口地址 :** `/mv/first` **调用例子 :** `/mv/first?limit=10` +### 网易出品mv + +说明 : 调用此接口 , 可获取网易出品 mv + +**可选参数 :** `limit`: 取出数量 , 默认为 30 + +`offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认 +为 0 + +**接口地址 :** `/mv/exclusive/rcmd` + +**调用例子 :** `/mv/exclusive/rcmd?limit=10` + ### 推荐 mv 说明 : 调用此接口 , 可获取推荐 mv @@ -1606,14 +1641,16 @@ mp3url 不能直接用 , 可通过 `/song/url` 接口传入歌曲 id 获取具 说明 : 调用此接口 , 可获取 mv 排行 -**可选参数 :** `limit`: 取出数量 , 默认为 30 +**可选参数 :** `limit`: 取出数量 , 默认为 30 + +`area`: 地区,可选值为内地,港台,欧美,日本,韩国,不填则为全部 `offset`: 偏移数量 , 用于分页 , 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认 为 0 -**接口地址 :** `top/mv` +**接口地址 :** `/top/mv` -**调用例子 :** `top/mv?limit=10` +**调用例子 :** `/top/mv?limit=10` ### 获取 mv 数据 @@ -1643,6 +1680,22 @@ MV 数据 , 数据包含 mv 名字 , 歌手 , 发布时间 , mv 视频地址等 `/mv/url?id=5436712` +### 获取视频标签列表 +说明 : 调用此接口 , 可获取视频标签列表 + +**接口地址 :** `/video/group/list` + +**调用例子 :** `/video/group/list` + +### 获取视频标签下的视频 +说明 : 调用此接口 , 传入`id`,可获取到相关的视频。 + +**必选参数 :** `id`: videoGroup 的 id + +**接口地址 :** `/video/group` + +**调用例子 :** `/video/group?id=9104` + ### 相关视频 说明 : 调用此接口 , 可获取相关视频 @@ -1653,9 +1706,10 @@ MV 数据 , 数据包含 mv 名字 , 歌手 , 发布时间 , mv 视频地址等 **调用例子 :** `/related/allvideo?id=89ADDE33C0AAE8EC14B99F6750DB954D` + ### 视频详情 -说明 : 调用此接口 , 可获取相关视频 +说明 : 调用此接口 , 可获取视频详情 **必选参数 :** `id`: 视频 的 id @@ -1663,7 +1717,7 @@ MV 数据 , 数据包含 mv 名字 , 歌手 , 发布时间 , mv 视频地址等 **调用例子 :** `/video/detail?id=89ADDE33C0AAE8EC14B99F6750DB954D` -### 获取视频数据 +### 获取视频播放地址 说明 : 调用此接口 , 传入视频 id,可获取视频播放地址 @@ -1678,16 +1732,6 @@ MV 数据 , 数据包含 mv 名字 , 歌手 , 发布时间 , mv 视频地址等 ![视频数据](https://ws1.sinaimg.cn/large/006tNbRwgy1fuqdv10p5rj31kw0da76y.jpg) -### 获取视频标签下的视频 -说明 : 调用此接口 , 传入`videoGroupId`,可获取到相关的视频。 - -**必选参数 :** `传入videoGroupId`: videoGroup 的 id - -**接口地址 :** `/video/group` - -**调用例子 :** `/video/group?id=9104` - - ### 排行榜 说明 : 调用此接口 , 传入数字 idx, 可获取不同排行榜 diff --git a/module/mv_all.js b/module/mv_all.js new file mode 100644 index 0000000000000000000000000000000000000000..4a955c97aa48a453ecfba8ae71db1bb0d3449550 --- /dev/null +++ b/module/mv_all.js @@ -0,0 +1,19 @@ +// 全部MV + +module.exports = (query, request) => { + const data = { + tags: JSON.stringify({ + 地区: query.area || "全部", + 类型: query.type || "全部", + 排序: query.order || "上升最快" + }), + offset: query.limit || 0, + total: "true", + limit: query.limit || 30 + }; + return request("POST", `https://interface.music.163.com/api/mv/all`, data, { + crypto: "weapi", + cookie: query.cookie, + proxy: query.proxy + }); +}; diff --git a/module/mv_exclusive_rcmd.js b/module/mv_exclusive_rcmd.js new file mode 100644 index 0000000000000000000000000000000000000000..7efd248a65075f18b30c79110389c8f8c9490308 --- /dev/null +++ b/module/mv_exclusive_rcmd.js @@ -0,0 +1,18 @@ +// 网易出品 + +module.exports = (query, request) => { + const data = { + offset: query.limit || 0, + limit: query.limit || 30 + }; + return request( + "POST", + `https://interface.music.163.com/api/mv/exclusive/rcmd`, + data, + { + crypto: "weapi", + cookie: query.cookie, + proxy: query.proxy + } + ); +}; diff --git a/module/mv_first.js b/module/mv_first.js index 7851c7f67c0315c8d705c7d2772b30518ee21e78..d13284c6bfc82ca841488e248ec1d97ceab01e5e 100644 --- a/module/mv_first.js +++ b/module/mv_first.js @@ -1,13 +1,15 @@ // 最新MV module.exports = (query, request) => { - const data = { - // 'offset': query.offset || 0, - limit: query.limit || 30, - total: true - } - return request( - 'POST', `https://music.163.com/weapi/mv/first`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) -} \ No newline at end of file + const data = { + // 'offset': query.offset || 0, + area: query.area || "", + limit: query.limit || 30, + total: true + }; + return request("POST", `https://interface.music.163.com/weapi/mv/first`, data, { + crypto: "weapi", + cookie: query.cookie, + proxy: query.proxy + }); +}; diff --git a/module/top_mv.js b/module/top_mv.js index df35e6e20ff2dffb384c3be4fad8c81e865e50bd..14bb71f1c269eb4d8901d0457a7d8624956bfd60 100644 --- a/module/top_mv.js +++ b/module/top_mv.js @@ -1,13 +1,15 @@ // MV排行榜 module.exports = (query, request) => { - const data = { - limit: query.limit || 30, - offset: query.offset || 0, - total: true - } - return request( - 'POST', `https://music.163.com/weapi/mv/toplist`, data, - {crypto: 'weapi', cookie: query.cookie, proxy: query.proxy} - ) -} \ No newline at end of file + const data = { + area: query.area || "", + limit: query.limit || 30, + offset: query.offset || 0, + total: true + }; + return request("POST", `https://music.163.com/weapi/mv/toplist`, data, { + crypto: "weapi", + cookie: query.cookie, + proxy: query.proxy + }); +}; diff --git a/module/video_group_list.js b/module/video_group_list.js new file mode 100644 index 0000000000000000000000000000000000000000..a217fd394f86205a83a443ca24d2b23d009d0587 --- /dev/null +++ b/module/video_group_list.js @@ -0,0 +1,15 @@ +module.exports = (query, request) => { + const data = { + }; + return request( + "POST", + `https://music.163.com/api/cloudvideo/group/list`, + data, + { + crypto: "weapi", + cookie: query.cookie, + proxy: query.proxy + } + ); + }; + \ No newline at end of file diff --git a/package.json b/package.json index e425ece1268e622dc508dbee3c01fc866132f9b4..c323e45851c6b4eb664b84e0cf306ea631857ef3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "NeteaseCloudMusicApi", - "version": "3.14.0", + "version": "3.15.0", "description": "网易云音乐 NodeJS 版 API", "scripts": { "start": "node app.js",