@neteasecloudmusicapienhanced/api 4.30.0 → 4.30.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/module/user_playlist_collect.js +14 -0
- package/module/user_playlist_create.js +14 -0
- package/package.json +5 -1
- package/public/docs/home.md +37 -0
- package/util/request.js +6 -6
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// 获取用户的收藏歌单列表
|
|
2
|
+
|
|
3
|
+
const createOption = require('../util/option.js')
|
|
4
|
+
module.exports = (query, request) => {
|
|
5
|
+
const data = {
|
|
6
|
+
limit: query.limit || '100',
|
|
7
|
+
offset: query.offset || '0',
|
|
8
|
+
userId: query.uid,
|
|
9
|
+
isWebview: 'true',
|
|
10
|
+
includeRedHeart: 'true',
|
|
11
|
+
includeTop: 'true',
|
|
12
|
+
}
|
|
13
|
+
return request(`/api/user/playlist/collect`, data, createOption(query))
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// 获取用户的创建歌单列表
|
|
2
|
+
|
|
3
|
+
const createOption = require('../util/option.js')
|
|
4
|
+
module.exports = (query, request) => {
|
|
5
|
+
const data = {
|
|
6
|
+
limit: query.limit || '100',
|
|
7
|
+
offset: query.offset || '0',
|
|
8
|
+
userId: query.uid,
|
|
9
|
+
isWebview: 'true',
|
|
10
|
+
includeRedHeart: 'true',
|
|
11
|
+
includeTop: 'true',
|
|
12
|
+
}
|
|
13
|
+
return request(`/api/user/playlist/create`, data, createOption(query))
|
|
14
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neteasecloudmusicapienhanced/api",
|
|
3
|
-
"version": "4.30.
|
|
3
|
+
"version": "4.30.1",
|
|
4
4
|
"description": "全网最全的网易云音乐API接口 || A revival project for NeteaseCloudMusicApi Node.js Services (Half Refactor & Enhanced) || 网易云音乐 API 备份 + 增强 || 本项目自原版v4.28.0版本后开始自行维护",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"dev": "nodemon app.js",
|
|
@@ -66,14 +66,18 @@
|
|
|
66
66
|
"data"
|
|
67
67
|
],
|
|
68
68
|
"dependencies": {
|
|
69
|
+
"@neteasecloudmusicapienhanced/unblockmusic-utils": "^0.2.2",
|
|
70
|
+
"axios": "^1.13.5",
|
|
69
71
|
"@neteasecloudmusicapienhanced/unblockmusic-utils": "^0.2.2",
|
|
70
72
|
"axios": "^1.13.5",
|
|
71
73
|
"crypto-js": "^4.2.0",
|
|
72
74
|
"dotenv": "^17.2.4",
|
|
75
|
+
"dotenv": "^17.2.4",
|
|
73
76
|
"express": "^5.2.1",
|
|
74
77
|
"express-fileupload": "^1.5.2",
|
|
75
78
|
"md5": "^2.3.0",
|
|
76
79
|
"music-metadata": "^11.12.0",
|
|
80
|
+
"music-metadata": "^11.12.0",
|
|
77
81
|
"node-forge": "^1.3.3",
|
|
78
82
|
"pac-proxy-agent": "^7.2.0",
|
|
79
83
|
"qrcode": "^1.5.4",
|
package/public/docs/home.md
CHANGED
|
@@ -4883,6 +4883,43 @@ let data = encodeURIComponent(
|
|
|
4883
4883
|
|
|
4884
4884
|
**调用例子:** `/vip/sign/info`
|
|
4885
4885
|
|
|
4886
|
+
|
|
4887
|
+
### 用户的创建歌单列表
|
|
4888
|
+
|
|
4889
|
+
说明 : 调用此接口, 传入用户id, 获取用户的创建歌单列表
|
|
4890
|
+
|
|
4891
|
+
**必选参数 :**
|
|
4892
|
+
|
|
4893
|
+
`uid`: 用户 id
|
|
4894
|
+
|
|
4895
|
+
**可选参数 :**
|
|
4896
|
+
|
|
4897
|
+
`limit` : 返回数量 , 默认为 100
|
|
4898
|
+
|
|
4899
|
+
`offset` : 偏移数量,用于分页 ,如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0
|
|
4900
|
+
|
|
4901
|
+
**接口地址 :** `/user/playlist/create`
|
|
4902
|
+
|
|
4903
|
+
**调用例子 :** `/user/playlist/create?uid=32953014`
|
|
4904
|
+
|
|
4905
|
+
### 用户的收藏歌单列表
|
|
4906
|
+
|
|
4907
|
+
说明 : 调用此接口, 传入用户id, 获取用户的收藏歌单列表
|
|
4908
|
+
|
|
4909
|
+
**必选参数 :**
|
|
4910
|
+
|
|
4911
|
+
`uid`: 用户 id
|
|
4912
|
+
|
|
4913
|
+
**可选参数 :**
|
|
4914
|
+
|
|
4915
|
+
`limit` : 返回数量 , 默认为 100
|
|
4916
|
+
|
|
4917
|
+
`offset` : 偏移数量,用于分页 ,如 :( 页数 -1)\*30, 其中 30 为 limit 的值 , 默认为 0
|
|
4918
|
+
|
|
4919
|
+
**接口地址 :** `/user/playlist/collect`
|
|
4920
|
+
|
|
4921
|
+
**调用例子 :** `/user/playlist/collect?uid=32953014`
|
|
4922
|
+
|
|
4886
4923
|
## 离线访问此文档
|
|
4887
4924
|
|
|
4888
4925
|
此文档同时也是 Progressive Web Apps(PWA), 加入了 serviceWorker, 可离线访问
|
package/util/request.js
CHANGED
|
@@ -194,11 +194,11 @@ const createRequest = (uri, data, options) => {
|
|
|
194
194
|
// 根据加密方式处理
|
|
195
195
|
switch (crypto) {
|
|
196
196
|
case 'weapi':
|
|
197
|
-
headers['Referer'] = DOMAIN
|
|
197
|
+
headers['Referer'] = options.domain || DOMAIN
|
|
198
198
|
headers['User-Agent'] = options.ua || chooseUserAgent('weapi')
|
|
199
199
|
data.csrf_token = csrfToken
|
|
200
200
|
encryptData = encrypt.weapi(data)
|
|
201
|
-
url = DOMAIN + '/weapi/' + uri.substr(5)
|
|
201
|
+
url = (options.domain || DOMAIN) + '/weapi/' + uri.substr(5)
|
|
202
202
|
break
|
|
203
203
|
|
|
204
204
|
case 'linuxapi':
|
|
@@ -206,10 +206,10 @@ const createRequest = (uri, data, options) => {
|
|
|
206
206
|
options.ua || chooseUserAgent('linuxapi', 'linux')
|
|
207
207
|
encryptData = encrypt.linuxapi({
|
|
208
208
|
method: 'POST',
|
|
209
|
-
url: DOMAIN + uri,
|
|
209
|
+
url: (options.domain || DOMAIN) + uri,
|
|
210
210
|
params: data,
|
|
211
211
|
})
|
|
212
|
-
url = DOMAIN + '/api/linux/forward'
|
|
212
|
+
url = (options.domain || DOMAIN) + '/api/linux/forward'
|
|
213
213
|
break
|
|
214
214
|
|
|
215
215
|
case 'eapi':
|
|
@@ -249,9 +249,9 @@ const createRequest = (uri, data, options) => {
|
|
|
249
249
|
: ENCRYPT_RESPONSE,
|
|
250
250
|
)
|
|
251
251
|
encryptData = encrypt.eapi(uri, data)
|
|
252
|
-
url = API_DOMAIN + '/eapi/' + uri.substr(5)
|
|
252
|
+
url = (options.domain || API_DOMAIN) + '/eapi/' + uri.substr(5)
|
|
253
253
|
} else if (crypto === 'api') {
|
|
254
|
-
url = API_DOMAIN + uri
|
|
254
|
+
url = (options.domain || API_DOMAIN) + uri
|
|
255
255
|
encryptData = data
|
|
256
256
|
}
|
|
257
257
|
break
|