Compare commits

..

13 Commits

Author SHA1 Message Date
dependabot[bot]
6613fbf50d
chore(packages): bump @types/node from 24.10.0 to 24.10.1 (#57)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-03 01:50:08 +08:00
dependabot[bot]
c8493b93ad
chore(packages): bump @typescript-eslint/parser from 8.46.3 to 8.48.0 (#67)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-03 01:49:49 +08:00
dependabot[bot]
b93578a879
chore(packages): bump prettier from 3.6.2 to 3.7.3 (#66)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-03 01:47:59 +08:00
dependabot[bot]
de54c7fe97
chore(packages): bump @typescript-eslint/eslint-plugin (#59)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-03 01:47:38 +08:00
2e707e2f5e
Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/lint-staged-16.2.7' 2026-01-03 01:43:23 +08:00
2994e2fadd
Merge remote-tracking branch 'origin/dependabot/github_actions/peter-evans/create-or-update-comment-5' 2026-01-03 01:43:15 +08:00
eb08ed4ba3
Merge remote-tracking branch 'origin/dependabot/github_actions/actions/stale-10' 2026-01-03 01:43:09 +08:00
d5fedb5c54
Merge remote-tracking branch 'origin/dependabot/github_actions/actions/checkout-6' 2026-01-03 01:43:02 +08:00
f2f78b2774
fix(workflows): update branch references and remove unused push triggers
feat: enhance eapi_decrypt.html with styled decode result display

fix: update qrlogin and qrlogin-nocookie to include platform parameter in QR code creation URL

chore: bump music-metadata and other dependencies in package.json and pnpm-lock.yaml

docs: update README with important project usage notes
2026-01-03 01:36:21 +08:00
dependabot[bot]
871414f2e6
chore(deps): bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-26 11:55:00 +00:00
dependabot[bot]
c8fba0f7d1
chore(deps): bump actions/stale from 8 to 10
Bumps [actions/stale](https://github.com/actions/stale) from 8 to 10.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v8...v10)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-version: '10'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-01 15:08:15 +00:00
dependabot[bot]
546a84b1b8
chore(deps): bump peter-evans/create-or-update-comment from 4 to 5
Bumps [peter-evans/create-or-update-comment](https://github.com/peter-evans/create-or-update-comment) from 4 to 5.
- [Release notes](https://github.com/peter-evans/create-or-update-comment/releases)
- [Commits](https://github.com/peter-evans/create-or-update-comment/compare/v4...v5)

---
updated-dependencies:
- dependency-name: peter-evans/create-or-update-comment
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-01 15:08:11 +00:00
dependabot[bot]
4af8323694
chore(packages): bump lint-staged from 16.2.6 to 16.2.7
Bumps [lint-staged](https://github.com/lint-staged/lint-staged) from 16.2.6 to 16.2.7.
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lint-staged/lint-staged/compare/v16.2.6...v16.2.7)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-version: 16.2.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 14:15:19 +00:00
10 changed files with 231 additions and 193 deletions

View File

@ -2,7 +2,7 @@ name: Publish Docker image
on: on:
push: push:
branches: [main, master] branches: [main]
tags: ['v*'] tags: ['v*']
workflow_dispatch: workflow_dispatch:
@ -16,7 +16,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v5 uses: actions/checkout@v6
# 读取 package.json 的版本号 # 读取 package.json 的版本号
- name: Read package version - name: Read package version

View File

@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Welcome new issue - name: Welcome new issue
uses: peter-evans/create-or-update-comment@v4 uses: peter-evans/create-or-update-comment@v5
with: with:
issue-number: ${{ github.event.issue.number }} issue-number: ${{ github.event.issue.number }}
body: | body: |
@ -35,7 +35,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Add help resources - name: Add help resources
uses: peter-evans/create-or-update-comment@v4 uses: peter-evans/create-or-update-comment@v5
with: with:
issue-number: ${{ github.event.issue.number }} issue-number: ${{ github.event.issue.number }}
body: | body: |
@ -61,7 +61,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Mark stale issues - name: Mark stale issues
uses: actions/stale@v8 uses: actions/stale@v10
with: with:
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: | stale-issue-message: |

View File

@ -2,11 +2,6 @@
name: Release name: Release
on: on:
push:
branches:
- main
tags:
- 'v*.*.*'
workflow_dispatch: workflow_dispatch:
jobs: jobs:
@ -16,7 +11,7 @@ jobs:
contents: read contents: read
packages: write packages: write
steps: steps:
- uses: actions/checkout@v5 - uses: actions/checkout@v6
# 发布到 NPM Registry # 发布到 NPM Registry
- name: Setup Node.js for NPM - name: Setup Node.js for NPM

View File

@ -17,7 +17,7 @@ jobs:
steps: steps:
# Step 1: run a standard checkout action # Step 1: run a standard checkout action
- name: Checkout target repo - name: Checkout target repo
uses: actions/checkout@v5 uses: actions/checkout@v6
# Step 2: run the sync action # Step 2: run the sync action
- name: Sync upstream changes - name: Sync upstream changes

View File

@ -6,6 +6,15 @@
本项目为网易云音乐第三方 Node.js API基于停更的原版 API 持续维护,支持丰富的音乐相关接口,适合自建服务、二次开发和多平台部署(如果原版诈尸, 我会及时同步 or 归档)。 本项目为网易云音乐第三方 Node.js API基于停更的原版 API 持续维护,支持丰富的音乐相关接口,适合自建服务、二次开发和多平台部署(如果原版诈尸, 我会及时同步 or 归档)。
> [!IMPORTANT]
>
> ## 注意
>
> - 本项目是一个高度去中心化的第三方 API其维护都由社区志愿者使用`Pull Request`完成。
> - 使用本项目时请务必遵守相关法律法规,遵守`MIT`协议, 尊重网易云音乐的服务条款。
> - 原作者项目 [Binaryify/NeteaseCloudMusicApi](https://github.com/binaryify/NeteaseCloudMusicApi) 并非完全停止维护, 你可以在 [NeteaseCloudMusicApi 的 NPMJS 页面](https://www.npmjs.com/package/NeteaseCloudMusicApi) 查看最新版本信息。
> - 感谢尊重和理解!
## 快速开始 ## 快速开始
### 环境要求 ### 环境要求

View File

@ -73,7 +73,7 @@
"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.3", "music-metadata": "^11.10.4",
"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,9 +88,9 @@
"@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": "24.10.0", "@types/node": "25.0.3",
"@typescript-eslint/eslint-plugin": "8.46.2", "@typescript-eslint/eslint-plugin": "8.46.3",
"@typescript-eslint/parser": "8.46.3", "@typescript-eslint/parser": "8.51.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",
@ -98,12 +98,12 @@
"globals": "^16.5.0", "globals": "^16.5.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.6", "lint-staged": "16.2.7",
"mocha": "11.7.5", "mocha": "11.7.5",
"nodemon": "^3.1.11", "nodemon": "^3.1.11",
"pkg": "^5.8.1", "pkg": "^5.8.1",
"power-assert": "1.6.1", "power-assert": "1.6.1",
"prettier": "3.6.2", "prettier": "3.7.4",
"typescript": "5.9.3" "typescript": "5.9.3"
} }
} }

360
pnpm-lock.yaml generated
View File

@ -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.3 specifier: ^11.10.4
version: 11.10.3 version: 11.10.4
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: 24.10.0 specifier: 25.0.3
version: 24.10.0 version: 25.0.3
'@typescript-eslint/eslint-plugin': '@typescript-eslint/eslint-plugin':
specifier: 8.46.2
version: 8.46.2(@typescript-eslint/parser@8.46.3(eslint@9.39.0)(typescript@5.9.3))(eslint@9.39.0)(typescript@5.9.3)
'@typescript-eslint/parser':
specifier: 8.46.3 specifier: 8.46.3
version: 8.46.3(eslint@9.39.0)(typescript@5.9.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)
'@typescript-eslint/parser':
specifier: 8.51.0
version: 8.51.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
@ -89,7 +89,7 @@ importers:
version: 8.1.3 version: 8.1.3
eslint-plugin-prettier: eslint-plugin-prettier:
specifier: 5.5.4 specifier: 5.5.4
version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.39.0))(eslint@9.39.0)(prettier@3.6.2) version: 5.5.4(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: ^16.5.0
version: 16.5.0 version: 16.5.0
@ -100,8 +100,8 @@ importers:
specifier: 1.1.0 specifier: 1.1.0
version: 1.1.0 version: 1.1.0
lint-staged: lint-staged:
specifier: 16.2.6 specifier: 16.2.7
version: 16.2.6 version: 16.2.7
mocha: mocha:
specifier: 11.7.5 specifier: 11.7.5
version: 11.7.5 version: 11.7.5
@ -115,8 +115,8 @@ importers:
specifier: 1.6.1 specifier: 1.6.1
version: 1.6.1 version: 1.6.1
prettier: prettier:
specifier: 3.6.2 specifier: 3.7.4
version: 3.6.2 version: 3.7.4
typescript: typescript:
specifier: 5.9.3 specifier: 5.9.3
version: 5.9.3 version: 5.9.3
@ -144,14 +144,11 @@ packages:
resolution: {integrity: sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==} resolution: {integrity: sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
'@borewit/text-codec@0.1.1': '@borewit/text-codec@0.2.1':
resolution: {integrity: sha512-5L/uBxmjaCIX5h8Z+uu+kA9BQLkc/Wl06UGR5ajNRxu+/XjonB5i8JpgFMrPj3LXTCPA0pv8yxUvbUi+QthGGA==} resolution: {integrity: sha512-k7vvKPbf7J2fZ5klGRD9AeKfUvojuZIQ3BT5u7Jfv+puwXkUBUT5PVyMDfJZpy30CBDXGMgw7fguK/lpOMBvgw==}
'@borewit/text-codec@0.2.0': '@eslint-community/eslint-utils@4.9.1':
resolution: {integrity: sha512-X999CKBxGwX8wW+4gFibsbiNdwqmdQEXmUejIWaIqdrHBgS5ARIOOeyiQbHjP9G58xVEPcuvP6VwwH3A0OFTOA==} resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==}
'@eslint-community/eslint-utils@4.9.0':
resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
@ -289,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@24.10.0': '@types/node@25.0.3':
resolution: {integrity: sha512-qzQZRBqkFsYyaSWXuEHc2WR9c0a0CXwiE5FWUvn7ZM+vdy1uZLfCunD38UzhuB7YN/J11ndbDBcTmOdxJo9Q7A==} resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==}
'@types/qs@6.14.0': '@types/qs@6.14.0':
resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==}
@ -304,46 +301,40 @@ packages:
'@types/serve-static@2.2.0': '@types/serve-static@2.2.0':
resolution: {integrity: sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==} resolution: {integrity: sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==}
'@typescript-eslint/eslint-plugin@8.46.2': '@typescript-eslint/eslint-plugin@8.46.3':
resolution: {integrity: sha512-ZGBMToy857/NIPaaCucIUQgqueOiq7HeAKkhlvqVV4lm089zUFW6ikRySx2v+cAhKeUCPuWVHeimyk6Dw1iY3w==} resolution: {integrity: sha512-sbaQ27XBUopBkRiuY/P9sWGOWUW4rl8fDoHIUmLpZd8uldsTyB4/Zg6bWTegPoTLnKj9Hqgn3QD6cjPNB32Odw==}
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-eslint/parser': ^8.46.2 '@typescript-eslint/parser': ^8.46.3
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.46.3': '@typescript-eslint/parser@8.51.0':
resolution: {integrity: sha512-6m1I5RmHBGTnUGS113G04DMu3CpSdxCAU/UvtjNWL4Nuf3MW9tQhiJqRlHzChIkhy6kZSAQmc+I1bcGjE3yNKg==} resolution: {integrity: sha512-3xP4XzzDNQOIqBMWogftkwxhg5oMKApqY0BAflmLZiFYHqyhSOxv/cd/zPQLTcCXr4AkaKb25joocY0BD1WC6A==}
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
typescript: '>=4.8.4 <6.0.0' typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/project-service@8.46.2':
resolution: {integrity: sha512-PULOLZ9iqwI7hXcmL4fVfIsBi6AN9YxRc0frbvmg8f+4hQAjQ5GYNKK0DIArNo+rOKmR/iBYwkpBmnIwin4wBg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/project-service@8.46.3': '@typescript-eslint/project-service@8.46.3':
resolution: {integrity: sha512-Fz8yFXsp2wDFeUElO88S9n4w1I4CWDTXDqDr9gYvZgUpwXQqmZBr9+NTTql5R3J7+hrJZPdpiWaB9VNhAKYLuQ==} resolution: {integrity: sha512-Fz8yFXsp2wDFeUElO88S9n4w1I4CWDTXDqDr9gYvZgUpwXQqmZBr9+NTTql5R3J7+hrJZPdpiWaB9VNhAKYLuQ==}
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'
'@typescript-eslint/scope-manager@8.46.2': '@typescript-eslint/project-service@8.51.0':
resolution: {integrity: sha512-LF4b/NmGvdWEHD2H4MsHD8ny6JpiVNDzrSZr3CsckEgCbAGZbYM4Cqxvi9L+WqDMT+51Ozy7lt2M+d0JLEuBqA==} resolution: {integrity: sha512-Luv/GafO07Z7HpiI7qeEW5NW8HUtZI/fo/kE0YbtQEFpJRUuR0ajcWfCE5bnMvL7QQFrmT/odMe8QZww8X2nfQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/scope-manager@8.46.3': '@typescript-eslint/scope-manager@8.46.3':
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/tsconfig-utils@8.46.2': '@typescript-eslint/scope-manager@8.51.0':
resolution: {integrity: sha512-a7QH6fw4S57+F5y2FIxxSDyi5M4UfGF+Jl1bCGd7+L4KsaUY80GsiF/t0UoRFDHAguKlBaACWJRmdrc6Xfkkag==} resolution: {integrity: sha512-JhhJDVwsSx4hiOEQPeajGhCWgBMBwVkxC/Pet53EpBVs7zHHtayKefw1jtPaNRXpI9RA2uocdmpdfE7T+NrizA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/tsconfig-utils@8.46.3': '@typescript-eslint/tsconfig-utils@8.46.3':
resolution: {integrity: sha512-GLupljMniHNIROP0zE7nCcybptolcH8QZfXOpCfhQDAdwJ/ZTlcaBOYebSOZotpti/3HrHSw7D3PZm75gYFsOA==} resolution: {integrity: sha512-GLupljMniHNIROP0zE7nCcybptolcH8QZfXOpCfhQDAdwJ/ZTlcaBOYebSOZotpti/3HrHSw7D3PZm75gYFsOA==}
@ -351,26 +342,26 @@ packages:
peerDependencies: peerDependencies:
typescript: '>=4.8.4 <6.0.0' typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/type-utils@8.46.2': '@typescript-eslint/tsconfig-utils@8.51.0':
resolution: {integrity: sha512-HbPM4LbaAAt/DjxXaG9yiS9brOOz6fabal4uvUmaUYe6l3K1phQDMQKBRUrr06BQkxkvIZVVHttqiybM9nJsLA==} resolution: {integrity: sha512-Qi5bSy/vuHeWyir2C8u/uqGMIlIDu8fuiYWv48ZGlZ/k+PRPHtaAu7erpc7p5bzw2WNNSniuxoMSO4Ar6V9OXw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/type-utils@8.46.3':
resolution: {integrity: sha512-ZPCADbr+qfz3aiTTYNNkCbUt+cjNwI/5McyANNrFBpVxPt7GqpEYz5ZfdwuFyGUnJ9FdDXbGODUu6iRCI6XRXw==}
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
typescript: '>=4.8.4 <6.0.0' typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/types@8.46.2':
resolution: {integrity: sha512-lNCWCbq7rpg7qDsQrd3D6NyWYu+gkTENkG5IKYhUIcxSb59SQC/hEQ+MrG4sTgBVghTonNWq42bA/d4yYumldQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/types@8.46.3': '@typescript-eslint/types@8.46.3':
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/typescript-estree@8.46.2': '@typescript-eslint/types@8.51.0':
resolution: {integrity: sha512-f7rW7LJ2b7Uh2EiQ+7sza6RDZnajbNbemn54Ob6fRwQbgcIn+GWfyuHDHRYgRoZu1P4AayVScrRW+YfbTvPQoQ==} resolution: {integrity: sha512-TizAvWYFM6sSscmEakjY3sPqGwxZRSywSsPEiuZF6d5GmGD9Gvlsv0f6N8FvAAA0CD06l3rIcWNbsN1e5F/9Ag==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/typescript-estree@8.46.3': '@typescript-eslint/typescript-estree@8.46.3':
resolution: {integrity: sha512-f/NvtRjOm80BtNM5OQtlaBdM5BRFUv7gf381j9wygDNL+qOYSNOgtQ/DCndiYi80iIOv76QqaTmp4fa9hwI0OA==} resolution: {integrity: sha512-f/NvtRjOm80BtNM5OQtlaBdM5BRFUv7gf381j9wygDNL+qOYSNOgtQ/DCndiYi80iIOv76QqaTmp4fa9hwI0OA==}
@ -378,21 +369,27 @@ packages:
peerDependencies: peerDependencies:
typescript: '>=4.8.4 <6.0.0' typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/utils@8.46.2': '@typescript-eslint/typescript-estree@8.51.0':
resolution: {integrity: sha512-sExxzucx0Tud5tE0XqR0lT0psBQvEpnpiul9XbGUB1QwpWJJAps1O/Z7hJxLGiZLBKMCutjTzDgmd1muEhBnVg==} resolution: {integrity: sha512-1qNjGqFRmlq0VW5iVlcyHBbCjPB7y6SxpBkrbhNWMy/65ZoncXCEPJxkRZL8McrseNH6lFhaxCIaX+vBuFnRng==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/utils@8.46.3':
resolution: {integrity: sha512-VXw7qmdkucEx9WkmR3ld/u6VhRyKeiF1uxWwCy/iuNfokjJ7VhsgLSOTjsol8BunSw190zABzpwdNsze2Kpo4g==}
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
typescript: '>=4.8.4 <6.0.0' typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/visitor-keys@8.46.2':
resolution: {integrity: sha512-tUFMXI4gxzzMXt4xpGJEsBsTox0XbNQ1y94EwlD/CuZwFcQP79xfQqMhau9HsRc/J0cAPA/HZt1dZPtGn9V/7w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/visitor-keys@8.46.3': '@typescript-eslint/visitor-keys@8.46.3':
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':
resolution: {integrity: sha512-mM/JRQOzhVN1ykejrvwnBRV3+7yTKK8tVANVN3o1O0t0v7o+jqdVu9crPy5Y9dov15TJk/FTIgoUGHrTOVL3Zg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@unblockneteasemusic/server@0.28.0': '@unblockneteasemusic/server@0.28.0':
resolution: {integrity: sha512-FLXNEMc9ItoAhhhemxKJzpJ+9DkWsfnxE5PYTCIzqZarYVUCxeKKEf0CwGeUeIW35z1Ekl0wFU4l10RDWVCr4A==} resolution: {integrity: sha512-FLXNEMc9ItoAhhhemxKJzpJ+9DkWsfnxE5PYTCIzqZarYVUCxeKKEf0CwGeUeIW35z1Ekl0wFU4l10RDWVCr4A==}
engines: {node: '>= 12'} engines: {node: '>= 12'}
@ -527,8 +524,8 @@ packages:
base64-js@1.5.1: base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
basic-ftp@5.0.5: basic-ftp@5.1.0:
resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==} resolution: {integrity: sha512-RkaJzeJKDbaDWTIPiJwubyljaEPwpVWkm9Rt5h9Nd6h7tEXTJ3VB4qxdZBioV7JO5yLUaOKwz7vDOzlncUsegw==}
engines: {node: '>=10.0.0'} engines: {node: '>=10.0.0'}
binary-extensions@2.3.0: binary-extensions@2.3.0:
@ -1049,8 +1046,8 @@ packages:
espurify@1.8.1: espurify@1.8.1:
resolution: {integrity: sha512-ZDko6eY/o+D/gHCWyHTU85mKDgYcS4FJj7S+YD6WIInm7GQ6AnOjmcL4+buFV/JOztVLELi/7MmuGU5NHta0Mg==} resolution: {integrity: sha512-ZDko6eY/o+D/gHCWyHTU85mKDgYcS4FJj7S+YD6WIInm7GQ6AnOjmcL4+buFV/JOztVLELi/7MmuGU5NHta0Mg==}
esquery@1.6.0: esquery@1.7.0:
resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==}
engines: {node: '>=0.10'} engines: {node: '>=0.10'}
esrecurse@4.3.0: esrecurse@4.3.0:
@ -1124,6 +1121,15 @@ packages:
fastq@1.20.1: fastq@1.20.1:
resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==}
fdir@6.5.0:
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
engines: {node: '>=12.0.0'}
peerDependencies:
picomatch: ^3 || ^4
peerDependenciesMeta:
picomatch:
optional: true
file-entry-cache@8.0.0: file-entry-cache@8.0.0:
resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
engines: {node: '>=16.0.0'} engines: {node: '>=16.0.0'}
@ -1609,8 +1615,8 @@ packages:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'} engines: {node: '>= 0.8.0'}
lint-staged@16.2.6: lint-staged@16.2.7:
resolution: {integrity: sha512-s1gphtDbV4bmW1eylXpVMk2u7is7YsrLl8hzrtvC70h4ByhcMLZFY01Fx05ZUDNuv1H8HO4E+e2zgejV1jVwNw==} resolution: {integrity: sha512-lDIj4RnYmK7/kXMya+qJsmkRFkGolciXjrsZ6PC25GdTfWOAWetR0ZbsNXRAj1EHHImRSalc+whZFg56F5DVow==}
engines: {node: '>=20.17'} engines: {node: '>=20.17'}
hasBin: true hasBin: true
@ -1744,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.3: music-metadata@11.10.4:
resolution: {integrity: sha512-j0g/x4cNNZW6I5gdcPAY+GFkJY9WHTpkFDMBJKQLxJQyvSfQbXm57fTE3haGFFuOzCgtsTd4Plwc49Sn9RacDQ==} resolution: {integrity: sha512-W8ByTxUk3p2PHycZraD+XVOzho5zONRqP9XVDwK4kTDGwfDrAmsNXMxNgSii8bI/GDC86mtk5kwGh1Lv/imNlA==}
engines: {node: '>=18'} engines: {node: '>=18'}
nano-spawn@2.0.0: nano-spawn@2.0.0:
@ -1923,6 +1929,10 @@ packages:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'} engines: {node: '>=8.6'}
picomatch@4.0.3:
resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
engines: {node: '>=12'}
pidtree@0.6.0: pidtree@0.6.0:
resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==}
engines: {node: '>=0.10'} engines: {node: '>=0.10'}
@ -2009,12 +2019,12 @@ packages:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'} engines: {node: '>= 0.8.0'}
prettier-linter-helpers@1.0.0: prettier-linter-helpers@1.0.1:
resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} resolution: {integrity: sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
prettier@3.6.2: prettier@3.7.4:
resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==}
engines: {node: '>=14'} engines: {node: '>=14'}
hasBin: true hasBin: true
@ -2050,8 +2060,8 @@ packages:
engines: {node: '>=10.13.0'} engines: {node: '>=10.13.0'}
hasBin: true hasBin: true
qs@6.14.0: qs@6.14.1:
resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} resolution: {integrity: sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==}
engines: {node: '>=0.6'} engines: {node: '>=0.6'}
queue-microtask@1.2.3: queue-microtask@1.2.3:
@ -2397,6 +2407,10 @@ packages:
resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==}
engines: {node: '>=6'} engines: {node: '>=6'}
tinyglobby@0.2.15:
resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
engines: {node: '>=12.0.0'}
to-fast-properties@2.0.0: to-fast-properties@2.0.0:
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'} engines: {node: '>=4'}
@ -2409,8 +2423,8 @@ packages:
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
engines: {node: '>=0.6'} engines: {node: '>=0.6'}
token-types@6.1.1: token-types@6.1.2:
resolution: {integrity: sha512-kh9LVIWH5CnL63Ipf0jhlBIy0UsrMj/NJDfpsy1SqOXlLKEVyXXYrnFxFT1yOOYVGBSApeVnjPw/sBz5BfEjAQ==} resolution: {integrity: sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==}
engines: {node: '>=14.16'} engines: {node: '>=14.16'}
touch@3.1.1: touch@3.1.1:
@ -2424,8 +2438,8 @@ packages:
resolution: {integrity: sha512-vxXDZg8/+p3gblxB6BhhG5yWVn1kGRlaL8O78UDXc3wRnPizB5g83dcvWV1jpDMIPnjZjOFuxlMmE82XJ4407w==} resolution: {integrity: sha512-vxXDZg8/+p3gblxB6BhhG5yWVn1kGRlaL8O78UDXc3wRnPizB5g83dcvWV1jpDMIPnjZjOFuxlMmE82XJ4407w==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
ts-api-utils@2.1.0: ts-api-utils@2.4.0:
resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==}
engines: {node: '>=18.12'} engines: {node: '>=18.12'}
peerDependencies: peerDependencies:
typescript: '>=4.8.4' typescript: '>=4.8.4'
@ -2671,11 +2685,9 @@ snapshots:
'@babel/helper-validator-identifier': 7.28.5 '@babel/helper-validator-identifier': 7.28.5
to-fast-properties: 2.0.0 to-fast-properties: 2.0.0
'@borewit/text-codec@0.1.1': {} '@borewit/text-codec@0.2.1': {}
'@borewit/text-codec@0.2.0': {} '@eslint-community/eslint-utils@4.9.1(eslint@9.39.0)':
'@eslint-community/eslint-utils@4.9.0(eslint@9.39.0)':
dependencies: dependencies:
eslint: 9.39.0 eslint: 9.39.0
eslint-visitor-keys: 3.4.3 eslint-visitor-keys: 3.4.3
@ -2787,7 +2799,7 @@ snapshots:
'@tokenizer/inflate@0.4.1': '@tokenizer/inflate@0.4.1':
dependencies: dependencies:
debug: 4.4.3 debug: 4.4.3
token-types: 6.1.1 token-types: 6.1.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -2798,15 +2810,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': 24.10.0 '@types/node': 25.0.3
'@types/busboy@1.5.4': '@types/busboy@1.5.4':
dependencies: dependencies:
'@types/node': 24.10.0 '@types/node': 25.0.3
'@types/connect@3.4.38': '@types/connect@3.4.38':
dependencies: dependencies:
'@types/node': 24.10.0 '@types/node': 25.0.3
'@types/estree@1.0.8': {} '@types/estree@1.0.8': {}
@ -2817,7 +2829,7 @@ snapshots:
'@types/express-serve-static-core@5.1.0': '@types/express-serve-static-core@5.1.0':
dependencies: dependencies:
'@types/node': 24.10.0 '@types/node': 25.0.3
'@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
@ -2834,7 +2846,7 @@ snapshots:
'@types/mocha@10.0.10': {} '@types/mocha@10.0.10': {}
'@types/node@24.10.0': '@types/node@25.0.3':
dependencies: dependencies:
undici-types: 7.16.0 undici-types: 7.16.0
@ -2844,109 +2856,93 @@ snapshots:
'@types/send@1.2.1': '@types/send@1.2.1':
dependencies: dependencies:
'@types/node': 24.10.0 '@types/node': 25.0.3
'@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': 24.10.0 '@types/node': 25.0.3
'@typescript-eslint/eslint-plugin@8.46.2(@typescript-eslint/parser@8.46.3(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.51.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.46.3(eslint@9.39.0)(typescript@5.9.3) '@typescript-eslint/parser': 8.51.0(eslint@9.39.0)(typescript@5.9.3)
'@typescript-eslint/scope-manager': 8.46.2 '@typescript-eslint/scope-manager': 8.46.3
'@typescript-eslint/type-utils': 8.46.2(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.2(eslint@9.39.0)(typescript@5.9.3) '@typescript-eslint/utils': 8.46.3(eslint@9.39.0)(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.46.2 '@typescript-eslint/visitor-keys': 8.46.3
eslint: 9.39.0 eslint: 9.39.0
graphemer: 1.4.0 graphemer: 1.4.0
ignore: 7.0.5 ignore: 7.0.5
natural-compare: 1.4.0 natural-compare: 1.4.0
ts-api-utils: 2.1.0(typescript@5.9.3) ts-api-utils: 2.4.0(typescript@5.9.3)
typescript: 5.9.3 typescript: 5.9.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/parser@8.46.3(eslint@9.39.0)(typescript@5.9.3)': '@typescript-eslint/parser@8.51.0(eslint@9.39.0)(typescript@5.9.3)':
dependencies: dependencies:
'@typescript-eslint/scope-manager': 8.46.3 '@typescript-eslint/scope-manager': 8.51.0
'@typescript-eslint/types': 8.46.3 '@typescript-eslint/types': 8.51.0
'@typescript-eslint/typescript-estree': 8.46.3(typescript@5.9.3) '@typescript-eslint/typescript-estree': 8.51.0(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.46.3 '@typescript-eslint/visitor-keys': 8.51.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
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/project-service@8.46.2(typescript@5.9.3)':
dependencies:
'@typescript-eslint/tsconfig-utils': 8.46.2(typescript@5.9.3)
'@typescript-eslint/types': 8.46.2
debug: 4.4.3
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
'@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.46.3(typescript@5.9.3) '@typescript-eslint/tsconfig-utils': 8.51.0(typescript@5.9.3)
'@typescript-eslint/types': 8.46.3 '@typescript-eslint/types': 8.51.0
debug: 4.4.3 debug: 4.4.3
typescript: 5.9.3 typescript: 5.9.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/scope-manager@8.46.2': '@typescript-eslint/project-service@8.51.0(typescript@5.9.3)':
dependencies: dependencies:
'@typescript-eslint/types': 8.46.2 '@typescript-eslint/tsconfig-utils': 8.51.0(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.46.2 '@typescript-eslint/types': 8.51.0
debug: 4.4.3
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/scope-manager@8.46.3': '@typescript-eslint/scope-manager@8.46.3':
dependencies: dependencies:
'@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/tsconfig-utils@8.46.2(typescript@5.9.3)': '@typescript-eslint/scope-manager@8.51.0':
dependencies: dependencies:
typescript: 5.9.3 '@typescript-eslint/types': 8.51.0
'@typescript-eslint/visitor-keys': 8.51.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/type-utils@8.46.2(eslint@9.39.0)(typescript@5.9.3)': '@typescript-eslint/tsconfig-utils@8.51.0(typescript@5.9.3)':
dependencies: dependencies:
'@typescript-eslint/types': 8.46.2 typescript: 5.9.3
'@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3)
'@typescript-eslint/utils': 8.46.2(eslint@9.39.0)(typescript@5.9.3) '@typescript-eslint/type-utils@8.46.3(eslint@9.39.0)(typescript@5.9.3)':
dependencies:
'@typescript-eslint/types': 8.46.3
'@typescript-eslint/typescript-estree': 8.46.3(typescript@5.9.3)
'@typescript-eslint/utils': 8.46.3(eslint@9.39.0)(typescript@5.9.3)
debug: 4.4.3 debug: 4.4.3
eslint: 9.39.0 eslint: 9.39.0
ts-api-utils: 2.1.0(typescript@5.9.3) ts-api-utils: 2.4.0(typescript@5.9.3)
typescript: 5.9.3 typescript: 5.9.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/types@8.46.2': {}
'@typescript-eslint/types@8.46.3': {} '@typescript-eslint/types@8.46.3': {}
'@typescript-eslint/typescript-estree@8.46.2(typescript@5.9.3)': '@typescript-eslint/types@8.51.0': {}
dependencies:
'@typescript-eslint/project-service': 8.46.2(typescript@5.9.3)
'@typescript-eslint/tsconfig-utils': 8.46.2(typescript@5.9.3)
'@typescript-eslint/types': 8.46.2
'@typescript-eslint/visitor-keys': 8.46.2
debug: 4.4.3
fast-glob: 3.3.3
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.7.3
ts-api-utils: 2.1.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/typescript-estree@8.46.3(typescript@5.9.3)': '@typescript-eslint/typescript-estree@8.46.3(typescript@5.9.3)':
dependencies: dependencies:
@ -2959,32 +2955,47 @@ snapshots:
is-glob: 4.0.3 is-glob: 4.0.3
minimatch: 9.0.5 minimatch: 9.0.5
semver: 7.7.3 semver: 7.7.3
ts-api-utils: 2.1.0(typescript@5.9.3) ts-api-utils: 2.4.0(typescript@5.9.3)
typescript: 5.9.3 typescript: 5.9.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/utils@8.46.2(eslint@9.39.0)(typescript@5.9.3)': '@typescript-eslint/typescript-estree@8.51.0(typescript@5.9.3)':
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.9.0(eslint@9.39.0) '@typescript-eslint/project-service': 8.51.0(typescript@5.9.3)
'@typescript-eslint/scope-manager': 8.46.2 '@typescript-eslint/tsconfig-utils': 8.51.0(typescript@5.9.3)
'@typescript-eslint/types': 8.46.2 '@typescript-eslint/types': 8.51.0
'@typescript-eslint/typescript-estree': 8.46.2(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.51.0
debug: 4.4.3
minimatch: 9.0.5
semver: 7.7.3
tinyglobby: 0.2.15
ts-api-utils: 2.4.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@8.46.3(eslint@9.39.0)(typescript@5.9.3)':
dependencies:
'@eslint-community/eslint-utils': 4.9.1(eslint@9.39.0)
'@typescript-eslint/scope-manager': 8.46.3
'@typescript-eslint/types': 8.46.3
'@typescript-eslint/typescript-estree': 8.46.3(typescript@5.9.3)
eslint: 9.39.0 eslint: 9.39.0
typescript: 5.9.3 typescript: 5.9.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@typescript-eslint/visitor-keys@8.46.2':
dependencies:
'@typescript-eslint/types': 8.46.2
eslint-visitor-keys: 4.2.1
'@typescript-eslint/visitor-keys@8.46.3': '@typescript-eslint/visitor-keys@8.46.3':
dependencies: dependencies:
'@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':
dependencies:
'@typescript-eslint/types': 8.51.0
eslint-visitor-keys: 4.2.1
'@unblockneteasemusic/server@0.28.0': '@unblockneteasemusic/server@0.28.0':
dependencies: dependencies:
node-windows: 1.0.0-beta.8 node-windows: 1.0.0-beta.8
@ -3111,7 +3122,7 @@ snapshots:
base64-js@1.5.1: {} base64-js@1.5.1: {}
basic-ftp@5.0.5: {} basic-ftp@5.1.0: {}
binary-extensions@2.3.0: {} binary-extensions@2.3.0: {}
@ -3131,7 +3142,7 @@ snapshots:
http-errors: 2.0.1 http-errors: 2.0.1
iconv-lite: 0.4.24 iconv-lite: 0.4.24
on-finished: 2.4.1 on-finished: 2.4.1
qs: 6.14.0 qs: 6.14.1
raw-body: 2.5.3 raw-body: 2.5.3
type-is: 1.6.18 type-is: 1.6.18
unpipe: 1.0.0 unpipe: 1.0.0
@ -3146,7 +3157,7 @@ snapshots:
http-errors: 2.0.1 http-errors: 2.0.1
iconv-lite: 0.7.1 iconv-lite: 0.7.1
on-finished: 2.4.1 on-finished: 2.4.1
qs: 6.14.0 qs: 6.14.1
raw-body: 3.0.2 raw-body: 3.0.2
type-is: 2.0.1 type-is: 2.0.1
transitivePeerDependencies: transitivePeerDependencies:
@ -3667,11 +3678,11 @@ snapshots:
dependencies: dependencies:
htmlparser2: 10.0.0 htmlparser2: 10.0.0
eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.39.0))(eslint@9.39.0)(prettier@3.6.2): eslint-plugin-prettier@5.5.4(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.6.2 prettier: 3.7.4
prettier-linter-helpers: 1.0.0 prettier-linter-helpers: 1.0.1
synckit: 0.11.11 synckit: 0.11.11
optionalDependencies: optionalDependencies:
eslint-config-prettier: 10.1.8(eslint@9.39.0) eslint-config-prettier: 10.1.8(eslint@9.39.0)
@ -3687,7 +3698,7 @@ snapshots:
eslint@9.39.0: eslint@9.39.0:
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.9.0(eslint@9.39.0) '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.0)
'@eslint-community/regexpp': 4.12.2 '@eslint-community/regexpp': 4.12.2
'@eslint/config-array': 0.21.1 '@eslint/config-array': 0.21.1
'@eslint/config-helpers': 0.4.2 '@eslint/config-helpers': 0.4.2
@ -3707,7 +3718,7 @@ snapshots:
eslint-scope: 8.4.0 eslint-scope: 8.4.0
eslint-visitor-keys: 4.2.1 eslint-visitor-keys: 4.2.1
espree: 10.4.0 espree: 10.4.0
esquery: 1.6.0 esquery: 1.7.0
esutils: 2.0.3 esutils: 2.0.3
fast-deep-equal: 3.1.3 fast-deep-equal: 3.1.3
file-entry-cache: 8.0.0 file-entry-cache: 8.0.0
@ -3786,7 +3797,7 @@ snapshots:
dependencies: dependencies:
core-js: 2.6.12 core-js: 2.6.12
esquery@1.6.0: esquery@1.7.0:
dependencies: dependencies:
estraverse: 5.3.0 estraverse: 5.3.0
@ -3838,7 +3849,7 @@ snapshots:
parseurl: 1.3.3 parseurl: 1.3.3
path-to-regexp: 0.1.12 path-to-regexp: 0.1.12
proxy-addr: 2.0.7 proxy-addr: 2.0.7
qs: 6.14.0 qs: 6.14.1
range-parser: 1.2.1 range-parser: 1.2.1
safe-buffer: 5.2.1 safe-buffer: 5.2.1
send: 0.19.2 send: 0.19.2
@ -3873,7 +3884,7 @@ snapshots:
once: 1.4.0 once: 1.4.0
parseurl: 1.3.3 parseurl: 1.3.3
proxy-addr: 2.0.7 proxy-addr: 2.0.7
qs: 6.14.0 qs: 6.14.1
range-parser: 1.2.1 range-parser: 1.2.1
router: 2.2.0 router: 2.2.0
send: 1.2.1 send: 1.2.1
@ -3912,6 +3923,10 @@ snapshots:
dependencies: dependencies:
reusify: 1.1.0 reusify: 1.1.0
fdir@6.5.0(picomatch@4.0.3):
optionalDependencies:
picomatch: 4.0.3
file-entry-cache@8.0.0: file-entry-cache@8.0.0:
dependencies: dependencies:
flat-cache: 4.0.1 flat-cache: 4.0.1
@ -3920,7 +3935,7 @@ snapshots:
dependencies: dependencies:
'@tokenizer/inflate': 0.4.1 '@tokenizer/inflate': 0.4.1
strtok3: 10.3.4 strtok3: 10.3.4
token-types: 6.1.1 token-types: 6.1.2
uint8array-extras: 1.5.0 uint8array-extras: 1.5.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -4060,7 +4075,7 @@ snapshots:
get-uri@6.0.5: get-uri@6.0.5:
dependencies: dependencies:
basic-ftp: 5.0.5 basic-ftp: 5.1.0
data-uri-to-buffer: 6.0.2 data-uri-to-buffer: 6.0.2
debug: 4.4.3 debug: 4.4.3
transitivePeerDependencies: transitivePeerDependencies:
@ -4412,7 +4427,7 @@ snapshots:
prelude-ls: 1.2.1 prelude-ls: 1.2.1
type-check: 0.4.0 type-check: 0.4.0
lint-staged@16.2.6: lint-staged@16.2.7:
dependencies: dependencies:
commander: 14.0.2 commander: 14.0.2
listr2: 9.0.5 listr2: 9.0.5
@ -4556,16 +4571,16 @@ snapshots:
once: 1.4.0 once: 1.4.0
readable-stream: 3.6.2 readable-stream: 3.6.2
music-metadata@11.10.3: music-metadata@11.10.4:
dependencies: dependencies:
'@borewit/text-codec': 0.2.0 '@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.2.0
media-typer: 1.1.0 media-typer: 1.1.0
strtok3: 10.3.4 strtok3: 10.3.4
token-types: 6.1.1 token-types: 6.1.2
uint8array-extras: 1.5.0 uint8array-extras: 1.5.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -4739,6 +4754,8 @@ snapshots:
picomatch@2.3.1: {} picomatch@2.3.1: {}
picomatch@4.0.3: {}
pidtree@0.6.0: {} pidtree@0.6.0: {}
pino-abstract-transport@0.5.0: pino-abstract-transport@0.5.0:
@ -4897,11 +4914,11 @@ snapshots:
prelude-ls@1.2.1: {} prelude-ls@1.2.1: {}
prettier-linter-helpers@1.0.0: prettier-linter-helpers@1.0.1:
dependencies: dependencies:
fast-diff: 1.3.0 fast-diff: 1.3.0
prettier@3.6.2: {} prettier@3.7.4: {}
process-nextick-args@2.0.1: {} process-nextick-args@2.0.1: {}
@ -4931,7 +4948,7 @@ snapshots:
pngjs: 5.0.0 pngjs: 5.0.0
yargs: 15.4.1 yargs: 15.4.1
qs@6.14.0: qs@6.14.1:
dependencies: dependencies:
side-channel: 1.1.0 side-channel: 1.1.0
@ -5378,6 +5395,11 @@ snapshots:
inherits: 2.0.4 inherits: 2.0.4
readable-stream: 3.6.2 readable-stream: 3.6.2
tinyglobby@0.2.15:
dependencies:
fdir: 6.5.0(picomatch@4.0.3)
picomatch: 4.0.3
to-fast-properties@2.0.0: {} to-fast-properties@2.0.0: {}
to-regex-range@5.0.1: to-regex-range@5.0.1:
@ -5386,9 +5408,9 @@ snapshots:
toidentifier@1.0.1: {} toidentifier@1.0.1: {}
token-types@6.1.1: token-types@6.1.2:
dependencies: dependencies:
'@borewit/text-codec': 0.1.1 '@borewit/text-codec': 0.2.1
'@tokenizer/token': 0.3.0 '@tokenizer/token': 0.3.0
ieee754: 1.2.1 ieee754: 1.2.1
@ -5402,7 +5424,7 @@ snapshots:
typedarray.prototype.slice: 1.0.5 typedarray.prototype.slice: 1.0.5
which-typed-array: 1.1.19 which-typed-array: 1.1.19
ts-api-utils@2.1.0(typescript@5.9.3): ts-api-utils@2.4.0(typescript@5.9.3):
dependencies: dependencies:
typescript: 5.9.3 typescript: 5.9.3

View File

@ -8,6 +8,19 @@
<link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet"> <link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet">
</head> </head>
<style>
.decode-result {
white-space: pre-wrap;
word-break: break-all;
background-color: #f0f0f0;
padding: 10px;
border-radius: 5px;
margin-top: 10px;
height: 300px;
overflow: auto;
}
</style>
<body> <body>
<div id="app" class="p-5 flex flex-col"> <div id="app" class="p-5 flex flex-col">
<h1 class="text-2xl font-bold mb-5">eapi 参数和返回内容解析</h1> <h1 class="text-2xl font-bold mb-5">eapi 参数和返回内容解析</h1>
@ -23,7 +36,7 @@
</div> </div>
<div> <div>
<p>解密结果: <p>解密结果:
<pre>{{ JSON.stringify(JSON.parse(result), null, 2) }}</pre> <pre class="decode-result">{{ JSON.stringify(JSON.parse(result), null, 2) }}</pre>
</p> </p>
</div> </div>
@ -39,7 +52,6 @@
<script src="https://fastly.jsdelivr.net/npm/vue@3"></script> <script src="https://fastly.jsdelivr.net/npm/vue@3"></script>
<script> <script>
const logger = require('../util/logger.js')
const app = Vue.createApp({ const app = Vue.createApp({
data() { data() {
return { return {
@ -62,7 +74,7 @@
} }
}) })
this.result = JSON.stringify(res.data.data) this.result = JSON.stringify(res.data.data)
logger.info(res.data); console.log(res.data);
} catch (error) { } catch (error) {
console.error(error) console.error(error)
alert(error?.response?.data?.message || '解密失败,数据格式错误') alert(error?.response?.data?.message || '解密失败,数据格式错误')

View File

@ -24,7 +24,7 @@
}) })
const key = res.data.data.unikey const key = res.data.data.unikey
const res2 = await axios({ const res2 = await axios({
url: `/login/qr/create?key=${key}&qrimg=true&timestamp=${Date.now()}`, url: `/login/qr/create?key=${key}&platform=web&qrimg=true&timestamp=${Date.now()}`,
}) })
document.querySelector('#qrImg').src = res2.data.data.qrimg document.querySelector('#qrImg').src = res2.data.data.qrimg

View File

@ -23,7 +23,7 @@
}) })
const key = res.data.data.unikey const key = res.data.data.unikey
const res2 = await axios({ const res2 = await axios({
url: `/login/qr/create?key=${key}&qrimg=true&timestamp=${Date.now()}&ua=pc`, url: `/login/qr/create?key=${key}&platform=web&qrimg=true&timestamp=${Date.now()}&ua=pc`,
}) })
document.querySelector('#qrImg').src = res2.data.data.qrimg document.querySelector('#qrImg').src = res2.data.data.qrimg