# NeteaseCloudMusicApi
网易云音乐 nodejs 接口


## 版本新特性  
增加使用文档,完成项目重构,版本升级到2.0,升级 api 到 v2+,支持登录并获取用户信息和创建的歌单,可通过获取音乐 url 接口获取用户歌单里的的音乐,获取每日推荐歌单和每日推荐音乐

## 安装  
``` shell
$ git clone git@github.com:Binaryify/NeteaseCloudMusicApi.git
$ npm install
```
## 运行
``` shell
$ node app.js 
```

服务器启动,默认端口为3000


## 接口文档

### 登录
登录有两个接口
1. 手机登录  
接口地址:`'/login/cellphone'`  
调用例子:  
`'/login/cellphone?phone=xxx&password=yyy'`
2. 邮箱登录  
接口地址:`'/login`  
调用例子:  
`'/login?email=xxx@163.com&password=yyy'`  
返回数据如下图:  
![登录](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E7%99%BB%E5%BD%95.png)



完成登录后,会在浏览器保存一个 cookie 用作登录凭证, 除了搜索的音乐和歌词,以及获取音乐 url 都需要用到这个 cookie

### 获取用户歌单
说明:登陆后调用此接口,传入用户 id, 可以获取用户歌单  
接口地址:  
`/user/playlist`  
调用例子:  
`/user/playlist?uid=32953014`  
返回数据如下图:  
![用户歌单](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E7%94%A8%E6%88%B7%E6%AD%8C%E5%8D%95.png)

### 获取歌单详情  
说明:歌单能看到歌单名字,但看不到具体歌单内容,调用此接口,传入歌单 id,可以获取对应歌单内的所有的音乐  
接口地址:  
`playlist/detail`  
调用例子:  
`/playlist/detail?id=24381616`  
返回数据如下图:  
![歌单详情](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%AD%8C%E5%8D%95%E8%AF%A6%E6%83%85.png)

### 获取音乐 url
说明:使用歌单详情接口后,能得到的音乐的 id, 但不能得到的音乐 url, 调用此接口,传入的音乐 id,可以获取对应的音乐的 url(不需要登录)
接口地址:  
`playlist/detail`  
调用例子:  
`/playlist/detail?id=24381616`  
返回数据如下图:  
![音乐 url](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E9%9F%B3%E4%B9%90%20url.png)

### 搜索音乐
说明:调用此接口,传入搜索关键词可以搜索该音乐,关键词可以多个,以空格隔开,如"周杰伦 搁浅"(不需要登录)
接口地址:  
`/search`  
调用例子:  
`/search?keywords=海阔天空`  
返回数据如下图: 
![搜索音乐](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%90%9C%E7%B4%A2.png)

### 获取歌词
说明:调用此接口,传入音乐 id 可获得对应音乐的歌词(不需要登录)
接口地址:  
`/lyric`  
调用例子:  
`/lyric?id=347230`  
返回数据如下图: 
![搜索音乐](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%AD%8C%E8%AF%8D.png)

### 获取每日推荐歌单
说明:调用此接口,可获得每日推荐歌单(需要登录)
接口地址:  
`/recommend/resource`  
调用例子:  
`/recommend/resource`  
返回数据如下图: 
![搜索音乐](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%8E%A8%E8%8D%90%E6%AD%8C%E5%8D%95.png)

### 获取每日推荐歌曲
说明:调用此接口,可获得每日推荐歌曲(需要登录)
接口地址:  
`/recommend/songs`  
调用例子:  
`/recommend/songs`  
返回数据如下图: 
![搜索音乐](https://raw.githubusercontent.com/Binaryify/NeteaseCloudMusicApi/master/static/%E6%8E%A8%E8%8D%90%E6%AD%8C%E6%9B%B2.png)


## License
[The MIT License (MIT)](LICENSE)
