Merge pull request #5 from Binaryify/master

sync
This commit is contained in:
Nzix 2018-05-24 23:54:54 +08:00 committed by GitHub
commit 8460e76026
5 changed files with 88 additions and 38 deletions

View File

@ -1,4 +1,10 @@
# 更新日志 # 更新日志
### 2.11.1 | 2018.05.24
更新文档,优化`/dj/program`接口
### 2.11.0 | 2018.05.21
增加收藏歌手列表&订阅电台列表
### 2.10.0 | 2018.05.17 ### 2.10.0 | 2018.05.17
歌单操作调整为批量操作 歌单操作调整为批量操作

View File

@ -19,6 +19,8 @@
[sqaiyan/netmusic-node](https://github.com/sqaiyan/netmusic-node) [sqaiyan/netmusic-node](https://github.com/sqaiyan/netmusic-node)
## 版本新特性 ## 版本新特性
### 2.11.0 | 2018.05.21
增加收藏歌手列表&订阅电台列表
### 2.10.0 | 2018.05.17 ### 2.10.0 | 2018.05.17
歌单操作调整为批量操作 歌单操作调整为批量操作
@ -57,7 +59,7 @@ banner 接口 , 增加刷新登录接口 , 增加电台相关接口 , 补充评
1. 登录 1. 登录
2. 刷新登录 2. 刷新登录
3. 获取用户信息,歌单收藏mv, dj 数量 3. 获取用户信息 , 歌单收藏mv, dj 数量
4. 获取用户歌单 4. 获取用户歌单
5. 获取用户电台 5. 获取用户电台
6. 获取用户关注列表 6. 获取用户关注列表
@ -86,14 +88,14 @@ banner 接口 , 增加刷新登录接口 , 增加电台相关接口 , 补充评
29. 获取相似歌单 29. 获取相似歌单
30. 相似 mv 30. 相似 mv
31. 获取相似音乐 31. 获取相似音乐
32. 获取相似用户 32. 获取最近 5 个听了这首歌的用户
33. 获取每日推荐歌单 33. 获取每日推荐歌单
34. 获取每日推荐歌曲 34. 获取每日推荐歌曲
35. 私人 FM 35. 私人 FM
36. 签到 36. 签到
37. 喜欢音乐 37. 喜欢音乐
38. 垃圾桶 38. 垃圾桶
39. 歌单(网友精选碟) 39. 歌单 ( 网友精选碟 )
40. 新碟上架 40. 新碟上架
41. 热门歌手 41. 热门歌手
42. 最新 mv 42. 最新 mv
@ -107,14 +109,24 @@ banner 接口 , 增加刷新登录接口 , 增加电台相关接口 , 补充评
50. 获取 mv 数据 50. 获取 mv 数据
51. 播放 mv 51. 播放 mv
52. 排行榜 52. 排行榜
53. 云盘 53. 歌手榜
54. 电台-推荐 54. 云盘
55. 电台-分类 55. 电台 - 推荐
56. 电台-分类推荐 56. 电台 - 分类
57. 电台-订阅 57. 电台 - 分类推荐
58. 电台-详情 58. 电台 - 订阅
59. 电台-节目 59. 电台 - 详情
60. 给评论点赞 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 $ set PORT=4000 && node app.js
``` ```
## Docker 容器运行
```shell
docker pull pengxiao/netease-music-api
docker run -d -p 3000:3000 pengxiao/netease-music-api
```
## 使用文档 ## 使用文档

View File

@ -15,6 +15,9 @@
跨站请求伪造 (CSRF), 伪造请求头 , 调用官方 API 跨站请求伪造 (CSRF), 伪造请求头 , 调用官方 API
## 版本新特性 ## 版本新特性
### 2.11.0 | 2018.05.21
增加收藏歌手列表&订阅电台列表
### 2.10.0 | 2018.05.17 ### 2.10.0 | 2018.05.17
歌单操作调整为批量操作 歌单操作调整为批量操作
@ -118,6 +121,8 @@ banner 接口 , 增加刷新登录接口 , 增加电台相关接口 , 补充评
66. 新建歌单 66. 新建歌单
67. 收藏/取消收藏歌单 67. 收藏/取消收藏歌单
68. 歌单分类 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 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 **必选参数 :** `uid` : 用户 id
**可选参数 :** `limit` : 返回数量 , 默认为 30 `offset` : 偏移数量,用于分页 , 如 **可选参数 :**
`limit` : 返回数量 , 默认为 30
`offset` : 偏移数量,用于分页 , 如
: 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0 : 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0
**接口地址 :** `/user/follows` **接口地址 :** `/user/follows`
@ -466,6 +481,14 @@ category Code 取值:
**调用例子 :** `/artist/unsub?id=6452` **调用例子 :** `/artist/unsub?id=6452`
### 收藏的歌手列表
说明 : 调用此接口,可获取收藏的歌手列表
**接口地址 :** `/artist/sublist`
**调用例子 :** `/artist/sublist`
### 歌单分类 ### 歌单分类
说明 : 调用此接口,可获取歌单分类,包含 category 信息 说明 : 调用此接口,可获取歌单分类,包含 category 信息
@ -1226,6 +1249,15 @@ type='1009' 获取其 id, 如`/search?keywords= 代码时间 &type=1009`
**调用例子 :** `/dj/sub?rid=336355127&t=1` ( 对应关注 ' 代码时间 ') **调用例子 :** `/dj/sub?rid=336355127&t=1` ( 对应关注 ' 代码时间 ')
`/dj/sub?rid=336355127&t=0` ( 对应取消关注 ' 代码时间 ') `/dj/sub?rid=336355127&t=0` ( 对应取消关注 ' 代码时间 ')
### 电台的订阅列表
说明 : 登陆后调用此接口 , 可获取订阅的电台列表
**接口地址 :** `/dj/sublist`
**调用例子 :** `/dj/sublist`
### 电台 - 详情 ### 电台 - 详情
说明 : 登陆后调用此接口 , 传入`rid`, 可获得对应电台的详情介绍 说明 : 登陆后调用此接口 , 传入`rid`, 可获得对应电台的详情介绍
@ -1245,9 +1277,15 @@ type='1009' 获取其 id, 如`/search?keywords= 代码时间 &type=1009`
**必选参数 :** `rid`: 电台 的 id **必选参数 :** `rid`: 电台 的 id
**可选参数 :**
`limit` : 返回数量 , 默认为 30
`offset` : 偏移数量,用于分页 , 如
: 如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0
**接口地址 :** `/dj/program` **接口地址 :** `/dj/program`
**调用例子 :** `/dj/program?rid=336355127` ( 对应 ' 代码时间 ' 的节目列表 ) **调用例子 :** `/dj/program?rid=336355127&limit=40` ( 对应 ' 代码时间 ' 的节目列表 )
## 离线访问此文档 ## 离线访问此文档

View File

@ -1,6 +1,6 @@
{ {
"name": "NeteaseCloudMusicApi", "name": "NeteaseCloudMusicApi",
"version": "2.10.0", "version": "2.11.1",
"description": "网易云音乐 NodeJS 版 API", "description": "网易云音乐 NodeJS 版 API",
"scripts": { "scripts": {
"start": "node app.js", "start": "node app.js",

View File

@ -1,28 +1,28 @@
const express = require('express') const express = require("express");
const router = express() const router = express();
const { createWebAPIRequest } = require('../util/util') const { createWebAPIRequest } = require("../util/util");
router.get('/', (req, res) => { router.get("/", (req, res) => {
const rid = req.query.rid const rid = req.query.rid;
const cookie = req.get('Cookie') ? req.get('Cookie') : '' const cookie = req.get("Cookie") ? req.get("Cookie") : "";
const data = { const data = {
asc: req.query.asc, asc: req.query.asc,
radioId: rid, radioId: rid,
limit: req.query.limit, limit: req.query.limit || 30,
offset: req.query.offset, offset: req.query.offset || 0,
csrf_token: '' csrf_token: ""
} };
createWebAPIRequest( createWebAPIRequest(
'music.163.com', "music.163.com",
'/weapi/dj/program/byradio', "/weapi/dj/program/byradio",
'POST', "POST",
data, data,
cookie, cookie,
music_req => { 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;