docs: 出了点意外再建一次

This commit is contained in:
ikun0014 2025-05-31 15:43:45 +08:00
commit 5d0de57fef
No known key found for this signature in database
38 changed files with 4007 additions and 0 deletions

52
.github/workflows/build-docs.yml vendored Normal file
View File

@ -0,0 +1,52 @@
name: 部署文档
on:
push:
branches:
- docs
permissions:
contents: write
jobs:
deploy-gh-pages:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
# 如果你文档需要 Git 子模块,取消注释下一行
# submodules: true
- name: 设置 pnpm
uses: pnpm/action-setup@v2
with:
version: 8
- name: 设置 Node.js
uses: actions/setup-node@v3
with:
node-version: 20
cache: pnpm
- name: 安装依赖
run: |
corepack enable
pnpm install --frozen-lockfile
- name: 构建文档
env:
NODE_OPTIONS: --max_old_space_size=8192
run: |-
pnpm run docs:build
> src/.vuepress/dist/.nojekyll
- name: 部署文档
uses: JamesIves/github-pages-deploy-action@v4
with:
# 部署文档
branch: gh-pages
folder: src/.vuepress/dist

6
.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
node_modules/
src/.vuepress/.cache/
src/.vuepress/.temp/
src/.vuepress/dist/
data/

22
package.json Normal file
View File

@ -0,0 +1,22 @@
{
"name": "lx-music-api-server-docs",
"version": "2.0.0",
"description": "lx-music-api-server项目文档",
"license": "MIT",
"type": "module",
"scripts": {
"docs:build": "vuepress-vite build src",
"docs:clean-dev": "vuepress-vite dev src --clean-cache",
"docs:dev": "vuepress-vite dev src",
"docs:update-package": "pnpm dlx vp-update"
},
"devDependencies": {
"@vuepress/bundler-vite": "2.0.0-rc.9",
"vue": "^3.5.16",
"vuepress": "2.0.0-rc.9",
"vuepress-theme-hope": "2.0.0-rc.34"
},
"dependencies": {
"lxgw-wenkai-webfont": "^1.7.0"
}
}

3404
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

15
src/.vuepress/config.ts Normal file
View File

@ -0,0 +1,15 @@
import { defineUserConfig } from "vuepress";
import theme from "./theme.js";
export default defineUserConfig({
base: "/",
lang: "zh-CN",
title: "LX Music Api Server",
description: "适用于 LX Music 的解析接口服务器的 Python 实现",
theme,
// 和 PWA 一起启用
// shouldPrefetch: false,
});

17
src/.vuepress/navbar.ts Normal file
View File

@ -0,0 +1,17 @@
import { navbar } from "vuepress-theme-hope";
const NavbarConfig = navbar([
{
text: "首页",
link: "/README.md",
icon: "home",
},
{ text: "介绍", link: "/guide/README.md", icon: "fas fa-info" },
{
text: "部署",
link: "/deploy/README.md",
icon: "fas fa-file-alt",
},
]);
export default NavbarConfig

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 26 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.8 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" class="icon" viewBox="0 0 1024 1024"><path fill="#FDD7AD" d="M512 0 335.448 88.272l-70.616 35.312-70.624 35.312-176.552 88.28v529.648L512 1024l494.344-247.176V247.176z"/><path fill="#CBB292" d="m759.176 370.76-70.624 35.304-494.344-247.168 70.624-35.312zM512 494.344V1024L17.656 776.824V247.176z"/><path fill="#7F6E5D" d="M1006.344 247.168v529.656L512 1024V494.344l176.552-88.28v70.624l141.24-70.624v-70.616z"/><path fill="#7F5B53" d="M829.792 335.448v70.624L688.56 476.68v-70.624z"/><path fill="#CBB292" d="m829.792 335.448-70.624 35.312-494.344-247.176 70.624-35.312z"/><path fill="#2C3E50" d="m682.52 550.32 157.032-78.512a17.656 17.656 0 0 1 25.552 15.792v9.32a52.96 52.96 0 0 1-29.28 47.376L678.8 622.8a17.656 17.656 0 0 1-25.552-15.792v-9.312a52.96 52.96 0 0 1 29.28-47.376z"/></svg>

After

Width:  |  Height:  |  Size: 854 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024"><defs><linearGradient id="a" x1="522.593" x2="522.593" y1="-70.302" y2="-335.937" gradientUnits="userSpaceOnUse" spreadMethod="pad"><stop offset="0" stop-color="#fe5d5a" stop-opacity=".1"/><stop offset=".908" stop-color="#ef1220" stop-opacity=".5"/></linearGradient><linearGradient id="b" x1="107.12" x2="935.038" y1="-373.67" y2="-373.67" gradientUnits="userSpaceOnUse" spreadMethod="pad"><stop offset="0" stop-color="#ff5e59"/><stop offset="1" stop-color="#f01422"/></linearGradient><linearGradient id="c" x1="519.405" x2="519.405" y1="-195.547" y2="-726.816" gradientUnits="userSpaceOnUse" spreadMethod="pad"><stop offset="0" stop-color="#ffe2e2"/><stop offset=".888" stop-color="#ff8e8e"/></linearGradient><linearGradient id="d" x1="191.5" x2="483.9" y1="-564.9" y2="-564.9" gradientUnits="userSpaceOnUse" spreadMethod="pad"><stop offset="0" stop-color="#e92700" stop-opacity=".3"/><stop offset=".013" stop-color="#ef1220" stop-opacity=".2"/></linearGradient><linearGradient id="e" x1="403.502" x2="253.121" y1="-847.32" y2="-586.853" gradientUnits="userSpaceOnUse" spreadMethod="pad"><stop offset="0" stop-color="#ff5e59"/><stop offset=".201" stop-color="#f01422"/></linearGradient><linearGradient id="f" x1="330.485" x2="330.485" y1="-801.787" y2="-625.789" gradientUnits="userSpaceOnUse" spreadMethod="pad"><stop offset="0" stop-color="#ff5e59"/><stop offset=".201" stop-color="#f01422"/></linearGradient><linearGradient id="g" x1="397.351" x2="256.845" y1="-647.231" y2="-890.596" gradientUnits="userSpaceOnUse" spreadMethod="pad"><stop offset="0" stop-color="#ffa6a6"/><stop offset=".908" stop-color="#ff6b5d"/></linearGradient></defs><path fill="url(#a)" d="M501.2 662.3 327.6 763.8c-13.9 8.1-14.2 28.1-.5 36.7l179.1 97.7c10.9 5.9 24.1 5.9 34.9-.1l177-97.9c13.6-8.5 13.4-28.3-.3-36.5l-168.4-101c-14.8-9-33.3-9.1-48.2-.4Z"/><path fill="#f63037" d="m110.2 525.7-3.1 77.6 57.5 18.5L184 519.4Z"/><path fill="url(#b)" d="m476.6 363.5-328 154.6c-21 42.7-55.4 65.4-35.5 103.5 4.2 8 9.4 14.4 15.4 18.1l358.2 195.5c21.8 11.9 48.1 11.8 69.8-.2l354-195.8c27.2-16.9 34.8-90.3 7.3-106.8L573 364.1c-29.7-17.8-66.6-18-96.4-.6Z"/><path fill="url(#c)" d="M476.6 298.7 129.4 501.6c-27.8 16.3-28.4 56.3-1 73.3l358.2 195.5c21.8 11.9 48.1 11.8 69.8-.2l354-195.8c27.2-16.9 26.9-56.6-.6-73.1L573 299.3c-29.7-17.8-66.6-18-96.4-.6Z"/><path fill="#ff8989" fill-opacity=".31" d="m481.2 387.8 39.4 123.4c1.1 3.4 4 6 7.6 6.6l173.4 30.4-33-118.3c-.9-3.3-3.6-5.8-7-6.5l-180.4-35.6ZM327 499.2l40.4 101.1L496.7 525c2.5-1.5 3.7-4.5 2.7-7.3l-36-106.8-127.6 65c-8.6 4.3-12.4 14.4-8.8 23.3ZM523.8 540.5l-140.3 77.2L567.2 659c3.2.7 6.6.1 9.3-1.6l134.6-85-174.7-33.8c-4.3-1-8.7-.3-12.6 1.9Z"/><path fill="url(#d)" d="M483.9 406.1c0 35.46-65.46 64.2-146.2 64.2s-146.2-28.74-146.2-64.2c0-35.46 65.46-64.2 146.2-64.2s146.2 28.74 146.2 64.2Z"/><path fill="url(#e)" d="m254.2 188.4-123 83.1c-1.8 1.3-2.6 3.6-1.8 5.7l39.1 110.6c.6 1.7 2 2.9 3.8 3.2l221.8 40.5c1.3.3 2.7-.1 3.7-.8l131.7-93.6c1.9-1.4 2.6-3.9 1.7-6.1l-49.4-107c-.6-1.5-2.1-2.6-3.7-2.8l-220.3-33.5c-1.3-.2-2.6.1-3.6.7Z"/><path fill="url(#f)" d="m528.6 274.5 3 59.1-205 65.6-177.2-72.7-20-49.2 1.9-54.1Z"/><path fill="url(#g)" d="m250.6 138-112.3 76c-6 4.1-8.5 11.7-6.1 18.5l34.2 96.6c1.9 5.4 6.6 9.3 12.1 10.4l211 38.5c4.3.7 8.6-.2 12.1-2.7l120.5-85.5c6.3-4.4 8.4-12.7 5.3-19.7l-43.1-93.5c-2.2-4.9-6.8-8.3-12.1-9.1L262 135.6c-4-.7-8 .2-11.4 2.4Z"/><path fill="#fff" d="m419.8 252.8-79-11-29-57.7c-3.8-7.6-13.2-10.7-20.8-6.9-7.6 3.8-10.7 13.2-6.9 20.8l26.6 52.9-61.8 42.2c-7.1 4.8-8.9 14.5-4.1 21.5 3 4.4 7.9 6.8 12.8 6.8 3 0 6-.9 8.7-2.7l68-46.4 81.1 11.2c.7.1 1.4.1 2.1.1 7.6 0 14.3-5.6 15.3-13.4 1.4-8.4-4.5-16.2-13-17.4Z"/></svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -0,0 +1 @@
<svg width="98" height="96" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z" fill="#24292f"/></svg>

After

Width:  |  Height:  |  Size: 963 B

View File

@ -0,0 +1 @@
<svg width="98" height="96" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z" fill="#fff"/></svg>

After

Width:  |  Height:  |  Size: 960 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" class="icon" viewBox="0 0 1536 1024"><path fill="#1296db" d="M1425.067.256H110.933A110.933 110.933 0 0 0 0 110.848v723.627a110.933 110.933 0 0 0 110.933 110.933h1314.39c61.269 0 110.933-49.75 110.677-110.677V110.848A110.933 110.933 0 0 0 1425.067.256z" class="selected" data-spm-anchor-id="a313x.7781069.0.i4"/><path fill="#FFF" d="M664.747 723.797V435.883L517.12 620.373l-147.456-184.49v288l-148.053-67.158V221.781h147.626l147.627 184.576 147.541-184.576h147.627v565.76z"/><path d="M1024 0h426.667A85.333 85.333 0 0 1 1536 85.333v768a85.333 85.333 0 0 1-85.333 85.334H1024V0z" opacity=".1"/><path fill="#FFF" d="m1256.96 731.307-170.667-216.491h113.75V304.64h113.749v210.176h113.835z" opacity=".5"/></svg>

After

Width:  |  Height:  |  Size: 771 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

30
src/.vuepress/sidebar.ts Normal file
View File

@ -0,0 +1,30 @@
import { sidebar } from "vuepress-theme-hope";
export default sidebar({
"/": [
"",
{
text: "介绍",
icon: "laptop-code",
prefix: "guide/readme.md",
link: "guide/readme.md",
children: "structure",
},
{
text: "部署",
icon: "book",
prefix: "deploy/",
collapsible: true,
link: "deploy/readme.md",
children: [
"deploy-windows.md",
"deploy-linux.md",
],
},
{
text: "API调用方法",
icon: "person-chalkboard",
link: "guide/api/api.md",
},
],
});

View File

@ -0,0 +1,4 @@
// you can change config here
$colors: #c0392b, #d35400, #f39c12, #27ae60, #16a085, #2980b9, #8e44ad, #2c3e50,
#7f8c8d !default;
$font-family: '"LXGW WenKai", sans-serif';

View File

@ -0,0 +1 @@
// place your custom styles here

View File

@ -0,0 +1,2 @@
// you can change colors here
$theme-color: #096dd9;

178
src/.vuepress/theme.ts Normal file
View File

@ -0,0 +1,178 @@
import { hopeTheme } from "vuepress-theme-hope";
import navbar from "./navbar.js";
import sidebar from "./sidebar.js";
export default hopeTheme({
hostname: "https://apidoc.zcmonety.xyz/",
iconAssets: "fontawesome-with-brands",
logo: "/images/favicon.ico",
repo: "MeoProject/lx-music-api-server",
docsDir: "src",
docsBranch: "docs",
// 导航栏
navbar,
// 侧边栏
sidebar,
// 页脚
displayFooter: true,
// 加密配置
// encrypt: {
// config: {
// "/demo/encrypt.html": ["1234"],
// },
// },
// 多语言配置
metaLocales: {
editLink: "在 GitHub 上编辑此页",
},
// 如果想要实时查看任何改变,启用它。注: 这对更新性能有很大负面影响
// hotReload: true,
// 在这里配置主题提供的插件
plugins: {
// 注意: 仅用于测试! 你必须自行生成并在生产环境中使用自己的评论服务
components: {
components: ["Badge", "VPCard"],
},
// 此处开启了很多功能用于演示,你应仅保留用到的功能。
mdEnhance: {
align: true,
attrs: true,
codetabs: true,
component: true,
demo: true,
figure: true,
imgLazyload: true,
imgSize: true,
include: true,
mark: true,
alert: true,
stylize: [
{
matcher: "Recommended",
replacer: ({ tag }) => {
if (tag === "em")
return {
tag: "Badge",
attrs: { type: "tip" },
content: "Recommended",
};
},
},
],
sub: true,
sup: true,
tabs: true,
tasklist: true,
vPre: true,
// 在启用之前安装 chart.js
// chart: true,
// insert component easily
// 在启用之前安装 echarts
// echarts: true,
// 在启用之前安装 flowchart.ts
// flowchart: true,
// gfm requires mathjax-full to provide tex support
// gfm: true,
// 在启用之前安装 katex
// katex: true,
// 在启用之前安装 mathjax-full
// mathjax: true,
// 在启用之前安装 mermaid
// mermaid: true,
// playground: {
// presets: ["ts", "vue"],
// },
// 在启用之前安装 reveal.js
// revealJs: {
// plugins: ["highlight", "math", "search", "notes", "zoom"],
// },
// 在启用之前安装 @vue/repl
// vuePlayground: true,
// install sandpack-vue3 before enabling it
// sandpack: true,
},
// 如果你需要 PWA。安装 @vuepress/plugin-pwa 并取消下方注释
// pwa: {
// favicon: "/favicon.ico",
// cacheHTML: true,
// cachePic: true,
// appendBase: true,
// apple: {
// icon: "/assets/icon/apple-icon-152.png",
// statusBarColor: "black",
// },
// msTile: {
// image: "/assets/icon/ms-icon-144.png",
// color: "#ffffff",
// },
// manifest: {
// icons: [
// {
// src: "/assets/icon/chrome-mask-512.png",
// sizes: "512x512",
// purpose: "maskable",
// type: "image/png",
// },
// {
// src: "/assets/icon/chrome-mask-192.png",
// sizes: "192x192",
// purpose: "maskable",
// type: "image/png",
// },
// {
// src: "/assets/icon/chrome-512.png",
// sizes: "512x512",
// type: "image/png",
// },
// {
// src: "/assets/icon/chrome-192.png",
// sizes: "192x192",
// type: "image/png",
// },
// ],
// shortcuts: [
// {
// name: "Demo",
// short_name: "Demo",
// url: "/demo/",
// icons: [
// {
// src: "/assets/icon/guide-maskable.png",
// sizes: "192x192",
// purpose: "maskable",
// type: "image/png",
// },
// ],
// },
// ],
// },
// },
},
});

28
src/README.md Normal file
View File

@ -0,0 +1,28 @@
---
title: 首页
home: true
icon: home
heroText: LX Music Api Server
tagline: 适用于 LX Music 的解析接口服务器的 Python 实现
heroImage: /images/favicon.ico
actions:
- text: 如何部署?
link: /guide/readme.md
type: primary
icon: arrow-right
- text: API调用
link: /guide/api/api.md
type: secondary
icon: book
features:
- title: 安全性高
details: 拥有一个单独的安全模块,防止被恶意滥用
icon: lock
- title: 部署简单
details: 只需要有一点点基础指的是会看文档即可在10分钟内部署完毕
icon: rocket
- title: 快速响应
details: 采用aiohttp进行异步请求毫秒级响应
icon: magic
footerHtml: true
---

16
src/deploy/README.md Normal file
View File

@ -0,0 +1,16 @@
---
head:
- - meta
- name: keywords
content: 即刻开始
title: 部署
icon: fas fa-file-alt
author: ikun0014
date: 2025-05-31
index: true
---
## 部署方法
Windows请看[Win](./deploy-windows.md)
Linux请看[Linux](deploy-linux.md)

View File

@ -0,0 +1,45 @@
---
head:
- - meta
- name: keywords
content: Linux
title: Linux部署教程
icon: fas fa-file-alt
author: ikun0014
date: 2025-05-31
index: false
---
## Linux 部署教程演示系统Ubuntu 22.04
1.安装 Python,Git
```bash
sudo apt update
sudo apt install python3 python3-pip git -y
```
2.克隆仓库
```bash
git clone https://github.com/MeoProject/lx-music-api-server -b main
git clone https://github.moeyy.xyz/github.com/MeoProject/lx-music-api-server -b main
```
根据网络环境选择
3.安装依赖
```bash
pip3 install poetry
poetry install --no-root
```
4.启动服务器
```bash
poetry run python main.py
```
如果屏幕上没有报错,那么恭喜您,部署已完成!:yum:

View File

@ -0,0 +1,47 @@
---
head:
- - meta
- name: keywords
content: Windows部署教程
title: Windows部署教程
icon: fas fa-file-alt
author: ikun0014
date: 2025-05-31
index: false
---
## 部署教程
1.下载并且安装 Python3.10-3.11
前往[Python 官网](https://www.python.org/downloads/release/python-3119)下拉即可找到 Python3.11.9 的下载链接
![图1](/images/pydown.png)
然后安装 Python
![图2](/images/pyinstall.png)
2.下载并且安装 Git
[点击我加速下载](https://github.moeyy.xyz/github.com/git-for-windows/git/releases/download/v2.44.0.windows.1/Git-2.44.0-64-bit.exe)
![图3](/images/gitinstall.png)
一路点击 Next 和 Install 即可
3.使用 Git 克隆仓库
```bash
git clone https://github.com/MeoProject/lx-music-api-server -b main
```
4.使用 poetry 进行依赖项安装
```bash
pip install poetry
poetry install --no-root
```
5.启动服务器
```bash
poetry run python main.py
或者 npm run start
```
如果不报错,那么恭喜您,您已经完成部署:yum:

36
src/guide/README.md Normal file
View File

@ -0,0 +1,36 @@
---
head:
- - meta
- name: keywords
content: 项目介绍
title: 介绍
icon: fas fa-info
author: ikun0014
date: 2025-05-31
index: true
---
## 简述
这是一个基于 Python 的 LX Music 后端实现,与 LX Music 相关的只有请求格式,其余全部重写
项目基于 MIT 开源许可证开源于[Github](https://github.com/MeoProject/lx-music-api-server)上
所调用 API 接口为网络上查找
音乐平台不易,请尊重版权,支持正版。
本项目仅用于对技术可行性的探索及研究,不接受任何商业(包括但不限于广告等)合作及捐赠。
若对此有疑问请 mail to:helloplhm-qwq@outlook.com
## 项目官方交流群
- [QQ](https://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=117h8X7TPBWMLwK0Nec_TkdFpqsSs7LJ&group_code=206995059)
- [Telegram](https://t.me/+zBJAaMgr6yZmYWI9)
## 项目功能
- [ ] 功能
- [ ] 完整性 API歌单搜索
- [x] Cookie 池
- [x] https 监听,多端口监听
- [x] 反代兼容性
- [x] 获取更高的音质
- [x] QRC 解密
- [x] 多端部署(`Windows` `Linux` `MacOS`

82
src/guide/api/api.md Normal file
View File

@ -0,0 +1,82 @@
---
head:
- - meta
- name: keywords
content: API接口
title: API接口
icon: fas fa-file-alt
author: ikun0014
date: 2025-05-31
index: false
---
# 接口列表
## 1.获取播放链接(获取会员歌曲请自行充值会员后在配置文件内填写 cookie
| 平台 | 请求方法 | 请求路径 |
| ------------- | -------- | --------------------------------- |
| Kuwokw | GET | /url?source=kw&songId=m&quality=q |
| Tencenttx | GET | /url?source=tx&songId=m&quality=q |
| Kugoukg | GET | /url?source=kg&songId=h&quality=q |
| Neteasewy | GET | /url?source=wy&songId=m&quality=q |
| Migumg | GET | /url?source=mg&songId=m&quality=q |
参数详解:
m
: 各大平台歌曲详情页最后面的一串字符tx 是字母+数字混合,其它都是纯数字)
h
: 酷狗音乐歌曲的哈希hash最好通过搜索接口获得
q
: 歌曲的音质,
1. 128k
2. 320k
3. flac
4. hires
5. atmos
6. atmos_plus
7. master
## 2.搜索
| 平台 | 请求方法 | 路径 |
| ----- | -------- | ------------------------------ |
| Kugou | GET | /search/kg/song?query=k&page=p |
参数详解:
k
: 你需要搜索的歌曲的名称
p
: 页数
## 3.MV
| 平台 | 请求方法 | 路径 |
| ----- | -------- | ----------- |
| Kugou | GET | /mv/kg/mvid |
参数详解:
mvid
: 调用搜索接口获得
## 4.歌曲详情
| 平台 | 请求方法 | 路径 |
| ------- | -------- | ---------- |
| Kugou | GET | /info/kg/h |
| Tencent | GET | /info/tx/m |
参数详解:
h
: 经典 hash 值
m
: 经典歌曲 ID

14
tsconfig.json Normal file
View File

@ -0,0 +1,14 @@
{
"compilerOptions": {
"module": "NodeNext",
"moduleResolution": "NodeNext",
"target": "ES2022"
},
"include": [
"src/.vuepress/**/*.ts",
"src/.vuepress/**/*.vue"
],
"exclude": [
"node_modules"
]
}