diff --git a/CHANGELOG.MD b/CHANGELOG.MD index 8b7c21f..50c8d14 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -1,4 +1,10 @@ # 更新日志 +### 2.11.1 | 2018.05.24 +更新文档,优化`/dj/program`接口 + +### 2.11.0 | 2018.05.21 +增加收藏歌手列表&订阅电台列表 + ### 2.10.0 | 2018.05.17 歌单操作调整为批量操作 diff --git a/README.MD b/README.MD index 31165a1..80015f0 100644 --- a/README.MD +++ b/README.MD @@ -19,6 +19,8 @@ [sqaiyan/netmusic-node](https://github.com/sqaiyan/netmusic-node) ## 版本新特性 +### 2.11.0 | 2018.05.21 +增加收藏歌手列表&订阅电台列表 ### 2.10.0 | 2018.05.17 歌单操作调整为批量操作 @@ -57,7 +59,7 @@ banner 接口 , 增加刷新登录接口 , 增加电台相关接口 , 补充评 1. 登录 2. 刷新登录 -3. 获取用户信息,歌单,收藏,mv, dj 数量 +3. 获取用户信息 , 歌单,收藏,mv, dj 数量 4. 获取用户歌单 5. 获取用户电台 6. 获取用户关注列表 @@ -86,14 +88,14 @@ banner 接口 , 增加刷新登录接口 , 增加电台相关接口 , 补充评 29. 获取相似歌单 30. 相似 mv 31. 获取相似音乐 -32. 获取相似用户 +32. 获取最近 5 个听了这首歌的用户 33. 获取每日推荐歌单 34. 获取每日推荐歌曲 35. 私人 FM 36. 签到 37. 喜欢音乐 38. 垃圾桶 -39. 歌单(网友精选碟) +39. 歌单 ( 网友精选碟 ) 40. 新碟上架 41. 热门歌手 42. 最新 mv @@ -107,14 +109,24 @@ banner 接口 , 增加刷新登录接口 , 增加电台相关接口 , 补充评 50. 获取 mv 数据 51. 播放 mv 52. 排行榜 -53. 云盘 -54. 电台-推荐 -55. 电台-分类 -56. 电台-分类推荐 -57. 电台-订阅 -58. 电台-详情 -59. 电台-节目 -60. 给评论点赞 +53. 歌手榜 +54. 云盘 +55. 电台 - 推荐 +56. 电台 - 分类 +57. 电台 - 分类推荐 +58. 电台 - 订阅 +59. 电台 - 详情 +60. 电台 - 节目 +61. 给评论点赞 +62. 获取动态 +63. 获取热搜 +64. 发送私信 +65. 发送私信歌单 +66. 新建歌单 +67. 收藏/取消收藏歌单 +68. 歌单分类 +69. 收藏的歌手列表 +70. 订阅的电台列表 ## 环境要求 @@ -145,12 +157,6 @@ windows 下使用 git-bash 或者 cmder 等终端执行以下命令: $ set PORT=4000 && node app.js ``` -## Docker 容器运行 - -```shell -docker pull pengxiao/netease-music-api -docker run -d -p 3000:3000 pengxiao/netease-music-api -``` ## 使用文档 diff --git a/docs/README.md b/docs/README.md index 7e78fe1..50256b3 100644 --- a/docs/README.md +++ b/docs/README.md @@ -15,6 +15,9 @@ 跨站请求伪造 (CSRF), 伪造请求头 , 调用官方 API ## 版本新特性 +### 2.11.0 | 2018.05.21 +增加收藏歌手列表&订阅电台列表 + ### 2.10.0 | 2018.05.17 歌单操作调整为批量操作 @@ -118,6 +121,8 @@ banner 接口 , 增加刷新登录接口 , 增加电台相关接口 , 补充评 66. 新建歌单 67. 收藏/取消收藏歌单 68. 歌单分类 +69. 收藏的歌手列表 +70. 订阅的电台列表 ## 安装 @@ -185,6 +190,13 @@ docker run -d -p 3000:3000 --name netease-cloud-music twesix/netease-music-api docker run -d -p 3000:3000 --name netease-cloud-music -e http_proxy= -e https_proxy= -e no_proxy= -e HTTP_PROXY= -e HTTPS_PROXY= -e NO_PROXY= netease-cloud-music ``` +> 由于 docker 镜像更新不是很及时,推荐自己 build, 以下为 build 镜像的方式 + +``` +$ git clone https://github.com/Binaryify/NeteaseCloudMusicApi && cd NeteaseCloudMusicApi +$ sudo docker build . -t netease-music-api +$ sudo docker run -d -p 3000:3000 netease-music-api +``` ## 接口文档 ### 调用前须知 @@ -360,7 +372,10 @@ tags:歌单tag **必选参数 :** `uid` : 用户 id -**可选参数 :** `limit` : 返回数量 , 默认为 30 `offset` : 偏移数量,用于分页 , 如 +**可选参数 :** +`limit` : 返回数量 , 默认为 30 + +`offset` : 偏移数量,用于分页 , 如 : 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 **接口地址 :** `/user/follows` @@ -466,6 +481,14 @@ category Code 取值: **调用例子 :** `/artist/unsub?id=6452` +### 收藏的歌手列表 +说明 : 调用此接口,可获取收藏的歌手列表 + +**接口地址 :** `/artist/sublist` + + +**调用例子 :** `/artist/sublist` + ### 歌单分类 说明 : 调用此接口,可获取歌单分类,包含 category 信息 @@ -1226,6 +1249,15 @@ type='1009' 获取其 id, 如`/search?keywords= 代码时间 &type=1009` **调用例子 :** `/dj/sub?rid=336355127&t=1` ( 对应关注 ' 代码时间 ') `/dj/sub?rid=336355127&t=0` ( 对应取消关注 ' 代码时间 ') +### 电台的订阅列表 + +说明 : 登陆后调用此接口 , 可获取订阅的电台列表 + + +**接口地址 :** `/dj/sublist` + +**调用例子 :** `/dj/sublist` + ### 电台 - 详情 说明 : 登陆后调用此接口 , 传入`rid`, 可获得对应电台的详情介绍 @@ -1245,9 +1277,15 @@ type='1009' 获取其 id, 如`/search?keywords= 代码时间 &type=1009` **必选参数 :** `rid`: 电台 的 id +**可选参数 :** +`limit` : 返回数量 , 默认为 30 + +`offset` : 偏移数量,用于分页 , 如 +: 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 + **接口地址 :** `/dj/program` -**调用例子 :** `/dj/program?rid=336355127` ( 对应 ' 代码时间 ' 的节目列表 ) +**调用例子 :** `/dj/program?rid=336355127&limit=40` ( 对应 ' 代码时间 ' 的节目列表 ) ## 离线访问此文档 diff --git a/package.json b/package.json index 8dc8787..ae6cde2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "NeteaseCloudMusicApi", - "version": "2.10.0", + "version": "2.11.1", "description": "网易云音乐 NodeJS 版 API", "scripts": { "start": "node app.js", diff --git a/router/dj_program.js b/router/dj_program.js index 6cc169d..cf950aa 100644 --- a/router/dj_program.js +++ b/router/dj_program.js @@ -1,28 +1,28 @@ -const express = require('express') -const router = express() -const { createWebAPIRequest } = require('../util/util') +const express = require("express"); +const router = express(); +const { createWebAPIRequest } = require("../util/util"); -router.get('/', (req, res) => { - const rid = req.query.rid - const cookie = req.get('Cookie') ? req.get('Cookie') : '' +router.get("/", (req, res) => { + const rid = req.query.rid; + const cookie = req.get("Cookie") ? req.get("Cookie") : ""; const data = { asc: req.query.asc, radioId: rid, - limit: req.query.limit, - offset: req.query.offset, - csrf_token: '' - } + limit: req.query.limit || 30, + offset: req.query.offset || 0, + csrf_token: "" + }; createWebAPIRequest( - 'music.163.com', - '/weapi/dj/program/byradio', - 'POST', + "music.163.com", + "/weapi/dj/program/byradio", + "POST", data, cookie, music_req => { - res.send(music_req) + res.send(music_req); }, - err => res.status(502).send('fetch error') - ) -}) + err => res.status(502).send("fetch error") + ); +}); -module.exports = router +module.exports = router;