mirror of
https://github.com/NeteaseCloudMusicApiEnhanced/api-enhanced.git
synced 2026-06-13 18:55:07 +00:00
feat: 新增新版会员任务接口 (#173)
This commit is contained in:
parent
d0935f6e42
commit
d26e6b0615
1418
CHANGELOG.MD
1418
CHANGELOG.MD
File diff suppressed because it is too large
Load Diff
14
module/vip_tasks_v1.js
Normal file
14
module/vip_tasks_v1.js
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// 会员任务 - 新版
|
||||||
|
|
||||||
|
const createOption = require('../util/option.js')
|
||||||
|
module.exports = (query, request) => {
|
||||||
|
const data = {
|
||||||
|
taskType: 'app_vip_task_center',
|
||||||
|
userId: query.id,
|
||||||
|
}
|
||||||
|
return request(
|
||||||
|
`/api/middle/vip/mission/user/progress/list`,
|
||||||
|
data,
|
||||||
|
createOption(query, 'xeapi'),
|
||||||
|
)
|
||||||
|
}
|
||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@neteasecloudmusicapienhanced/api",
|
"name": "@neteasecloudmusicapienhanced/api",
|
||||||
"version": "4.34.0",
|
"version": "4.34.1",
|
||||||
"description": "全网最全的网易云音乐API接口 || A revival project for NeteaseCloudMusicApi Node.js Services (Half Refactor & Enhanced) || 网易云音乐 API 备份 + 增强 || 本项目自原版v4.28.0版本后开始自行维护",
|
"description": "全网最全的网易云音乐API接口 || A revival project for NeteaseCloudMusicApi Node.js Services (Half Refactor & Enhanced) || 网易云音乐 API 备份 + 增强 || 本项目自原版v4.28.0版本后开始自行维护",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "nodemon app.js",
|
"dev": "nodemon app.js",
|
||||||
@ -104,5 +104,9 @@
|
|||||||
"power-assert": "^1.6.1",
|
"power-assert": "^1.6.1",
|
||||||
"prettier": "^3.8.3",
|
"prettier": "^3.8.3",
|
||||||
"typescript": "^5.9.3"
|
"typescript": "^5.9.3"
|
||||||
|
},
|
||||||
|
"publishConfig": {
|
||||||
|
"access": "public",
|
||||||
|
"registry": "https://registry.npmjs.org/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
public/docs/aigen.png
Normal file
BIN
public/docs/aigen.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.4 MiB |
@ -2,8 +2,6 @@
|
|||||||
|
|
||||||
网易云音乐 NodeJS API Enhanced
|
网易云音乐 NodeJS API Enhanced
|
||||||
|
|
||||||
最后更新于: 2026.2.15
|
|
||||||
|
|
||||||
## 灵感来自
|
## 灵感来自
|
||||||
|
|
||||||
[disoul/electron-cloud-music](https://github.com/disoul/electron-cloud-music)
|
[disoul/electron-cloud-music](https://github.com/disoul/electron-cloud-music)
|
||||||
@ -220,6 +218,10 @@ $ sudo docker run -d -p 3000:3000 netease-music-api
|
|||||||
|
|
||||||
### 调用前须知
|
### 调用前须知
|
||||||
|
|
||||||
|
AI 生成的图,仅供娱乐()
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
!> 本项目不提供线上 demo, 只提供在线文档服务, 请不要轻易信任使用他人提供的公开服务,以免发生安全问题,泄露自己的账号和密码
|
!> 本项目不提供线上 demo, 只提供在线文档服务, 请不要轻易信任使用他人提供的公开服务,以免发生安全问题,泄露自己的账号和密码
|
||||||
|
|
||||||
!> 为使用方便,降低门槛, 文档示例接口直接使用了 GET 请求,本项目同时支持 GET/POST 请按实际需求使用 (POST 请求 url 必须添加时间戳,使每次请求 url 不一样,不然请求会被缓存)
|
!> 为使用方便,降低门槛, 文档示例接口直接使用了 GET 请求,本项目同时支持 GET/POST 请按实际需求使用 (POST 请求 url 必须添加时间戳,使每次请求 url 不一样,不然请求会被缓存)
|
||||||
@ -5336,6 +5338,28 @@ let data = encodeURIComponent(
|
|||||||
|
|
||||||
说明 : 调用此接口,可获取城市榜、城市风格榜等指定维度音乐排行榜歌曲列表
|
说明 : 调用此接口,可获取城市榜、城市风格榜等指定维度音乐排行榜歌曲列表
|
||||||
|
|
||||||
|
**必选参数 :**
|
||||||
|
|
||||||
|
`chartCode`: 榜单编码,如 `CITY_SONG_CHART`、`CITY_STYLE_SONG_CHART`
|
||||||
|
|
||||||
|
`targetId`: 目标 id,城市榜如 `110000`,城市风格榜如 北京华语流行榜 `110000_1020`。城市风格榜格式通常为 `城市 id_曲风 id`,其中曲风 id 可通过[曲风列表](#曲风列表)接口 `/style/list` 获取。城市榜的城市列表可通过[多级行政区划数据](#多级行政区划数据)接口传入 `bizCode=chart` 获取;城市风格榜的城市列表可通过该接口传空 `bizCode` 获取
|
||||||
|
|
||||||
|
`targetType`: 目标类型,如 `CITY`、`CITY_STYLE`
|
||||||
|
|
||||||
|
**接口地址 :** `/chart/song/detail`
|
||||||
|
|
||||||
|
**调用例子 :** `/chart/song/detail?chartCode=CITY_STYLE_SONG_CHART&targetId=110000_1020&targetType=CITY_STYLE`
|
||||||
|
|
||||||
|
### 会员任务 - 新版
|
||||||
|
|
||||||
|
说明 : 登录后调用此接口, 获取会员任务
|
||||||
|
|
||||||
|
**可选参数** `id`: 用户 id, 传入后可获取指定用户的会员任务, 不传入则获取当前登录用户的会员任务
|
||||||
|
|
||||||
|
**接口地址 :** `/vip/task/v1`
|
||||||
|
|
||||||
|
**调用例子 :** `/vip/task/v1` `/vip/task/v1?id=32953014`
|
||||||
|
|
||||||
## 离线访问此文档
|
## 离线访问此文档
|
||||||
|
|
||||||
此文档同时也是 Progressive Web Apps(PWA), 加入了 serviceWorker, 可离线访问
|
此文档同时也是 Progressive Web Apps(PWA), 加入了 serviceWorker, 可离线访问
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 858 KiB |
@ -108,7 +108,7 @@
|
|||||||
name: '网易云音乐 API Enhanced',
|
name: '网易云音乐 API Enhanced',
|
||||||
repo: 'https://github.com/neteasecloudmusicapienhanced/api-enhanced',
|
repo: 'https://github.com/neteasecloudmusicapienhanced/api-enhanced',
|
||||||
coverpage: true,
|
coverpage: true,
|
||||||
homepage: 'https://cdn.jsdelivr.net/gh/NeteaseCloudMusicApiEnhanced/api-enhanced@main/public/docs/home.md',
|
homepage: 'home.md',
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<script src="https://unpkg.com/docsify@4.11.3/lib/docsify.min.js"></script>
|
<script src="https://unpkg.com/docsify@4.11.3/lib/docsify.min.js"></script>
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 992 KiB |
BIN
public/static/2170.png
Normal file
BIN
public/static/2170.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.4 MiB |
@ -304,7 +304,7 @@ async function constructServer(moduleDefs) {
|
|||||||
const obj = [...params]
|
const obj = [...params]
|
||||||
const options = obj[2] || {}
|
const options = obj[2] || {}
|
||||||
let ip = ''
|
let ip = ''
|
||||||
|
|
||||||
if (options.randomCNIP) {
|
if (options.randomCNIP) {
|
||||||
ip = global.cnIp
|
ip = global.cnIp
|
||||||
// logger.info('Using random Chinese IP for request:', ip)
|
// logger.info('Using random Chinese IP for request:', ip)
|
||||||
@ -319,7 +319,7 @@ async function constructServer(moduleDefs) {
|
|||||||
}
|
}
|
||||||
// logger.info('Requested from ip:', ip)
|
// logger.info('Requested from ip:', ip)
|
||||||
}
|
}
|
||||||
|
|
||||||
obj[2] = {
|
obj[2] = {
|
||||||
...options,
|
...options,
|
||||||
ip,
|
ip,
|
||||||
|
|||||||
@ -5,7 +5,10 @@ const createOption = (query, crypto = '') => {
|
|||||||
ua: query.ua || '',
|
ua: query.ua || '',
|
||||||
proxy: query.proxy,
|
proxy: query.proxy,
|
||||||
realIP: query.realIP,
|
realIP: query.realIP,
|
||||||
randomCNIP: process.env.ENABLE_RANDOM_CN_IP === 'true' ? !['false', false].includes(query.randomCNIP) : ['true', true].includes(query.randomCNIP),
|
randomCNIP:
|
||||||
|
process.env.ENABLE_RANDOM_CN_IP === 'true'
|
||||||
|
? !['false', false].includes(query.randomCNIP)
|
||||||
|
: ['true', true].includes(query.randomCNIP),
|
||||||
e_r: query.e_r || undefined,
|
e_r: query.e_r || undefined,
|
||||||
domain: query.domain || '',
|
domain: query.domain || '',
|
||||||
checkToken: query.checkToken || false,
|
checkToken: query.checkToken || false,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user