Compare commits

...

9 Commits

Author SHA1 Message Date
dependabot[bot]
93d14ee378
chore(packages): bump globals from 16.5.0 to 17.0.0
Bumps [globals](https://github.com/sindresorhus/globals) from 16.5.0 to 17.0.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v16.5.0...v17.0.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 17.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-30 15:14:44 +00:00
2b69e9dda5
chore(packages): bump version 4.29.21 2026-01-30 23:13:13 +08:00
796c2803df
Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/typescript-eslint/parser-8.53.0' 2026-01-30 23:08:07 +08:00
ab00919a93
Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/types/node-25.0.9' 2026-01-30 23:07:58 +08:00
dependabot[bot]
db2ca44bbc
chore(packages): bump @typescript-eslint/parser from 8.51.0 to 8.53.0
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 8.51.0 to 8.53.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.53.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.53.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-19 14:35:05 +00:00
dependabot[bot]
6c79f7495b
chore(packages): bump @types/node from 25.0.3 to 25.0.9
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 25.0.3 to 25.0.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.0.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-19 14:34:32 +00:00
dependabot[bot]
fd0608adef
chore(packages): bump eslint-plugin-prettier from 5.5.4 to 5.5.5
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 5.5.4 to 5.5.5.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.5.4...v5.5.5)

---
updated-dependencies:
- dependency-name: eslint-plugin-prettier
  dependency-version: 5.5.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-19 14:34:19 +00:00
f6fc452666
更新 README 以反映 Node.js 版本要求和 Docker 使用说明 (#80)
Co-authored-by: binaryify <binaryify@gmail.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-16 22:58:19 +08:00
748d5da8fe
fix(require): fix modules not defined 2026-01-09 21:44:03 +08:00
8 changed files with 198 additions and 183 deletions

View File

@ -19,7 +19,7 @@
### 环境要求 ### 环境要求
- Node.js 14 及以上 - Node.js 18 及以上
- 推荐使用 pnpm 进行依赖管理 - 推荐使用 pnpm 进行依赖管理
### 安装 ### 安装
@ -60,32 +60,44 @@ set PORT=4000 && node app.js # Windows
本项目支持通过 Docker 一键部署,无需手动安装 Node.js 或依赖。 本项目支持通过 Docker 一键部署,无需手动安装 Node.js 或依赖。
### 1. 拉取镜像 > 注意: 在 docker 中运行的时候, 由于使用了 request 来发请求, 所以会检查几个 proxy 相关的环境变量(如下所列), 这些环境变量 会影响到 request 的代理, 详情请参考[request 的文档](https://github.com/request/request#proxies), 如果这些环境变量 指向的代理不可用, 那么就会造成错误, 所以在使用 docker 的时候一定要注意这些环境变量. 不过, 要是你在 query 中加上了 proxy 参数, 那么环境变量会被覆盖, 就会用你通过 proxy 参数提供的代理了.
从 Docker Hub 拉取最新版本镜像: request 相关的环境变量
```bash 1. http_proxy
2. https_proxy
3. HTTP_PROXY
4. HTTPS_PROXY
5. no_proxy
6. NO_PROXY
```shell
docker pull moefurina/ncm-api:latest docker pull moefurina/ncm-api:latest
docker run -d -p 3000:3000 --name ncm-api moefurina/ncm-api:latest
// 或者
docker run -d -p 3000:3000 moefurina/ncm-api:latest
// 去掉或者设置相关的环境变量
docker run -d -p 3000:3000 --name ncm-api -e http_proxy= -e https_proxy= -e no_proxy= -e HTTP_PROXY= -e HTTPS_PROXY= -e NO_PROXY= moefurina/ncm-api:latest
// 或者
docker run -d -p 3000:3000 -e http_proxy= -e https_proxy= -e no_proxy= -e HTTP_PROXY= -e HTTPS_PROXY= -e NO_PROXY= moefurina/ncm-api:latest
``` ```
或指定版本(与 package.json 中版本号一致): > 以下是自行 build docker 镜像方式
```bash ```shell
docker pull moefurina/ncm-api:4.29.0 $ git clone https://github.com/NeteaseCloudMusicApiEnhanced/api-enhanced && cd api-enhanced
$ sudo docker build . -t ncm-api
$ sudo docker run -d -p 3000:3000 ncm-api
``` ```
### 2. 运行容器
```bash
docker run -d \
--name ncm-api \
-p 3000:3000 \
moefurina/ncm-api:latest
```
运行后访问 http://localhost:3000 即可使用 API。
## 3. 环境变量 ## 3. 环境变量
| 变量名 | 默认值 | 说明 | | 变量名 | 默认值 | 说明 |

View File

@ -1,7 +1,7 @@
{ {
"name": "@neteasecloudmusicapienhanced/api", "name": "@neteasecloudmusicapienhanced/api",
"version": "4.29.20", "version": "4.29.21",
"description": "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",
"start": "node app.js", "start": "node app.js",
@ -67,13 +67,13 @@
], ],
"dependencies": { "dependencies": {
"@neteasecloudmusicapienhanced/unblockmusic-utils": "^0.1.3", "@neteasecloudmusicapienhanced/unblockmusic-utils": "^0.1.3",
"axios": "^1.13.2", "axios": "^1.13.4",
"crypto-js": "^4.2.0", "crypto-js": "^4.2.0",
"dotenv": "^17.2.3", "dotenv": "^17.2.3",
"express": "^5.2.1", "express": "^5.2.1",
"express-fileupload": "^1.5.2", "express-fileupload": "^1.5.2",
"md5": "^2.3.0", "md5": "^2.3.0",
"music-metadata": "^11.10.4", "music-metadata": "^11.11.1",
"node-forge": "^1.3.3", "node-forge": "^1.3.3",
"pac-proxy-agent": "^7.2.0", "pac-proxy-agent": "^7.2.0",
"qrcode": "^1.5.4", "qrcode": "^1.5.4",
@ -88,14 +88,14 @@
"@types/express": "^5.0.6", "@types/express": "^5.0.6",
"@types/express-fileupload": "^1.5.1", "@types/express-fileupload": "^1.5.1",
"@types/mocha": "^10.0.10", "@types/mocha": "^10.0.10",
"@types/node": "25.0.3", "@types/node": "25.0.9",
"@typescript-eslint/eslint-plugin": "8.46.3", "@typescript-eslint/eslint-plugin": "8.46.3",
"@typescript-eslint/parser": "8.51.0", "@typescript-eslint/parser": "8.53.0",
"eslint": "9.39.0", "eslint": "9.39.0",
"eslint-config-prettier": "10.1.8", "eslint-config-prettier": "10.1.8",
"eslint-plugin-html": "8.1.3", "eslint-plugin-html": "8.1.3",
"eslint-plugin-prettier": "5.5.4", "eslint-plugin-prettier": "5.5.5",
"globals": "^16.5.0", "globals": "^17.2.0",
"husky": "9.1.7", "husky": "9.1.7",
"intelli-espower-loader": "1.1.0", "intelli-espower-loader": "1.1.0",
"lint-staged": "16.2.7", "lint-staged": "16.2.7",

257
pnpm-lock.yaml generated
View File

@ -12,8 +12,8 @@ importers:
specifier: ^0.1.3 specifier: ^0.1.3
version: 0.1.3 version: 0.1.3
axios: axios:
specifier: ^1.13.2 specifier: ^1.13.4
version: 1.13.2 version: 1.13.4
crypto-js: crypto-js:
specifier: ^4.2.0 specifier: ^4.2.0
version: 4.2.0 version: 4.2.0
@ -30,8 +30,8 @@ importers:
specifier: ^2.3.0 specifier: ^2.3.0
version: 2.3.0 version: 2.3.0
music-metadata: music-metadata:
specifier: ^11.10.4 specifier: ^11.11.1
version: 11.10.4 version: 11.11.1
node-forge: node-forge:
specifier: ^1.3.3 specifier: ^1.3.3
version: 1.3.3 version: 1.3.3
@ -70,14 +70,14 @@ importers:
specifier: ^10.0.10 specifier: ^10.0.10
version: 10.0.10 version: 10.0.10
'@types/node': '@types/node':
specifier: 25.0.3 specifier: 25.0.9
version: 25.0.3 version: 25.0.9
'@typescript-eslint/eslint-plugin': '@typescript-eslint/eslint-plugin':
specifier: 8.46.3 specifier: 8.46.3
version: 8.46.3(@typescript-eslint/parser@8.51.0(eslint@9.39.0)(typescript@5.9.3))(eslint@9.39.0)(typescript@5.9.3) version: 8.46.3(@typescript-eslint/parser@8.53.0(eslint@9.39.0)(typescript@5.9.3))(eslint@9.39.0)(typescript@5.9.3)
'@typescript-eslint/parser': '@typescript-eslint/parser':
specifier: 8.51.0 specifier: 8.53.0
version: 8.51.0(eslint@9.39.0)(typescript@5.9.3) version: 8.53.0(eslint@9.39.0)(typescript@5.9.3)
eslint: eslint:
specifier: 9.39.0 specifier: 9.39.0
version: 9.39.0 version: 9.39.0
@ -88,11 +88,11 @@ importers:
specifier: 8.1.3 specifier: 8.1.3
version: 8.1.3 version: 8.1.3
eslint-plugin-prettier: eslint-plugin-prettier:
specifier: 5.5.4 specifier: 5.5.5
version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.39.0))(eslint@9.39.0)(prettier@3.7.4) version: 5.5.5(eslint-config-prettier@10.1.8(eslint@9.39.0))(eslint@9.39.0)(prettier@3.7.4)
globals: globals:
specifier: ^16.5.0 specifier: ^17.2.0
version: 16.5.0 version: 17.2.0
husky: husky:
specifier: 9.1.7 specifier: 9.1.7
version: 9.1.7 version: 9.1.7
@ -271,8 +271,8 @@ packages:
'@types/express-fileupload@1.5.1': '@types/express-fileupload@1.5.1':
resolution: {integrity: sha512-DllImBVI1lCyjl2klky/TEwk60mbNebgXv1669h66g9TfptWSrEFq5a/raHSutaFzjSm1tmn9ypdNfu4jPSixQ==} resolution: {integrity: sha512-DllImBVI1lCyjl2klky/TEwk60mbNebgXv1669h66g9TfptWSrEFq5a/raHSutaFzjSm1tmn9ypdNfu4jPSixQ==}
'@types/express-serve-static-core@5.1.0': '@types/express-serve-static-core@5.1.1':
resolution: {integrity: sha512-jnHMsrd0Mwa9Cf4IdOzbz543y4XJepXrbia2T4b6+spXC2We3t1y6K44D3mR8XMFSXMCf3/l7rCgddfx7UNVBA==} resolution: {integrity: sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==}
'@types/express@5.0.6': '@types/express@5.0.6':
resolution: {integrity: sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==} resolution: {integrity: sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==}
@ -286,8 +286,8 @@ packages:
'@types/mocha@10.0.10': '@types/mocha@10.0.10':
resolution: {integrity: sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==} resolution: {integrity: sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==}
'@types/node@25.0.3': '@types/node@25.0.9':
resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==} resolution: {integrity: sha512-/rpCXHlCWeqClNBwUhDcusJxXYDjZTyE8v5oTO7WbL8eij2nKhUeU89/6xgjU7N4/Vh3He0BtyhJdQbDyhiXAw==}
'@types/qs@6.14.0': '@types/qs@6.14.0':
resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==}
@ -309,8 +309,8 @@ packages:
eslint: ^8.57.0 || ^9.0.0 eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0' typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/parser@8.51.0': '@typescript-eslint/parser@8.53.0':
resolution: {integrity: sha512-3xP4XzzDNQOIqBMWogftkwxhg5oMKApqY0BAflmLZiFYHqyhSOxv/cd/zPQLTcCXr4AkaKb25joocY0BD1WC6A==} resolution: {integrity: sha512-npiaib8XzbjtzS2N4HlqPvlpxpmZ14FjSJrteZpPxGUaYPlvhzlzUZ4mZyABo0EFrOWnvyd0Xxroq//hKhtAWg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies: peerDependencies:
eslint: ^8.57.0 || ^9.0.0 eslint: ^8.57.0 || ^9.0.0
@ -322,8 +322,8 @@ packages:
peerDependencies: peerDependencies:
typescript: '>=4.8.4 <6.0.0' typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/project-service@8.51.0': '@typescript-eslint/project-service@8.53.0':
resolution: {integrity: sha512-Luv/GafO07Z7HpiI7qeEW5NW8HUtZI/fo/kE0YbtQEFpJRUuR0ajcWfCE5bnMvL7QQFrmT/odMe8QZww8X2nfQ==} resolution: {integrity: sha512-Bl6Gdr7NqkqIP5yP9z1JU///Nmes4Eose6L1HwpuVHwScgDPPuEWbUVhvlZmb8hy0vX9syLk5EGNL700WcBlbg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies: peerDependencies:
typescript: '>=4.8.4 <6.0.0' typescript: '>=4.8.4 <6.0.0'
@ -332,8 +332,8 @@ packages:
resolution: {integrity: sha512-FCi7Y1zgrmxp3DfWfr+3m9ansUUFoy8dkEdeQSgA9gbm8DaHYvZCdkFRQrtKiedFf3Ha6VmoqoAaP68+i+22kg==} resolution: {integrity: sha512-FCi7Y1zgrmxp3DfWfr+3m9ansUUFoy8dkEdeQSgA9gbm8DaHYvZCdkFRQrtKiedFf3Ha6VmoqoAaP68+i+22kg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/scope-manager@8.51.0': '@typescript-eslint/scope-manager@8.53.0':
resolution: {integrity: sha512-JhhJDVwsSx4hiOEQPeajGhCWgBMBwVkxC/Pet53EpBVs7zHHtayKefw1jtPaNRXpI9RA2uocdmpdfE7T+NrizA==} resolution: {integrity: sha512-kWNj3l01eOGSdVBnfAF2K1BTh06WS0Yet6JUgb9Cmkqaz3Jlu0fdVUjj9UI8gPidBWSMqDIglmEXifSgDT/D0g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/tsconfig-utils@8.46.3': '@typescript-eslint/tsconfig-utils@8.46.3':
@ -342,8 +342,8 @@ packages:
peerDependencies: peerDependencies:
typescript: '>=4.8.4 <6.0.0' typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/tsconfig-utils@8.51.0': '@typescript-eslint/tsconfig-utils@8.53.0':
resolution: {integrity: sha512-Qi5bSy/vuHeWyir2C8u/uqGMIlIDu8fuiYWv48ZGlZ/k+PRPHtaAu7erpc7p5bzw2WNNSniuxoMSO4Ar6V9OXw==} resolution: {integrity: sha512-K6Sc0R5GIG6dNoPdOooQ+KtvT5KCKAvTcY8h2rIuul19vxH5OTQk7ArKkd4yTzkw66WnNY0kPPzzcmWA+XRmiA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies: peerDependencies:
typescript: '>=4.8.4 <6.0.0' typescript: '>=4.8.4 <6.0.0'
@ -359,8 +359,8 @@ packages:
resolution: {integrity: sha512-G7Ok9WN/ggW7e/tOf8TQYMaxgID3Iujn231hfi0Pc7ZheztIJVpO44ekY00b7akqc6nZcvregk0Jpah3kep6hA==} resolution: {integrity: sha512-G7Ok9WN/ggW7e/tOf8TQYMaxgID3Iujn231hfi0Pc7ZheztIJVpO44ekY00b7akqc6nZcvregk0Jpah3kep6hA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/types@8.51.0': '@typescript-eslint/types@8.53.0':
resolution: {integrity: sha512-TizAvWYFM6sSscmEakjY3sPqGwxZRSywSsPEiuZF6d5GmGD9Gvlsv0f6N8FvAAA0CD06l3rIcWNbsN1e5F/9Ag==} resolution: {integrity: sha512-Bmh9KX31Vlxa13+PqPvt4RzKRN1XORYSLlAE+sO1i28NkisGbTtSLFVB3l7PWdHtR3E0mVMuC7JilWJ99m2HxQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/typescript-estree@8.46.3': '@typescript-eslint/typescript-estree@8.46.3':
@ -369,8 +369,8 @@ packages:
peerDependencies: peerDependencies:
typescript: '>=4.8.4 <6.0.0' typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/typescript-estree@8.51.0': '@typescript-eslint/typescript-estree@8.53.0':
resolution: {integrity: sha512-1qNjGqFRmlq0VW5iVlcyHBbCjPB7y6SxpBkrbhNWMy/65ZoncXCEPJxkRZL8McrseNH6lFhaxCIaX+vBuFnRng==} resolution: {integrity: sha512-pw0c0Gdo7Z4xOG987u3nJ8akL9093yEEKv8QTJ+Bhkghj1xyj8cgPaavlr9rq8h7+s6plUJ4QJYw2gCZodqmGw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies: peerDependencies:
typescript: '>=4.8.4 <6.0.0' typescript: '>=4.8.4 <6.0.0'
@ -386,8 +386,8 @@ packages:
resolution: {integrity: sha512-uk574k8IU0rOF/AjniX8qbLSGURJVUCeM5e4MIMKBFFi8weeiLrG1fyQejyLXQpRZbU/1BuQasleV/RfHC3hHg==} resolution: {integrity: sha512-uk574k8IU0rOF/AjniX8qbLSGURJVUCeM5e4MIMKBFFi8weeiLrG1fyQejyLXQpRZbU/1BuQasleV/RfHC3hHg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/visitor-keys@8.51.0': '@typescript-eslint/visitor-keys@8.53.0':
resolution: {integrity: sha512-mM/JRQOzhVN1ykejrvwnBRV3+7yTKK8tVANVN3o1O0t0v7o+jqdVu9crPy5Y9dov15TJk/FTIgoUGHrTOVL3Zg==} resolution: {integrity: sha512-LZ2NqIHFhvFwxG0qZeLL9DvdNAHPGCY5dIRwBhyYeU+LfLhcStE1ImjsuTG/WaVh3XysGaeLW8Rqq7cGkPCFvw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@unblockneteasemusic/server@0.28.0': '@unblockneteasemusic/server@0.28.0':
@ -515,8 +515,8 @@ packages:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
axios@1.13.2: axios@1.13.4:
resolution: {integrity: sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==} resolution: {integrity: sha512-1wVkUaAO6WyaYtCkcYCOx12ZgpGf9Zif+qXa4n+oYzK558YryKqiL6UWwd5DqiH3VRW0GYhTZQ/vlgJrCoNQlg==}
balanced-match@1.0.2: balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
@ -539,8 +539,8 @@ packages:
resolution: {integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==} resolution: {integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
body-parser@2.2.1: body-parser@2.2.2:
resolution: {integrity: sha512-nfDwkulwiZYQIGwxdy0RUmowMhKcFVcYXUU7m4QlKYim1rUtg83xm2yjZ40QjDuc291AJjjeSc9b++AWHSgSHw==} resolution: {integrity: sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==}
engines: {node: '>=18'} engines: {node: '>=18'}
brace-expansion@1.1.12: brace-expansion@1.1.12:
@ -880,8 +880,8 @@ packages:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'} engines: {node: '>=0.12'}
entities@6.0.1: entities@7.0.1:
resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==}
engines: {node: '>=0.12'} engines: {node: '>=0.12'}
environment@1.1.0: environment@1.1.0:
@ -975,8 +975,8 @@ packages:
resolution: {integrity: sha512-cnCdO7yb/jrvgSJJAfRkGDOwLu1AOvNdw8WCD6nh/2C4RnxuI4tz6QjMEAmmSiHSeugq/fXcIO8yBpIBQrMZCg==} resolution: {integrity: sha512-cnCdO7yb/jrvgSJJAfRkGDOwLu1AOvNdw8WCD6nh/2C4RnxuI4tz6QjMEAmmSiHSeugq/fXcIO8yBpIBQrMZCg==}
engines: {node: '>=16.0.0'} engines: {node: '>=16.0.0'}
eslint-plugin-prettier@5.5.4: eslint-plugin-prettier@5.5.5:
resolution: {integrity: sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==} resolution: {integrity: sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==}
engines: {node: ^14.18.0 || >=16.0.0} engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies: peerDependencies:
'@types/eslint': '>=8.0.0' '@types/eslint': '>=8.0.0'
@ -1073,8 +1073,8 @@ packages:
event-emitter@0.3.5: event-emitter@0.3.5:
resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
eventemitter3@5.0.1: eventemitter3@5.0.4:
resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==}
expand-template@2.0.3: expand-template@2.0.3:
resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
@ -1134,8 +1134,8 @@ packages:
resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
engines: {node: '>=16.0.0'} engines: {node: '>=16.0.0'}
file-type@21.2.0: file-type@21.3.0:
resolution: {integrity: sha512-vCYBgFOrJQLoTzDyAXAL/RFfKnXXpUYt4+tipVy26nJJhT7ftgGETf2tAQF59EEL61i3MrorV/PG6tf7LJK7eg==} resolution: {integrity: sha512-8kPJMIGz1Yt/aPEwOsrR97ZyZaD1Iqm8PClb1nYFclUCkBi0Ma5IsYNQzvSFS9ib51lWyIw5mIT9rWzI/xjpzA==}
engines: {node: '>=20'} engines: {node: '>=20'}
fill-range@7.1.1: fill-range@7.1.1:
@ -1277,8 +1277,8 @@ packages:
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
engines: {node: '>=18'} engines: {node: '>=18'}
globals@16.5.0: globals@17.2.0:
resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} resolution: {integrity: sha512-tovnCz/fEq+Ripoq+p/gN1u7l6A7wwkoBT9pRCzTHzsD/LvADIzXZdjmRymh5Ztf0DYC3Rwg5cZRYjxzBmzbWg==}
engines: {node: '>=18'} engines: {node: '>=18'}
globalthis@1.0.4: globalthis@1.0.4:
@ -1338,8 +1338,8 @@ packages:
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
hasBin: true hasBin: true
htmlparser2@10.0.0: htmlparser2@10.1.0:
resolution: {integrity: sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==} resolution: {integrity: sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==}
http-errors@2.0.1: http-errors@2.0.1:
resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==}
@ -1369,8 +1369,8 @@ packages:
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
iconv-lite@0.7.1: iconv-lite@0.7.2:
resolution: {integrity: sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==} resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
ieee754@1.2.1: ieee754@1.2.1:
@ -1750,8 +1750,8 @@ packages:
multistream@4.1.0: multistream@4.1.0:
resolution: {integrity: sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==} resolution: {integrity: sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==}
music-metadata@11.10.4: music-metadata@11.11.1:
resolution: {integrity: sha512-W8ByTxUk3p2PHycZraD+XVOzho5zONRqP9XVDwK4kTDGwfDrAmsNXMxNgSii8bI/GDC86mtk5kwGh1Lv/imNlA==} resolution: {integrity: sha512-8FT+lSLznASDhn5KNJtQE6ZH95VqhxtKWNPrvdfhlqgbdZZEEAXehx+xpUvas4VuEZAu49BhQgLa3NlmPeRaww==}
engines: {node: '>=18'} engines: {node: '>=18'}
nano-spawn@2.0.0: nano-spawn@2.0.0:
@ -1779,8 +1779,8 @@ packages:
next-tick@1.1.0: next-tick@1.1.0:
resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
node-abi@3.85.0: node-abi@3.87.0:
resolution: {integrity: sha512-zsFhmbkAzwhTft6nd3VxcG0cvJsT70rL+BIGHWVq5fi6MwGrHwzqKaxXE+Hl2GmnGItnDKPPkO5/LQqjVkIdFg==} resolution: {integrity: sha512-+CGM1L1CgmtheLcBuleyYOn7NWPVu0s0EJH2C4puxgEZb9h8QpR9G2dBfZJOAUhi7VQxuBPMd0hiISWcTyiYyQ==}
engines: {node: '>=10'} engines: {node: '>=10'}
node-fetch@2.7.0: node-fetch@2.7.0:
@ -2170,8 +2170,9 @@ packages:
safer-buffer@2.1.2: safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
sax@1.4.3: sax@1.4.4:
resolution: {integrity: sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==} resolution: {integrity: sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==}
engines: {node: '>=11.0.0'}
secure-json-parse@2.7.0: secure-json-parse@2.7.0:
resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==}
@ -2335,8 +2336,8 @@ packages:
resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
engines: {node: '>=18'} engines: {node: '>=18'}
string-width@8.1.0: string-width@8.1.1:
resolution: {integrity: sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==} resolution: {integrity: sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==}
engines: {node: '>=20'} engines: {node: '>=20'}
string.prototype.trim@1.2.10: string.prototype.trim@1.2.10:
@ -2396,8 +2397,8 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
synckit@0.11.11: synckit@0.11.12:
resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==} resolution: {integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==}
engines: {node: ^14.18.0 || >=16.0.0} engines: {node: ^14.18.0 || >=16.0.0}
tar-fs@2.1.4: tar-fs@2.1.4:
@ -2561,8 +2562,8 @@ packages:
which-module@2.0.1: which-module@2.0.1:
resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
which-typed-array@1.1.19: which-typed-array@1.1.20:
resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
which@2.0.2: which@2.0.2:
@ -2570,6 +2571,9 @@ packages:
engines: {node: '>= 8'} engines: {node: '>= 8'}
hasBin: true hasBin: true
win-guid@0.2.1:
resolution: {integrity: sha512-gEIQU4mkgl2OPeoNrWflcJFJ3Ae2BPd4eCsHHA/XikslkIVms/nHhvnvzIZV7VLmBvtFlDOzLt9rrZT+n6D67A==}
word-wrap@1.2.5: word-wrap@1.2.5:
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
@ -2772,7 +2776,7 @@ snapshots:
'@neteasecloudmusicapienhanced/unblockmusic-utils@0.1.3': '@neteasecloudmusicapienhanced/unblockmusic-utils@0.1.3':
dependencies: dependencies:
'@unblockneteasemusic/server': 0.28.0 '@unblockneteasemusic/server': 0.28.0
axios: 1.13.2 axios: 1.13.4
express: 4.22.1 express: 4.22.1
https: 1.0.0 https: 1.0.0
transitivePeerDependencies: transitivePeerDependencies:
@ -2810,15 +2814,15 @@ snapshots:
'@types/body-parser@1.19.6': '@types/body-parser@1.19.6':
dependencies: dependencies:
'@types/connect': 3.4.38 '@types/connect': 3.4.38
'@types/node': 25.0.3 '@types/node': 25.0.9
'@types/busboy@1.5.4': '@types/busboy@1.5.4':
dependencies: dependencies:
'@types/node': 25.0.3 '@types/node': 25.0.9
'@types/connect@3.4.38': '@types/connect@3.4.38':
dependencies: dependencies:
'@types/node': 25.0.3 '@types/node': 25.0.9
'@types/estree@1.0.8': {} '@types/estree@1.0.8': {}
@ -2827,9 +2831,9 @@ snapshots:
'@types/busboy': 1.5.4 '@types/busboy': 1.5.4
'@types/express': 5.0.6 '@types/express': 5.0.6
'@types/express-serve-static-core@5.1.0': '@types/express-serve-static-core@5.1.1':
dependencies: dependencies:
'@types/node': 25.0.3 '@types/node': 25.0.9
'@types/qs': 6.14.0 '@types/qs': 6.14.0
'@types/range-parser': 1.2.7 '@types/range-parser': 1.2.7
'@types/send': 1.2.1 '@types/send': 1.2.1
@ -2837,7 +2841,7 @@ snapshots:
'@types/express@5.0.6': '@types/express@5.0.6':
dependencies: dependencies:
'@types/body-parser': 1.19.6 '@types/body-parser': 1.19.6
'@types/express-serve-static-core': 5.1.0 '@types/express-serve-static-core': 5.1.1
'@types/serve-static': 2.2.0 '@types/serve-static': 2.2.0
'@types/http-errors@2.0.5': {} '@types/http-errors@2.0.5': {}
@ -2846,7 +2850,7 @@ snapshots:
'@types/mocha@10.0.10': {} '@types/mocha@10.0.10': {}
'@types/node@25.0.3': '@types/node@25.0.9':
dependencies: dependencies:
undici-types: 7.16.0 undici-types: 7.16.0
@ -2856,17 +2860,17 @@ snapshots:
'@types/send@1.2.1': '@types/send@1.2.1':
dependencies: dependencies:
'@types/node': 25.0.3 '@types/node': 25.0.9
'@types/serve-static@2.2.0': '@types/serve-static@2.2.0':
dependencies: dependencies:
'@types/http-errors': 2.0.5 '@types/http-errors': 2.0.5
'@types/node': 25.0.3 '@types/node': 25.0.9
'@typescript-eslint/eslint-plugin@8.46.3(@typescript-eslint/parser@8.51.0(eslint@9.39.0)(typescript@5.9.3))(eslint@9.39.0)(typescript@5.9.3)': '@typescript-eslint/eslint-plugin@8.46.3(@typescript-eslint/parser@8.53.0(eslint@9.39.0)(typescript@5.9.3))(eslint@9.39.0)(typescript@5.9.3)':
dependencies: dependencies:
'@eslint-community/regexpp': 4.12.2 '@eslint-community/regexpp': 4.12.2
'@typescript-eslint/parser': 8.51.0(eslint@9.39.0)(typescript@5.9.3) '@typescript-eslint/parser': 8.53.0(eslint@9.39.0)(typescript@5.9.3)
'@typescript-eslint/scope-manager': 8.46.3 '@typescript-eslint/scope-manager': 8.46.3
'@typescript-eslint/type-utils': 8.46.3(eslint@9.39.0)(typescript@5.9.3) '@typescript-eslint/type-utils': 8.46.3(eslint@9.39.0)(typescript@5.9.3)
'@typescript-eslint/utils': 8.46.3(eslint@9.39.0)(typescript@5.9.3) '@typescript-eslint/utils': 8.46.3(eslint@9.39.0)(typescript@5.9.3)
@ -2880,12 +2884,12 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/parser@8.51.0(eslint@9.39.0)(typescript@5.9.3)': '@typescript-eslint/parser@8.53.0(eslint@9.39.0)(typescript@5.9.3)':
dependencies: dependencies:
'@typescript-eslint/scope-manager': 8.51.0 '@typescript-eslint/scope-manager': 8.53.0
'@typescript-eslint/types': 8.51.0 '@typescript-eslint/types': 8.53.0
'@typescript-eslint/typescript-estree': 8.51.0(typescript@5.9.3) '@typescript-eslint/typescript-estree': 8.53.0(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.51.0 '@typescript-eslint/visitor-keys': 8.53.0
debug: 4.4.3 debug: 4.4.3
eslint: 9.39.0 eslint: 9.39.0
typescript: 5.9.3 typescript: 5.9.3
@ -2894,17 +2898,17 @@ snapshots:
'@typescript-eslint/project-service@8.46.3(typescript@5.9.3)': '@typescript-eslint/project-service@8.46.3(typescript@5.9.3)':
dependencies: dependencies:
'@typescript-eslint/tsconfig-utils': 8.51.0(typescript@5.9.3) '@typescript-eslint/tsconfig-utils': 8.46.3(typescript@5.9.3)
'@typescript-eslint/types': 8.51.0 '@typescript-eslint/types': 8.46.3
debug: 4.4.3 debug: 4.4.3
typescript: 5.9.3 typescript: 5.9.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/project-service@8.51.0(typescript@5.9.3)': '@typescript-eslint/project-service@8.53.0(typescript@5.9.3)':
dependencies: dependencies:
'@typescript-eslint/tsconfig-utils': 8.51.0(typescript@5.9.3) '@typescript-eslint/tsconfig-utils': 8.53.0(typescript@5.9.3)
'@typescript-eslint/types': 8.51.0 '@typescript-eslint/types': 8.53.0
debug: 4.4.3 debug: 4.4.3
typescript: 5.9.3 typescript: 5.9.3
transitivePeerDependencies: transitivePeerDependencies:
@ -2915,16 +2919,16 @@ snapshots:
'@typescript-eslint/types': 8.46.3 '@typescript-eslint/types': 8.46.3
'@typescript-eslint/visitor-keys': 8.46.3 '@typescript-eslint/visitor-keys': 8.46.3
'@typescript-eslint/scope-manager@8.51.0': '@typescript-eslint/scope-manager@8.53.0':
dependencies: dependencies:
'@typescript-eslint/types': 8.51.0 '@typescript-eslint/types': 8.53.0
'@typescript-eslint/visitor-keys': 8.51.0 '@typescript-eslint/visitor-keys': 8.53.0
'@typescript-eslint/tsconfig-utils@8.46.3(typescript@5.9.3)': '@typescript-eslint/tsconfig-utils@8.46.3(typescript@5.9.3)':
dependencies: dependencies:
typescript: 5.9.3 typescript: 5.9.3
'@typescript-eslint/tsconfig-utils@8.51.0(typescript@5.9.3)': '@typescript-eslint/tsconfig-utils@8.53.0(typescript@5.9.3)':
dependencies: dependencies:
typescript: 5.9.3 typescript: 5.9.3
@ -2942,7 +2946,7 @@ snapshots:
'@typescript-eslint/types@8.46.3': {} '@typescript-eslint/types@8.46.3': {}
'@typescript-eslint/types@8.51.0': {} '@typescript-eslint/types@8.53.0': {}
'@typescript-eslint/typescript-estree@8.46.3(typescript@5.9.3)': '@typescript-eslint/typescript-estree@8.46.3(typescript@5.9.3)':
dependencies: dependencies:
@ -2960,12 +2964,12 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/typescript-estree@8.51.0(typescript@5.9.3)': '@typescript-eslint/typescript-estree@8.53.0(typescript@5.9.3)':
dependencies: dependencies:
'@typescript-eslint/project-service': 8.51.0(typescript@5.9.3) '@typescript-eslint/project-service': 8.53.0(typescript@5.9.3)
'@typescript-eslint/tsconfig-utils': 8.51.0(typescript@5.9.3) '@typescript-eslint/tsconfig-utils': 8.53.0(typescript@5.9.3)
'@typescript-eslint/types': 8.51.0 '@typescript-eslint/types': 8.53.0
'@typescript-eslint/visitor-keys': 8.51.0 '@typescript-eslint/visitor-keys': 8.53.0
debug: 4.4.3 debug: 4.4.3
minimatch: 9.0.5 minimatch: 9.0.5
semver: 7.7.3 semver: 7.7.3
@ -2991,9 +2995,9 @@ snapshots:
'@typescript-eslint/types': 8.46.3 '@typescript-eslint/types': 8.46.3
eslint-visitor-keys: 4.2.1 eslint-visitor-keys: 4.2.1
'@typescript-eslint/visitor-keys@8.51.0': '@typescript-eslint/visitor-keys@8.53.0':
dependencies: dependencies:
'@typescript-eslint/types': 8.51.0 '@typescript-eslint/types': 8.53.0
eslint-visitor-keys: 4.2.1 eslint-visitor-keys: 4.2.1
'@unblockneteasemusic/server@0.28.0': '@unblockneteasemusic/server@0.28.0':
@ -3110,7 +3114,7 @@ snapshots:
dependencies: dependencies:
possible-typed-array-names: 1.1.0 possible-typed-array-names: 1.1.0
axios@1.13.2: axios@1.13.4:
dependencies: dependencies:
follow-redirects: 1.15.11 follow-redirects: 1.15.11
form-data: 4.0.5 form-data: 4.0.5
@ -3149,13 +3153,13 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
body-parser@2.2.1: body-parser@2.2.2:
dependencies: dependencies:
bytes: 3.1.2 bytes: 3.1.2
content-type: 1.0.5 content-type: 1.0.5
debug: 4.4.3 debug: 4.4.3
http-errors: 2.0.1 http-errors: 2.0.1
iconv-lite: 0.7.1 iconv-lite: 0.7.2
on-finished: 2.4.1 on-finished: 2.4.1
qs: 6.14.1 qs: 6.14.1
raw-body: 3.0.2 raw-body: 3.0.2
@ -3261,7 +3265,7 @@ snapshots:
cli-truncate@5.1.1: cli-truncate@5.1.1:
dependencies: dependencies:
slice-ansi: 7.1.2 slice-ansi: 7.1.2
string-width: 8.1.0 string-width: 8.1.1
cliui@6.0.0: cliui@6.0.0:
dependencies: dependencies:
@ -3508,7 +3512,7 @@ snapshots:
entities@4.5.0: {} entities@4.5.0: {}
entities@6.0.1: {} entities@7.0.1: {}
environment@1.1.0: {} environment@1.1.0: {}
@ -3567,7 +3571,7 @@ snapshots:
typed-array-byte-offset: 1.0.4 typed-array-byte-offset: 1.0.4
typed-array-length: 1.0.7 typed-array-length: 1.0.7
unbox-primitive: 1.1.0 unbox-primitive: 1.1.0
which-typed-array: 1.1.19 which-typed-array: 1.1.20
es-define-property@1.0.1: {} es-define-property@1.0.1: {}
@ -3676,14 +3680,14 @@ snapshots:
eslint-plugin-html@8.1.3: eslint-plugin-html@8.1.3:
dependencies: dependencies:
htmlparser2: 10.0.0 htmlparser2: 10.1.0
eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.39.0))(eslint@9.39.0)(prettier@3.7.4): eslint-plugin-prettier@5.5.5(eslint-config-prettier@10.1.8(eslint@9.39.0))(eslint@9.39.0)(prettier@3.7.4):
dependencies: dependencies:
eslint: 9.39.0 eslint: 9.39.0
prettier: 3.7.4 prettier: 3.7.4
prettier-linter-helpers: 1.0.1 prettier-linter-helpers: 1.0.1
synckit: 0.11.11 synckit: 0.11.12
optionalDependencies: optionalDependencies:
eslint-config-prettier: 10.1.8(eslint@9.39.0) eslint-config-prettier: 10.1.8(eslint@9.39.0)
@ -3818,7 +3822,7 @@ snapshots:
d: 1.0.2 d: 1.0.2
es5-ext: 0.10.64 es5-ext: 0.10.64
eventemitter3@5.0.1: {} eventemitter3@5.0.4: {}
expand-template@2.0.3: {} expand-template@2.0.3: {}
@ -3865,7 +3869,7 @@ snapshots:
express@5.2.1: express@5.2.1:
dependencies: dependencies:
accepts: 2.0.0 accepts: 2.0.0
body-parser: 2.2.1 body-parser: 2.2.2
content-disposition: 1.0.1 content-disposition: 1.0.1
content-type: 1.0.5 content-type: 1.0.5
cookie: 0.7.2 cookie: 0.7.2
@ -3931,7 +3935,7 @@ snapshots:
dependencies: dependencies:
flat-cache: 4.0.1 flat-cache: 4.0.1
file-type@21.2.0: file-type@21.3.0:
dependencies: dependencies:
'@tokenizer/inflate': 0.4.1 '@tokenizer/inflate': 0.4.1
strtok3: 10.3.4 strtok3: 10.3.4
@ -4102,7 +4106,7 @@ snapshots:
globals@14.0.0: {} globals@14.0.0: {}
globals@16.5.0: {} globals@17.2.0: {}
globalthis@1.0.4: globalthis@1.0.4:
dependencies: dependencies:
@ -4152,12 +4156,12 @@ snapshots:
he@1.2.0: {} he@1.2.0: {}
htmlparser2@10.0.0: htmlparser2@10.1.0:
dependencies: dependencies:
domelementtype: 2.3.0 domelementtype: 2.3.0
domhandler: 5.0.3 domhandler: 5.0.3
domutils: 3.2.2 domutils: 3.2.2
entities: 6.0.1 entities: 7.0.1
http-errors@2.0.1: http-errors@2.0.1:
dependencies: dependencies:
@ -4196,7 +4200,7 @@ snapshots:
dependencies: dependencies:
safer-buffer: 2.1.2 safer-buffer: 2.1.2
iconv-lite@0.7.1: iconv-lite@0.7.2:
dependencies: dependencies:
safer-buffer: 2.1.2 safer-buffer: 2.1.2
@ -4362,7 +4366,7 @@ snapshots:
is-typed-array@1.1.15: is-typed-array@1.1.15:
dependencies: dependencies:
which-typed-array: 1.1.19 which-typed-array: 1.1.20
is-unicode-supported@0.1.0: {} is-unicode-supported@0.1.0: {}
@ -4441,7 +4445,7 @@ snapshots:
dependencies: dependencies:
cli-truncate: 5.1.1 cli-truncate: 5.1.1
colorette: 2.0.20 colorette: 2.0.20
eventemitter3: 5.0.1 eventemitter3: 5.0.4
log-update: 6.1.0 log-update: 6.1.0
rfdc: 1.4.1 rfdc: 1.4.1
wrap-ansi: 9.0.2 wrap-ansi: 9.0.2
@ -4571,17 +4575,18 @@ snapshots:
once: 1.4.0 once: 1.4.0
readable-stream: 3.6.2 readable-stream: 3.6.2
music-metadata@11.10.4: music-metadata@11.11.1:
dependencies: dependencies:
'@borewit/text-codec': 0.2.1 '@borewit/text-codec': 0.2.1
'@tokenizer/token': 0.3.0 '@tokenizer/token': 0.3.0
content-type: 1.0.5 content-type: 1.0.5
debug: 4.4.3 debug: 4.4.3
file-type: 21.2.0 file-type: 21.3.0
media-typer: 1.1.0 media-typer: 1.1.0
strtok3: 10.3.4 strtok3: 10.3.4
token-types: 6.1.2 token-types: 6.1.2
uint8array-extras: 1.5.0 uint8array-extras: 1.5.0
win-guid: 0.2.1
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -4599,7 +4604,7 @@ snapshots:
next-tick@1.1.0: {} next-tick@1.1.0: {}
node-abi@3.85.0: node-abi@3.87.0:
dependencies: dependencies:
semver: 7.7.3 semver: 7.7.3
@ -4903,7 +4908,7 @@ snapshots:
minimist: 1.2.8 minimist: 1.2.8
mkdirp-classic: 0.5.3 mkdirp-classic: 0.5.3
napi-build-utils: 1.0.2 napi-build-utils: 1.0.2
node-abi: 3.85.0 node-abi: 3.87.0
pump: 3.0.3 pump: 3.0.3
rc: 1.2.8 rc: 1.2.8
simple-get: 4.0.1 simple-get: 4.0.1
@ -4973,7 +4978,7 @@ snapshots:
dependencies: dependencies:
bytes: 3.1.2 bytes: 3.1.2
http-errors: 2.0.1 http-errors: 2.0.1
iconv-lite: 0.7.1 iconv-lite: 0.7.2
unpipe: 1.0.0 unpipe: 1.0.0
rc@1.2.8: rc@1.2.8:
@ -5087,7 +5092,7 @@ snapshots:
safer-buffer@2.1.2: {} safer-buffer@2.1.2: {}
sax@1.4.3: {} sax@1.4.4: {}
secure-json-parse@2.7.0: {} secure-json-parse@2.7.0: {}
@ -5304,7 +5309,7 @@ snapshots:
get-east-asian-width: 1.4.0 get-east-asian-width: 1.4.0
strip-ansi: 7.1.2 strip-ansi: 7.1.2
string-width@8.1.0: string-width@8.1.1:
dependencies: dependencies:
get-east-asian-width: 1.4.0 get-east-asian-width: 1.4.0
strip-ansi: 7.1.2 strip-ansi: 7.1.2
@ -5376,7 +5381,7 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {} supports-preserve-symlinks-flag@1.0.0: {}
synckit@0.11.11: synckit@0.11.12:
dependencies: dependencies:
'@pkgr/core': 0.2.9 '@pkgr/core': 0.2.9
@ -5422,7 +5427,7 @@ snapshots:
dependencies: dependencies:
gopd: 1.2.0 gopd: 1.2.0
typedarray.prototype.slice: 1.0.5 typedarray.prototype.slice: 1.0.5
which-typed-array: 1.1.19 which-typed-array: 1.1.20
ts-api-utils@2.4.0(typescript@5.9.3): ts-api-utils@2.4.0(typescript@5.9.3):
dependencies: dependencies:
@ -5567,7 +5572,7 @@ snapshots:
isarray: 2.0.5 isarray: 2.0.5
which-boxed-primitive: 1.1.1 which-boxed-primitive: 1.1.1
which-collection: 1.0.2 which-collection: 1.0.2
which-typed-array: 1.1.19 which-typed-array: 1.1.20
which-collection@1.0.2: which-collection@1.0.2:
dependencies: dependencies:
@ -5578,7 +5583,7 @@ snapshots:
which-module@2.0.1: {} which-module@2.0.1: {}
which-typed-array@1.1.19: which-typed-array@1.1.20:
dependencies: dependencies:
available-typed-arrays: 1.0.7 available-typed-arrays: 1.0.7
call-bind: 1.0.8 call-bind: 1.0.8
@ -5592,6 +5597,8 @@ snapshots:
dependencies: dependencies:
isexe: 2.0.0 isexe: 2.0.0
win-guid@0.2.1: {}
word-wrap@1.2.5: {} word-wrap@1.2.5: {}
workerpool@9.3.4: {} workerpool@9.3.4: {}
@ -5624,7 +5631,7 @@ snapshots:
xml2js@0.6.2: xml2js@0.6.2:
dependencies: dependencies:
sax: 1.4.3 sax: 1.4.4
xmlbuilder: 11.0.1 xmlbuilder: 11.0.1
xml@1.0.1: {} xml@1.0.1: {}

View File

@ -20,7 +20,6 @@
<script src="https://fastly.jsdelivr.net/npm/axios@0.26.1/dist/axios.min.js"></script> <script src="https://fastly.jsdelivr.net/npm/axios@0.26.1/dist/axios.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/vue"></script> <script src="https://fastly.jsdelivr.net/npm/vue"></script>
<script> <script>
const logger = require('../util/logger.js')
const app = Vue.createApp({ const app = Vue.createApp({
data() { data() {
return { return {
@ -32,14 +31,14 @@
}, },
methods: { methods: {
getData() { getData() {
logger.info('getdata') console.info('getdata')
const _this = this const _this = this
axios({ axios({
url: `/user/cloud?time=${Date.now()}&cookie=${localStorage.getItem( url: `/user/cloud?time=${Date.now()}&cookie=${localStorage.getItem(
'cookie', 'cookie',
)}`, )}`,
}).then((res) => { }).then((res) => {
logger.info(res.data) console.info(res.data)
_this.songs = res.data.data _this.songs = res.data.data
}) })
}, },
@ -52,7 +51,7 @@
document document
.querySelector('input[type="file"]') .querySelector('input[type="file"]')
.addEventListener('change', function (e) { .addEventListener('change', function (e) {
logger.info(this.files) console.info(this.files)
let currentIndx = 0 let currentIndx = 0
fileLength = this.files.length fileLength = this.files.length
for (const item of this.files) { for (const item of this.files) {
@ -77,15 +76,15 @@
data: formData, data: formData,
}) })
.then((res) => { .then((res) => {
logger.info(`${file.name} 上传成功`) console.info(`${file.name} 上传成功`)
if (currentIndx >= fileLength) { if (currentIndx >= fileLength) {
logger.info('上传完毕') console.info('上传完毕')
} }
app.getData() app.getData()
}) })
.catch(async (err) => { .catch(async (err) => {
logger.info(err) console.info(err)
logger.info(fileUpdateTime) console.info(fileUpdateTime)
fileUpdateTime[file.name] fileUpdateTime[file.name]
? (fileUpdateTime[file.name] += 1) ? (fileUpdateTime[file.name] += 1)
: (fileUpdateTime[file.name] = 1) : (fileUpdateTime[file.name] = 1)

View File

@ -12,7 +12,6 @@
</div> </div>
<script src="https://fastly.jsdelivr.net/npm/axios@0.26.1/dist/axios.min.js"></script> <script src="https://fastly.jsdelivr.net/npm/axios@0.26.1/dist/axios.min.js"></script>
<script> <script>
const logger = require('../util/logger.js')
async function main() { async function main() {
const res = await axios({ const res = await axios({
url: `/homepage/block/page`, url: `/homepage/block/page`,
@ -22,7 +21,7 @@
method: 'post', method: 'post',
}) })
let cursor = '' let cursor = ''
logger.info(res.data.data) console.info(res.data.data)
if (res.data.data.hasMore) { if (res.data.data.hasMore) {
cursor = res.data.data.cursor cursor = res.data.data.cursor
const res2 = await axios({ const res2 = await axios({

View File

@ -88,7 +88,6 @@
</details> </details>
</body> </body>
<script> <script>
const logger = require('../util/logger.js')
PetiteVue.createApp({ PetiteVue.createApp({
message: '请点击获取登录状态', message: '请点击获取登录状态',
account: { account: {
@ -140,7 +139,7 @@
cookie: localStorage.getItem('cookie'), cookie: localStorage.getItem('cookie'),
}, },
}) })
logger.info(res) console.info(res)
if (res.data.code != 200) { if (res.data.code != 200) {
this.message = '加入房间出现问题: ' + res.data.message this.message = '加入房间出现问题: ' + res.data.message
} else { } else {
@ -153,7 +152,7 @@
cookie: localStorage.getItem('cookie'), cookie: localStorage.getItem('cookie'),
}, },
}) })
logger.info(res2) console.info(res2)
const res3 = await axios({ const res3 = await axios({
url: 'listentogether/sync/playlist/get', url: 'listentogether/sync/playlist/get',
method: 'post', method: 'post',
@ -174,7 +173,7 @@
cookie: localStorage.getItem('cookie'), cookie: localStorage.getItem('cookie'),
}, },
}) })
logger.info(resa) console.info(resa)
this.playlistInfo.playlistTracks = resa.data.songs this.playlistInfo.playlistTracks = resa.data.songs
} }
}, },
@ -186,7 +185,7 @@
cookie: localStorage.getItem('cookie'), cookie: localStorage.getItem('cookie'),
}, },
}) })
logger.info(res) console.info(res)
if (res.data.code != 200) { if (res.data.code != 200) {
this.message = '创建房间出现问题: ' + res.data.message this.message = '创建房间出现问题: ' + res.data.message
} else { } else {
@ -201,7 +200,7 @@
cookie: localStorage.getItem('cookie'), cookie: localStorage.getItem('cookie'),
}, },
}) })
logger.info(res2) console.info(res2)
} }
}, },
refreshRoom: async function () { refreshRoom: async function () {
@ -211,7 +210,7 @@
cookie: localStorage.getItem('cookie'), cookie: localStorage.getItem('cookie'),
}, },
}) })
logger.info(res) console.info(res)
if (res.data.code != 200 || !res.data.data.inRoom) { if (res.data.code != 200 || !res.data.data.inRoom) {
this.message = '房间状态获取失败, 可能退出了房间' this.message = '房间状态获取失败, 可能退出了房间'
} else { } else {
@ -227,7 +226,7 @@
cookie: localStorage.getItem('cookie'), cookie: localStorage.getItem('cookie'),
}, },
}) })
logger.info(res) console.info(res)
if (res.data.code != 200 || !res.data.data.success) { if (res.data.code != 200 || !res.data.data.success) {
this.message = '房间关闭失败' this.message = '房间关闭失败'
} else { } else {
@ -244,7 +243,7 @@
cookie: localStorage.getItem('cookie'), cookie: localStorage.getItem('cookie'),
}, },
}) })
logger.info(res) console.info(res)
this.playlistInfo.playlistName = res.data.playlist.name this.playlistInfo.playlistName = res.data.playlist.name
this.playlistInfo.playlistTrackIds = res.data.playlist.trackIds this.playlistInfo.playlistTrackIds = res.data.playlist.trackIds
.map((track) => track.id) .map((track) => track.id)
@ -257,7 +256,7 @@
cookie: localStorage.getItem('cookie'), cookie: localStorage.getItem('cookie'),
}, },
}) })
logger.info(resa) console.info(resa)
this.playlistInfo.playlistTracks = resa.data.songs this.playlistInfo.playlistTracks = resa.data.songs
if (this.roomInfo.roomId) { if (this.roomInfo.roomId) {
const resb = await axios({ const resb = await axios({
@ -274,7 +273,7 @@
cookie: localStorage.getItem('cookie'), cookie: localStorage.getItem('cookie'),
}, },
}) })
logger.info(resb) console.info(resb)
} }
}, },
gotoTrack: async function (trackId) { gotoTrack: async function (trackId) {
@ -317,7 +316,7 @@
cookie: localStorage.getItem('cookie'), cookie: localStorage.getItem('cookie'),
}, },
}) })
logger.info(res) console.info(res)
}, },
}).mount() }).mount()
</script> </script>

View File

@ -35,7 +35,6 @@
<script src="https://fastly.jsdelivr.net/npm/axios@0.26.1/dist/axios.min.js"></script> <script src="https://fastly.jsdelivr.net/npm/axios@0.26.1/dist/axios.min.js"></script>
<script src="https://fastly.jsdelivr.net/npm/vue"></script> <script src="https://fastly.jsdelivr.net/npm/vue"></script>
<script> <script>
const logger = require('../util/logger.js')
Vue.createApp({ Vue.createApp({
data() { data() {
return { return {
@ -62,7 +61,7 @@
}, },
methods: { methods: {
submit() { submit() {
logger.info('submit') console.info('submit')
const file = document.querySelector('input[type=file]').files[0] const file = document.querySelector('input[type=file]').files[0]
this.upload(file) this.upload(file)
}, },
@ -72,14 +71,14 @@
url: `/voicelist/search?cookie=${localStorage.getItem('cookie')}`, url: `/voicelist/search?cookie=${localStorage.getItem('cookie')}`,
}) })
logger.info(res.data.data) console.info(res.data.data)
this.voicelist = res.data.data.list this.voicelist = res.data.data.list
this.voicelist.map(async (i) => { this.voicelist.map(async (i) => {
const res2 = await axios({ const res2 = await axios({
url: `/voicelist/list?voiceListId=${i.voiceListId}&limit=5`, url: `/voicelist/list?voiceListId=${i.voiceListId}&limit=5`,
}) })
i.voiceListData = res2.data.data.list i.voiceListData = res2.data.data.list
logger.info(res2) console.info(res2)
}) })
}, },
upload(file) { upload(file) {
@ -104,11 +103,11 @@
.then((res) => { .then((res) => {
alert(`${file.name} 上传成功`) alert(`${file.name} 上传成功`)
if (currentIndx >= fileLength) { if (currentIndx >= fileLength) {
logger.info('上传完毕') console.info('上传完毕')
} }
}) })
.catch(async (err) => { .catch(async (err) => {
logger.info(err) console.info(err)
}) })
}, },
}, },

View File

@ -9,9 +9,9 @@ class AdvancedClientSignGenerator {
try { try {
const interfaces = os.networkInterfaces() const interfaces = os.networkInterfaces()
for (let interfaceName in interfaces) { for (let interfaceName in interfaces) {
const networkInterface = interfaces[interfaceName] const interfaceItem = interfaces[interfaceName]
for (let i = 0; i < networkInterface.length; i++) { for (let i = 0; i < interfaceItem.length; i++) {
const alias = networkInterface[i] const alias = interfaceItem[i]
// 排除内部地址和无效地址 // 排除内部地址和无效地址
if ( if (
alias.mac && alias.mac &&