mirror of
https://gitlab.com/Binaryify/neteasecloudmusicapi.git
synced 2025-07-03 09:02:09 +08:00
add album api & unit test, improve document
This commit is contained in:
parent
f6b9ff2441
commit
6630fa1e14
@ -10,7 +10,7 @@
|
||||
|
||||
|
||||
## 版本新特性
|
||||
2017/4/1 升级到 2.0 版本.增加使用文档,完成项目重构,增加更完善的单元测试,版本升级到2.0,升级 api 到 v2+,支持登录并获取用户信息和创建的歌单,可通过获取音乐 url 接口获取用户歌单里的的音乐,获取每日推荐歌单和每日推荐音乐
|
||||
升级到 2.0 版本.增加使用文档,完成项目重构,增加更完善的单元测试,版本升级到2.0,升级 api 到 v2+,支持登录并获取用户信息和创建的歌单,可通过获取音乐 url 接口获取用户歌单里的的音乐,获取每日推荐歌单和每日推荐音乐
|
||||
|
||||
## 环境要求
|
||||
需要 NodeJS 6.0+ 环境
|
||||
|
3
app.js
3
app.js
@ -13,6 +13,9 @@ app.use('/recommend/resource', require('./router/recommendResource'))
|
||||
|
||||
app.use('/lyric', require('./router/lyric'))
|
||||
|
||||
app.use('/album', require('./router/album'))
|
||||
|
||||
|
||||
app.use('/user/playlist', require('./router/userPlaylist'))
|
||||
|
||||
app.use('/playlist/detail', require('./router/playlistDetail'))
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
|
||||
## 版本新特性
|
||||
2017/4/1 升级到 2.0 版本.增加使用文档,完成项目重构,增加更完善的单元测试,版本升级到2.0,升级 api 到 v2+,支持登录并获取用户信息和创建的歌单,可通过获取音乐 url 接口获取用户歌单里的的音乐,获取每日推荐歌单和每日推荐音乐
|
||||
升级到 2.0 版本.增加使用文档,完成项目重构,增加更完善的单元测试,版本升级到2.0,升级 api 到 v2+,支持登录并获取用户信息和创建的歌单,可通过获取音乐 url 接口获取用户歌单里的的音乐,获取每日推荐歌单和每日推荐音乐
|
||||
|
||||
## 安装
|
||||
``` shell
|
||||
@ -69,6 +69,19 @@ $ node app.js
|
||||
|
||||
### 搜索音乐
|
||||
说明:调用此接口,传入搜索关键词可以搜索该音乐,关键词可以多个,以空格隔开,如"周杰伦 搁浅"(不需要登录)
|
||||
必选参数:
|
||||
keywords : 关键词
|
||||
可选参数:
|
||||
limit: 返回数量
|
||||
type: 搜索类型;取值意义
|
||||
. 1 单曲
|
||||
. 10 专辑
|
||||
. 100 歌手
|
||||
. 1000 歌单
|
||||
. 1002 用户
|
||||
|
||||
offset: 偏移数量,用于分页
|
||||
|
||||
接口地址:
|
||||
`/search`
|
||||
调用例子:
|
||||
@ -85,6 +98,17 @@ $ node app.js
|
||||
返回数据如下图:
|
||||

|
||||
|
||||
### 获取歌手专辑列表
|
||||
说明:调用此接口,传入歌手 id,可获得歌手专辑列表
|
||||
接口地址:
|
||||
`/album`
|
||||
调用例子:
|
||||
`album?id=32311`
|
||||

|
||||
|
||||
|
||||
|
||||
|
||||
### 获取每日推荐歌单
|
||||
说明:调用此接口,可获得每日推荐歌单(需要登录)
|
||||
接口地址:
|
||||
|
18
router/album.js
Normal file
18
router/album.js
Normal file
@ -0,0 +1,18 @@
|
||||
const express = require("express")
|
||||
const router = express()
|
||||
const { createRequest } = require("../util/util")
|
||||
|
||||
router.get("/", (req, res) => {
|
||||
const id = req.query.id
|
||||
createRequest(`/api/album/${id}`, 'GET', null)
|
||||
.then(result => {
|
||||
res.setHeader("Content-Type", "application/json")
|
||||
res.send(result)
|
||||
})
|
||||
.catch(err => {
|
||||
res.status(502).send('fetch error')
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
module.exports = router
|
@ -6,7 +6,9 @@ router.get("/", (req, res) => {
|
||||
const keywords = req.query.keywords
|
||||
const type = req.query.type || 1
|
||||
const limit = req.query.limit || 30
|
||||
const data = 's=' + keywords + '&limit=' + limit + '&type=' + type + '&offset=0'
|
||||
const offset = req.query.offset || 0
|
||||
|
||||
const data = 's=' + keywords + '&limit=' + limit + '&type=' + type + '&offset=' + offset
|
||||
createRequest('/api/search/pc/', 'POST', data)
|
||||
.then(result => {
|
||||
res.setHeader("Content-Type", "application/json")
|
||||
|
17
test/album.test.js
Normal file
17
test/album.test.js
Normal file
@ -0,0 +1,17 @@
|
||||
const assert = require('assert')
|
||||
const crypto = require('crypto')
|
||||
const { createRequest } = require("../util/util")
|
||||
|
||||
describe('测试获取歌手专辑列表是否正常', () => {
|
||||
it('数据应该有 lrc 字段', done => {
|
||||
const id = 32311
|
||||
createRequest(`/api/album/${id}`, 'GET', null)
|
||||
.then(result => {
|
||||
const code = JSON.parse(result).code
|
||||
console.log("code:" + code)
|
||||
assert(code === 200)
|
||||
done()
|
||||
})
|
||||
.catch(err => done(err))
|
||||
})
|
||||
})
|
@ -1,8 +1,6 @@
|
||||
const assert = require('assert')
|
||||
const crypto = require('crypto')
|
||||
const { createRequest } = require("../util/util")
|
||||
const phone = "换成你的账号"
|
||||
const password = "换成你的密码"
|
||||
|
||||
describe('测试获取歌词是否正常', () => {
|
||||
it('数据应该有 lrc 字段', done => {
|
||||
|
@ -1,8 +1,6 @@
|
||||
const assert = require('assert')
|
||||
const crypto = require('crypto')
|
||||
const { createWebAPIRequest } = require("../util/util")
|
||||
const phone = "换成你的账号"
|
||||
const password = "换成你的密码"
|
||||
|
||||
describe('测试获取歌曲是否正常', () => {
|
||||
it('歌曲的 url 不应该为空', done => {
|
||||
|
@ -1,8 +1,6 @@
|
||||
const assert = require('assert')
|
||||
const crypto = require('crypto')
|
||||
const { createRequest } = require("../util/util")
|
||||
const phone = "换成你的账号"
|
||||
const password = "换成你的密码"
|
||||
|
||||
describe('测试搜索是否正常', () => {
|
||||
it('获取到的数据的 name 应该和搜索关键词一致', done => {
|
||||
|
Loading…
x
Reference in New Issue
Block a user