mirror of
https://github.com/NeteaseCloudMusicApiEnhanced/api-enhanced.git
synced 2026-03-21 19:13:10 +00:00
Compare commits
No commits in common. "c50aeddf5f781c889a8820105615a67acfd394c5" and "d10296ccd8f435a1bc4eaad76b913fbd506de6b7" have entirely different histories.
c50aeddf5f
...
d10296ccd8
@ -499,11 +499,6 @@ banner({ type: 0 }).then((res) => {
|
|||||||
314. 广播电台 - 收藏/取消收藏电台
|
314. 广播电台 - 收藏/取消收藏电台
|
||||||
315. 用户的创建歌单列表
|
315. 用户的创建歌单列表
|
||||||
316. 用户的收藏歌单列表
|
316. 用户的收藏歌单列表
|
||||||
317. DIFM电台 - 分类
|
|
||||||
318. DIFM电台 - 收藏列表
|
|
||||||
319. DIFM电台 - 收藏频道
|
|
||||||
320. DIFM电台 - 取消收藏频道
|
|
||||||
321. DIFM电台 - 播放列表
|
|
||||||
|
|
||||||
## 单元测试
|
## 单元测试
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +0,0 @@
|
|||||||
// DIFM电台 - 分类
|
|
||||||
|
|
||||||
const createOption = require('../util/option.js')
|
|
||||||
module.exports = (query, request) => {
|
|
||||||
const data = {
|
|
||||||
sources: query.sources || '[0]',
|
|
||||||
}
|
|
||||||
return request(`/api/dj/difm/all/style/channel/v2`, data, createOption(query))
|
|
||||||
}
|
|
||||||
@ -1,9 +0,0 @@
|
|||||||
// DIFM电台 - 收藏频道
|
|
||||||
|
|
||||||
const createOption = require('../util/option.js')
|
|
||||||
module.exports = (query, request) => {
|
|
||||||
const data = {
|
|
||||||
id: query.id,
|
|
||||||
}
|
|
||||||
return request(`/api/dj/difm/channel/subscribe`, data, createOption(query))
|
|
||||||
}
|
|
||||||
@ -1,9 +0,0 @@
|
|||||||
// DIFM电台 - 取消收藏频道
|
|
||||||
|
|
||||||
const createOption = require('../util/option.js')
|
|
||||||
module.exports = (query, request) => {
|
|
||||||
const data = {
|
|
||||||
id: query.id,
|
|
||||||
}
|
|
||||||
return request(`/api/dj/difm/channel/unsubscribe`, data, createOption(query))
|
|
||||||
}
|
|
||||||
@ -1,11 +0,0 @@
|
|||||||
// DIFM电台 - 播放列表
|
|
||||||
|
|
||||||
const createOption = require('../util/option.js')
|
|
||||||
module.exports = (query, request) => {
|
|
||||||
const data = {
|
|
||||||
limit: query.limit || 5,
|
|
||||||
source: query.source || 0,
|
|
||||||
channelId: query.channelId,
|
|
||||||
}
|
|
||||||
return request(`/api/dj/difm/playing/tracks/list`, data, createOption(query))
|
|
||||||
}
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
// DIFM电台 - 收藏列表
|
|
||||||
|
|
||||||
const createOption = require('../util/option.js')
|
|
||||||
module.exports = (query, request) => {
|
|
||||||
const data = {
|
|
||||||
sources: query.sources || '[0]',
|
|
||||||
}
|
|
||||||
return request(
|
|
||||||
`/api/dj/difm/subscribe/channels/get/v2`,
|
|
||||||
data,
|
|
||||||
createOption(query),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "NeteaseCloudMusicApi",
|
"name": "NeteaseCloudMusicApi",
|
||||||
"version": "4.30.0",
|
"version": "4.29.0",
|
||||||
"description": "网易云音乐 NodeJS 版 API",
|
"description": "网易云音乐 NodeJS 版 API",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node app.js",
|
"start": "node app.js",
|
||||||
@ -65,8 +65,10 @@
|
|||||||
"data"
|
"data"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^1.13.6",
|
"@unblockneteasemusic/server": "^0.28.0",
|
||||||
|
"axios": "^1.13.2",
|
||||||
"crypto-js": "^4.2.0",
|
"crypto-js": "^4.2.0",
|
||||||
|
"dotenv": "^17.2.3",
|
||||||
"express": "^4.22.1",
|
"express": "^4.22.1",
|
||||||
"express-fileupload": "^1.5.2",
|
"express-fileupload": "^1.5.2",
|
||||||
"md5": "^2.3.0",
|
"md5": "^2.3.0",
|
||||||
|
|||||||
392
pnpm-lock.yaml
generated
392
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@ -332,11 +332,6 @@
|
|||||||
314. 广播电台 - 收藏/取消收藏电台
|
314. 广播电台 - 收藏/取消收藏电台
|
||||||
315. 用户的创建歌单列表
|
315. 用户的创建歌单列表
|
||||||
316. 用户的收藏歌单列表
|
316. 用户的收藏歌单列表
|
||||||
317. DIFM电台 - 分类
|
|
||||||
318. DIFM电台 - 收藏列表
|
|
||||||
319. DIFM电台 - 收藏频道
|
|
||||||
320. DIFM电台 - 取消收藏频道
|
|
||||||
321. DIFM电台 - 播放列表
|
|
||||||
|
|
||||||
## 安装
|
## 安装
|
||||||
|
|
||||||
@ -5180,72 +5175,6 @@ let data = encodeURIComponent(
|
|||||||
|
|
||||||
**调用例子 :** `/user/playlist/collect?uid=32953014`
|
**调用例子 :** `/user/playlist/collect?uid=32953014`
|
||||||
|
|
||||||
### DIFM电台 - 分类
|
|
||||||
|
|
||||||
说明: 调用此接口, 获取DIFM电台分类
|
|
||||||
|
|
||||||
**必选参数 :**
|
|
||||||
|
|
||||||
`sources`: 来源列表, 0: 最嗨电音 1: 古典电台 2: 爵士电台
|
|
||||||
|
|
||||||
**接口地址:** `/dj/difm/all/style/channel`
|
|
||||||
|
|
||||||
**调用例子:** `/dj/difm/all/style/channel?sources=[0]`
|
|
||||||
|
|
||||||
### DIFM电台 - 收藏列表
|
|
||||||
|
|
||||||
说明: 调用此接口, 获取DIFM电台收藏列表
|
|
||||||
|
|
||||||
**必选参数 :**
|
|
||||||
|
|
||||||
`sources`: 来源列表, 0: 最嗨电音 1: 古典电台 2: 爵士电台
|
|
||||||
|
|
||||||
**接口地址:** `/dj/difm/subscribe/channels/get`
|
|
||||||
|
|
||||||
**调用例子:** `/dj/difm/subscribe/channels/get?sources=[0]`
|
|
||||||
|
|
||||||
### DIFM电台 - 收藏频道
|
|
||||||
|
|
||||||
说明: 调用此接口, 可收藏DIFM频道
|
|
||||||
|
|
||||||
**必选参数 :**
|
|
||||||
|
|
||||||
`id`: 频道id
|
|
||||||
|
|
||||||
**接口地址:** `/dj/difm/channel/subscribe`
|
|
||||||
|
|
||||||
**调用例子:** `/dj/difm/channel/subscribe?id=1`
|
|
||||||
|
|
||||||
### DIFM电台 - 取消收藏频道
|
|
||||||
|
|
||||||
说明: 调用此接口, 可取消收藏DIFM频道
|
|
||||||
|
|
||||||
**必选参数 :**
|
|
||||||
|
|
||||||
`id`: 频道id
|
|
||||||
|
|
||||||
**接口地址:** `/dj/difm/channel/unsubscribe`
|
|
||||||
|
|
||||||
**调用例子:** `/dj/difm/channel/unsubscribe?id=1`
|
|
||||||
|
|
||||||
### DIFM电台 - 播放列表
|
|
||||||
|
|
||||||
说明: 调用此接口, 获取DIFM播放列表
|
|
||||||
|
|
||||||
**必选参数 :**
|
|
||||||
|
|
||||||
`source`: 来源, 0: 最嗨电音 1: 古典电台 2: 爵士电台
|
|
||||||
|
|
||||||
`channelId`: 频道id
|
|
||||||
|
|
||||||
**可选参数 :**
|
|
||||||
|
|
||||||
`limit`: 返回数量, 默认为 5
|
|
||||||
|
|
||||||
**接口地址:** `/dj/difm/playing/tracks/list`
|
|
||||||
|
|
||||||
**调用例子:** `/dj/difm/playing/tracks/list?source=0&channelId=1012`
|
|
||||||
|
|
||||||
## 离线访问此文档
|
## 离线访问此文档
|
||||||
|
|
||||||
此文档同时也是 Progressive Web Apps(PWA), 加入了 serviceWorker, 可离线访问
|
此文档同时也是 Progressive Web Apps(PWA), 加入了 serviceWorker, 可离线访问
|
||||||
|
|||||||
@ -237,7 +237,6 @@ const createRequest = (uri, data, options) => {
|
|||||||
headers['User-Agent'] = options.ua || chooseUserAgent('api', 'iphone')
|
headers['User-Agent'] = options.ua || chooseUserAgent('api', 'iphone')
|
||||||
|
|
||||||
if (crypto === 'eapi') {
|
if (crypto === 'eapi') {
|
||||||
// headers['x-aeapi'] = true // 服务器会使用gzip压缩返回值
|
|
||||||
data.header = header
|
data.header = header
|
||||||
data.e_r = toBoolean(
|
data.e_r = toBoolean(
|
||||||
options.e_r !== undefined
|
options.e_r !== undefined
|
||||||
@ -321,7 +320,6 @@ const createRequest = (uri, data, options) => {
|
|||||||
if (crypto === 'eapi' && data.e_r) {
|
if (crypto === 'eapi' && data.e_r) {
|
||||||
answer.body = encrypt.eapiResDecrypt(
|
answer.body = encrypt.eapiResDecrypt(
|
||||||
body.toString('hex').toUpperCase(),
|
body.toString('hex').toUpperCase(),
|
||||||
headers['x-aeapi'],
|
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
answer.body =
|
answer.body =
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user