From ac7acc4ee650f6ffd71229dc16721fdce94efb8f Mon Sep 17 00:00:00 2001 From: ikun0014 Date: Sat, 31 May 2025 07:44:16 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20MeoProje?= =?UTF-8?q?ct/lx-music-api-server@5d0de57fef2a6c20bb73bba724450453d59b77e1?= =?UTF-8?q?=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 6 +++--- assets/{404.html-BoX4t3PF.js => 404.html-B52eZklz.js} | 2 +- assets/{api.html-D8OJDBrf.js => api.html-HY3hTcwQ.js} | 2 +- assets/{app-D0kgoHmn.js => app-CVq7Ni1r.js} | 4 ++-- ...nux.html-cyYpQQQX.js => deploy-linux.html-RPPQ2VsH.js} | 4 ++-- ...s.html-agylLvEo.js => deploy-windows.html-BQcqmpEF.js} | 4 ++-- assets/{index.html-D_QKGddp.js => index.html-BoHpYDr9.js} | 2 +- assets/{index.html-DQduQf0Q.js => index.html-CtuKDaUj.js} | 2 +- assets/{index.html-Ch60ehwj.js => index.html-DhMQOp1d.js} | 2 +- assets/{index.html-BFKlvrgu.js => index.html-Dlnwdrhm.js} | 2 +- deploy/deploy-linux.html | 8 ++++---- deploy/deploy-windows.html | 8 ++++---- deploy/index.html | 8 ++++---- guide/api/api.html | 8 ++++---- guide/api/index.html | 6 +++--- guide/index.html | 8 ++++---- index.html | 8 ++++---- sitemap.xml | 2 +- 18 files changed, 43 insertions(+), 43 deletions(-) rename assets/{404.html-BoX4t3PF.js => 404.html-B52eZklz.js} (93%) rename assets/{api.html-D8OJDBrf.js => api.html-HY3hTcwQ.js} (94%) rename assets/{app-D0kgoHmn.js => app-CVq7Ni1r.js} (99%) rename assets/{deploy-linux.html-cyYpQQQX.js => deploy-linux.html-RPPQ2VsH.js} (91%) rename assets/{deploy-windows.html-agylLvEo.js => deploy-windows.html-BQcqmpEF.js} (93%) rename assets/{index.html-D_QKGddp.js => index.html-BoHpYDr9.js} (94%) rename assets/{index.html-DQduQf0Q.js => index.html-CtuKDaUj.js} (86%) rename assets/{index.html-Ch60ehwj.js => index.html-DhMQOp1d.js} (84%) rename assets/{index.html-BFKlvrgu.js => index.html-Dlnwdrhm.js} (93%) diff --git a/404.html b/404.html index 40a8d43..c168a5a 100644 --- a/404.html +++ b/404.html @@ -30,11 +30,11 @@ LX Music Api Server - - + +
跳至主要內容

404

页面不存在

我们是怎么来到这儿的?

- + diff --git a/assets/404.html-BoX4t3PF.js b/assets/404.html-B52eZklz.js similarity index 93% rename from assets/404.html-BoX4t3PF.js rename to assets/404.html-B52eZklz.js index 9d88942..2dfe337 100644 --- a/assets/404.html-BoX4t3PF.js +++ b/assets/404.html-B52eZklz.js @@ -1 +1 @@ -import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as o,a as n,o as r}from"./app-D0kgoHmn.js";const a={};function p(c,t){return r(),o("div",null,t[0]||(t[0]=[n("p",null,"404 Not Found",-1)]))}const l=e(a,[["render",p],["__file","404.html.vue"]]),m=JSON.parse('{"path":"/404.html","title":"","lang":"zh-CN","frontmatter":{"layout":"NotFound","description":"404 Not Found","head":[["meta",{"property":"og:url","content":"https://apidoc.zcmonety.xyz/404.html"}],["meta",{"property":"og:site_name","content":"LX Music Api Server"}],["meta",{"property":"og:description","content":"404 Not Found"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\",\\"description\\":\\"404 Not Found\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0.01,"words":3},"filePathRelative":null,"autoDesc":true}');export{l as comp,m as data}; +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as o,a as n,o as r}from"./app-CVq7Ni1r.js";const a={};function p(c,t){return r(),o("div",null,t[0]||(t[0]=[n("p",null,"404 Not Found",-1)]))}const l=e(a,[["render",p],["__file","404.html.vue"]]),m=JSON.parse('{"path":"/404.html","title":"","lang":"zh-CN","frontmatter":{"layout":"NotFound","description":"404 Not Found","head":[["meta",{"property":"og:url","content":"https://apidoc.zcmonety.xyz/404.html"}],["meta",{"property":"og:site_name","content":"LX Music Api Server"}],["meta",{"property":"og:description","content":"404 Not Found"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\",\\"description\\":\\"404 Not Found\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0.01,"words":3},"filePathRelative":null,"autoDesc":true}');export{l as comp,m as data}; diff --git a/assets/api.html-D8OJDBrf.js b/assets/api.html-HY3hTcwQ.js similarity index 94% rename from assets/api.html-D8OJDBrf.js rename to assets/api.html-HY3hTcwQ.js index 1ac258f..d6e75b1 100644 --- a/assets/api.html-D8OJDBrf.js +++ b/assets/api.html-HY3hTcwQ.js @@ -1 +1 @@ -import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as a,e as d,o as i}from"./app-D0kgoHmn.js";const o={};function r(l,t){return i(),a("div",null,t[0]||(t[0]=[d('

接口列表

平台请求方法请求路径
Kuwo(kw)GET/url?source=kw&songId=m&quality=q
Tencent(tx)GET/url?source=tx&songId=m&quality=q
Kugou(kg)GET/url?source=kg&songId=h&quality=q
Netease(wy)GET/url?source=wy&songId=m&quality=q
Migu(mg)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.搜索

平台请求方法路径
KugouGET/search/kg/song?query=k&page=p

参数详解:

k : 你需要搜索的歌曲的名称

p : 页数

3.MV

平台请求方法路径
KugouGET/mv/kg/mvid

参数详解:

mvid : 调用搜索接口获得

4.歌曲详情

平台请求方法路径
KugouGET/info/kg/h
TencentGET/info/tx/m

参数详解:

h : 经典 hash 值

m : 经典歌曲 ID

',22)]))}const h=e(o,[["render",r],["__file","api.html.vue"]]),s=JSON.parse('{"path":"/guide/api/api.html","title":"API接口","lang":"zh-CN","frontmatter":{"head":[["meta",{"name":"keywords","content":"API接口"}],["meta",{"property":"og:url","content":"https://apidoc.zcmonety.xyz/guide/api/api.html"}],["meta",{"property":"og:site_name","content":"LX Music Api Server"}],["meta",{"property":"og:title","content":"API接口"}],["meta",{"property":"og:description","content":"接口列表 1.获取播放链接(获取会员歌曲请自行充值会员后在配置文件内填写 cookie) 参数详解: m : 各大平台歌曲详情页最后面的一串字符(tx 是字母+数字混合,其它都是纯数字) h : 酷狗音乐歌曲的哈希(hash)值,最好通过搜索接口获得 q : 歌曲的音质, 128k 320k flac hires atmos atmos_plus ma..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-05-31T07:40:28.000Z"}],["meta",{"property":"article:author","content":"ikun0014"}],["meta",{"property":"article:published_time","content":"2025-05-31T00:00:00.000Z"}],["meta",{"property":"article:modified_time","content":"2025-05-31T07:40:28.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"API接口\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2025-05-31T00:00:00.000Z\\",\\"dateModified\\":\\"2025-05-31T07:40:28.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"ikun0014\\"}]}"]],"title":"API接口","icon":"fas fa-file-alt","author":"ikun0014","date":"2025-05-31T00:00:00.000Z","index":false,"description":"接口列表 1.获取播放链接(获取会员歌曲请自行充值会员后在配置文件内填写 cookie) 参数详解: m : 各大平台歌曲详情页最后面的一串字符(tx 是字母+数字混合,其它都是纯数字) h : 酷狗音乐歌曲的哈希(hash)值,最好通过搜索接口获得 q : 歌曲的音质, 128k 320k flac hires atmos atmos_plus ma..."},"headers":[{"level":2,"title":"1.获取播放链接(获取会员歌曲请自行充值会员后在配置文件内填写 cookie)","slug":"_1-获取播放链接-获取会员歌曲请自行充值会员后在配置文件内填写-cookie","link":"#_1-获取播放链接-获取会员歌曲请自行充值会员后在配置文件内填写-cookie","children":[]},{"level":2,"title":"2.搜索","slug":"_2-搜索","link":"#_2-搜索","children":[]},{"level":2,"title":"3.MV","slug":"_3-mv","link":"#_3-mv","children":[]},{"level":2,"title":"4.歌曲详情","slug":"_4-歌曲详情","link":"#_4-歌曲详情","children":[]}],"git":{"createdTime":1748677228000,"updatedTime":1748677228000,"contributors":[{"name":"ikun0014","email":"ikun0014@qq.com","commits":1}]},"readingTime":{"minutes":0.98,"words":294},"filePathRelative":"guide/api/api.md","localizedDate":"2025年5月31日","autoDesc":true}');export{h as comp,s as data}; +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as a,e as d,o as i}from"./app-CVq7Ni1r.js";const o={};function r(l,t){return i(),a("div",null,t[0]||(t[0]=[d('

接口列表

平台请求方法请求路径
Kuwo(kw)GET/url?source=kw&songId=m&quality=q
Tencent(tx)GET/url?source=tx&songId=m&quality=q
Kugou(kg)GET/url?source=kg&songId=h&quality=q
Netease(wy)GET/url?source=wy&songId=m&quality=q
Migu(mg)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.搜索

平台请求方法路径
KugouGET/search/kg/song?query=k&page=p

参数详解:

k : 你需要搜索的歌曲的名称

p : 页数

3.MV

平台请求方法路径
KugouGET/mv/kg/mvid

参数详解:

mvid : 调用搜索接口获得

4.歌曲详情

平台请求方法路径
KugouGET/info/kg/h
TencentGET/info/tx/m

参数详解:

h : 经典 hash 值

m : 经典歌曲 ID

',22)]))}const h=e(o,[["render",r],["__file","api.html.vue"]]),s=JSON.parse('{"path":"/guide/api/api.html","title":"API接口","lang":"zh-CN","frontmatter":{"head":[["meta",{"name":"keywords","content":"API接口"}],["meta",{"property":"og:url","content":"https://apidoc.zcmonety.xyz/guide/api/api.html"}],["meta",{"property":"og:site_name","content":"LX Music Api Server"}],["meta",{"property":"og:title","content":"API接口"}],["meta",{"property":"og:description","content":"接口列表 1.获取播放链接(获取会员歌曲请自行充值会员后在配置文件内填写 cookie) 参数详解: m : 各大平台歌曲详情页最后面的一串字符(tx 是字母+数字混合,其它都是纯数字) h : 酷狗音乐歌曲的哈希(hash)值,最好通过搜索接口获得 q : 歌曲的音质, 128k 320k flac hires atmos atmos_plus ma..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-05-31T07:43:45.000Z"}],["meta",{"property":"article:author","content":"ikun0014"}],["meta",{"property":"article:published_time","content":"2025-05-31T00:00:00.000Z"}],["meta",{"property":"article:modified_time","content":"2025-05-31T07:43:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"API接口\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2025-05-31T00:00:00.000Z\\",\\"dateModified\\":\\"2025-05-31T07:43:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"ikun0014\\"}]}"]],"title":"API接口","icon":"fas fa-file-alt","author":"ikun0014","date":"2025-05-31T00:00:00.000Z","index":false,"description":"接口列表 1.获取播放链接(获取会员歌曲请自行充值会员后在配置文件内填写 cookie) 参数详解: m : 各大平台歌曲详情页最后面的一串字符(tx 是字母+数字混合,其它都是纯数字) h : 酷狗音乐歌曲的哈希(hash)值,最好通过搜索接口获得 q : 歌曲的音质, 128k 320k flac hires atmos atmos_plus ma..."},"headers":[{"level":2,"title":"1.获取播放链接(获取会员歌曲请自行充值会员后在配置文件内填写 cookie)","slug":"_1-获取播放链接-获取会员歌曲请自行充值会员后在配置文件内填写-cookie","link":"#_1-获取播放链接-获取会员歌曲请自行充值会员后在配置文件内填写-cookie","children":[]},{"level":2,"title":"2.搜索","slug":"_2-搜索","link":"#_2-搜索","children":[]},{"level":2,"title":"3.MV","slug":"_3-mv","link":"#_3-mv","children":[]},{"level":2,"title":"4.歌曲详情","slug":"_4-歌曲详情","link":"#_4-歌曲详情","children":[]}],"git":{"createdTime":1748677425000,"updatedTime":1748677425000,"contributors":[{"name":"ikun0014","email":"ikun0014@qq.com","commits":1}]},"readingTime":{"minutes":0.98,"words":294},"filePathRelative":"guide/api/api.md","localizedDate":"2025年5月31日","autoDesc":true}');export{h as comp,s as data}; diff --git a/assets/app-D0kgoHmn.js b/assets/app-CVq7Ni1r.js similarity index 99% rename from assets/app-D0kgoHmn.js rename to assets/app-CVq7Ni1r.js index d0cf17b..206bee0 100644 --- a/assets/app-D0kgoHmn.js +++ b/assets/app-CVq7Ni1r.js @@ -1,4 +1,4 @@ -const __vite__fileDeps=["assets/index.html-DQduQf0Q.js","assets/plugin-vue_export-helper-DlAUqK2U.js","assets/index.html-Ch60ehwj.js","assets/deploy-linux.html-cyYpQQQX.js","assets/deploy-windows.html-agylLvEo.js","assets/index.html-D_QKGddp.js","assets/api.html-D8OJDBrf.js","assets/404.html-BoX4t3PF.js","assets/index.html-BFKlvrgu.js"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); +const __vite__fileDeps=["assets/index.html-CtuKDaUj.js","assets/plugin-vue_export-helper-DlAUqK2U.js","assets/index.html-DhMQOp1d.js","assets/deploy-linux.html-RPPQ2VsH.js","assets/deploy-windows.html-BQcqmpEF.js","assets/index.html-BoHpYDr9.js","assets/api.html-HY3hTcwQ.js","assets/404.html-B52eZklz.js","assets/index.html-Dlnwdrhm.js"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); /** * @vue/shared v3.5.16 * (c) 2018-present Yuxi (Evan) You and Vue contributors @@ -16,7 +16,7 @@ const __vite__fileDeps=["assets/index.html-DQduQf0Q.js","assets/plugin-vue_expor * @vue/runtime-dom v3.5.16 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Zs;const gl=typeof window<"u"&&window.trustedTypes;if(gl)try{Zs=gl.createPolicy("vue",{createHTML:e=>e})}catch{}const _a=Zs?e=>Zs.createHTML(e):e=>e,Sd="http://www.w3.org/2000/svg",Ed="http://www.w3.org/1998/Math/MathML",It=typeof document<"u"?document:null,ml=It&&It.createElement("template"),xd={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?It.createElementNS(Sd,e):t==="mathml"?It.createElementNS(Ed,e):n?It.createElement(e,{is:n}):It.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>It.createTextNode(e),createComment:e=>It.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>It.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const l=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{ml.innerHTML=_a(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const i=ml.content;if(r==="svg"||r==="mathml"){const a=i.firstChild;for(;a.firstChild;)i.appendChild(a.firstChild);i.removeChild(a)}t.insertBefore(i,n)}return[l?l.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ft="transition",Un="animation",Pn=Symbol("_vtc"),Ca={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Sa=Ae({},zi,Ca),Td=e=>(e.displayName="Transition",e.props=Sa,e),In=Td((e,{slots:t})=>f(bf,Ea(e),t)),Xt=(e,t=[])=>{ee(e)?e.forEach(n=>n(...t)):e&&e(...t)},bl=e=>e?ee(e)?e.some(t=>t.length>1):e.length>1:!1;function Ea(e){const t={};for(const I in e)I in Ca||(t[I]=e[I]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:l=`${n}-enter-active`,enterToClass:i=`${n}-enter-to`,appearFromClass:a=o,appearActiveClass:u=l,appearToClass:c=i,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,b=kd(s),y=b&&b[0],_=b&&b[1],{onBeforeEnter:w,onEnter:E,onEnterCancelled:m,onLeave:C,onLeaveCancelled:P,onBeforeAppear:A=w,onAppear:$=E,onAppearCancelled:W=m}=t,H=(I,Q,fe,pe)=>{I._enterCancelled=pe,Vt(I,Q?c:i),Vt(I,Q?u:l),fe&&fe()},L=(I,Q)=>{I._isLeaving=!1,Vt(I,d),Vt(I,h),Vt(I,p),Q&&Q()},F=I=>(Q,fe)=>{const pe=I?$:E,U=()=>H(Q,I,fe);Xt(pe,[Q,U]),yl(()=>{Vt(Q,I?a:o),wt(Q,I?c:i),bl(pe)||wl(Q,r,y,U)})};return Ae(t,{onBeforeEnter(I){Xt(w,[I]),wt(I,o),wt(I,l)},onBeforeAppear(I){Xt(A,[I]),wt(I,a),wt(I,u)},onEnter:F(!1),onAppear:F(!0),onLeave(I,Q){I._isLeaving=!0;const fe=()=>L(I,Q);wt(I,d),I._enterCancelled?(wt(I,p),eo()):(eo(),wt(I,p)),yl(()=>{I._isLeaving&&(Vt(I,d),wt(I,h),bl(C)||wl(I,r,_,fe))}),Xt(C,[I,fe])},onEnterCancelled(I){H(I,!1,void 0,!0),Xt(m,[I])},onAppearCancelled(I){H(I,!0,void 0,!0),Xt(W,[I])},onLeaveCancelled(I){L(I),Xt(P,[I])}})}function kd(e){if(e==null)return null;if(we(e))return[Ts(e.enter),Ts(e.leave)];{const t=Ts(e);return[t,t]}}function Ts(e){return Tu(e)}function wt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Pn]||(e[Pn]=new Set)).add(t)}function Vt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Pn];n&&(n.delete(t),n.size||(e[Pn]=void 0))}function yl(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Ad=0;function wl(e,t,n,r){const s=e._endId=++Ad,o=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:l,timeout:i,propCount:a}=xa(e,t);if(!l)return r();const u=l+"end";let c=0;const d=()=>{e.removeEventListener(u,p),o()},p=h=>{h.target===e&&++c>=a&&d()};setTimeout(()=>{c(n[b]||"").split(", "),s=r(`${Ft}Delay`),o=r(`${Ft}Duration`),l=_l(s,o),i=r(`${Un}Delay`),a=r(`${Un}Duration`),u=_l(i,a);let c=null,d=0,p=0;t===Ft?l>0&&(c=Ft,d=l,p=o.length):t===Un?u>0&&(c=Un,d=u,p=a.length):(d=Math.max(l,u),c=d>0?l>u?Ft:Un:null,p=c?c===Ft?o.length:a.length:0);const h=c===Ft&&/\b(transform|all)(,|$)/.test(r(`${Ft}Property`).toString());return{type:c,timeout:d,propCount:p,hasTransform:h}}function _l(e,t){for(;e.lengthCl(n)+Cl(e[r])))}function Cl(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function eo(){return document.body.offsetHeight}function Ld(e,t,n){const r=e[Pn];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Sl=Symbol("_vod"),Rd=Symbol("_vsh"),Od=Symbol(""),Pd=/(^|;)\s*display\s*:/;function Id(e,t,n){const r=e.style,s=Le(n);let o=!1;if(n&&!s){if(t)if(Le(t))for(const l of t.split(";")){const i=l.slice(0,l.indexOf(":")).trim();n[i]==null&&Ur(r,i,"")}else for(const l in t)n[l]==null&&Ur(r,l,"");for(const l in n)l==="display"&&(o=!0),Ur(r,l,n[l])}else if(s){if(t!==n){const l=r[Od];l&&(n+=";"+l),r.cssText=n,o=Pd.test(n)}}else t&&e.removeAttribute("style");Sl in e&&(e[Sl]=o?r.display:"",e[Rd]&&(r.display="none"))}const El=/\s*!important$/;function Ur(e,t,n){if(ee(n))n.forEach(r=>Ur(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Md(e,t);El.test(n)?e.setProperty(un(r),n.replace(El,""),"important"):e[r]=n}}const xl=["Webkit","Moz","ms"],ks={};function Md(e,t){const n=ks[t];if(n)return n;let r=Ke(t);if(r!=="filter"&&r in e)return ks[t]=r;r=wr(r);for(let s=0;sAs||(jd.then(()=>As=0),As=Date.now());function Bd(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;ht(Vd(r,n.value),t,5,[r])};return n.value=e,n.attached=Fd(),n}function Vd(e,t){if(ee(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const Ol=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,zd=(e,t,n,r,s,o)=>{const l=s==="svg";t==="class"?Ld(e,r,l):t==="style"?Id(e,n,r):yr(t)?vo(t)||Dd(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Wd(e,t,r,l))?(Al(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&kl(e,t,r,l,o,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Le(r))?Al(e,Ke(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),kl(e,t,r,l))};function Wd(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ol(t)&&ne(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Ol(t)&&Le(n)?!1:t in e}const Ta=new WeakMap,ka=new WeakMap,ts=Symbol("_moveCb"),Pl=Symbol("_enterCb"),qd=e=>(delete e.props.mode,e),Ud=qd({name:"TransitionGroup",props:Ae({},Sa,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Tr(),r=Vi();let s,o;return Ki(()=>{if(!s.length)return;const l=e.moveClass||`${e.name||"v"}-move`;if(!Qd(s[0].el,n.vnode.el,l)){s=[];return}s.forEach(Kd),s.forEach(Yd);const i=s.filter(Jd);eo(),i.forEach(a=>{const u=a.el,c=u.style;wt(u,l),c.transform=c.webkitTransform=c.transitionDuration="";const d=u[ts]=p=>{p&&p.target!==u||(!p||/transform$/.test(p.propertyName))&&(u.removeEventListener("transitionend",d),u[ts]=null,Vt(u,l))};u.addEventListener("transitionend",d)}),s=[]}),()=>{const l=le(e),i=Ea(l);let a=l.tag||et;if(s=[],o)for(let u=0;u{i.split(/\s+/).forEach(a=>a&&r.classList.remove(a))}),n.split(/\s+/).forEach(i=>i&&r.classList.add(i)),r.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(r);const{hasTransform:l}=xa(r);return o.removeChild(r),l}const Xd=Ae({patchProp:zd},xd);let Ls,Il=!1;function Zd(){return Ls=Il?Ls:Qf(Xd),Il=!0,Ls}const ep=(...e)=>{const t=Zd().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=np(r);if(s)return n(s,!0,tp(s))},t};function tp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function np(e){return Le(e)?document.querySelector(e):e}var rp=["link","meta","script","style","noscript","template"],sp=["title","base"],op=([e,t,n])=>sp.includes(e)?e:rp.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([r,s])=>typeof s=="boolean"?s?[r,""]:null:[r,s]).filter(r=>r!=null).sort(([r],[s])=>r.localeCompare(s)),n]):null,lp=e=>{const t=new Set,n=[];return e.forEach(r=>{const s=op(r);s&&!t.has(s)&&(t.add(s),n.push(r))}),n},ip=e=>e[0]==="/"?e:`/${e}`,Aa=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,dn=e=>/^(https?:)?\/\//.test(e),ap=/.md((\?|#).*)?$/,Mn=(e,t="/")=>!!(dn(e)||e.startsWith("/")&&!e.startsWith(t)&&!ap.test(e)),La=e=>/^[a-z][a-z0-9+.-]*:/.test(e),Ar=e=>Object.prototype.toString.call(e)==="[object Object]",cp=e=>{const[t,...n]=e.split(/(\?|#)/);if(!t||t.endsWith("/"))return e;let r=t.replace(/(^|\/)README.md$/i,"$1index.html");return r.endsWith(".md")?r=r.substring(0,r.length-3)+".html":r.endsWith(".html")||(r=r+".html"),r.endsWith("/index.html")&&(r=r.substring(0,r.length-10)),r+n.join("")},No=e=>e[e.length-1]==="/"?e.slice(0,-1):e,Ra=e=>e[0]==="/"?e.slice(1):e,up=(e,t)=>{const n=Object.keys(e).sort((r,s)=>{const o=s.split("/").length-r.split("/").length;return o!==0?o:s.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},_e=e=>typeof e=="string";const fp="modulepreload",dp=function(e){return"/"+e},Ml={},Ot=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));s=Promise.all(n.map(i=>{if(i=dp(i),i in Ml)return;Ml[i]=!0;const a=i.endsWith(".css"),u=a?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${i}"]${u}`))return;const c=document.createElement("link");if(c.rel=a?"stylesheet":fp,a||(c.as="script",c.crossOrigin=""),c.href=i,l&&c.setAttribute("nonce",l),document.head.appendChild(c),a)return new Promise((d,p)=>{c.addEventListener("load",d),c.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${i}`)))})}))}return s.then(()=>t()).catch(o=>{const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o})},pp=JSON.parse("{}"),hp=Object.fromEntries([["/",{loader:()=>Ot(()=>import("./index.html-DQduQf0Q.js"),__vite__mapDeps([0,1])),meta:{t:"首页",i:"home"}}],["/deploy/",{loader:()=>Ot(()=>import("./index.html-Ch60ehwj.js"),__vite__mapDeps([2,1])),meta:{t:"部署",i:"fas fa-file-alt"}}],["/deploy/deploy-linux.html",{loader:()=>Ot(()=>import("./deploy-linux.html-cyYpQQQX.js"),__vite__mapDeps([3,1])),meta:{t:"Linux部署教程",i:"fas fa-file-alt",I:!1}}],["/deploy/deploy-windows.html",{loader:()=>Ot(()=>import("./deploy-windows.html-agylLvEo.js"),__vite__mapDeps([4,1])),meta:{t:"Windows部署教程",i:"fas fa-file-alt",I:!1}}],["/guide/",{loader:()=>Ot(()=>import("./index.html-D_QKGddp.js"),__vite__mapDeps([5,1])),meta:{t:"介绍",i:"fas fa-info"}}],["/guide/api/api.html",{loader:()=>Ot(()=>import("./api.html-D8OJDBrf.js"),__vite__mapDeps([6,1])),meta:{t:"API接口",i:"fas fa-file-alt",I:!1}}],["/404.html",{loader:()=>Ot(()=>import("./404.html-BoX4t3PF.js"),__vite__mapDeps([7,1])),meta:{t:""}}],["/guide/api/",{loader:()=>Ot(()=>import("./index.html-BFKlvrgu.js"),__vite__mapDeps([8,1])),meta:{t:"Api"}}]]);/*! +**/let Zs;const gl=typeof window<"u"&&window.trustedTypes;if(gl)try{Zs=gl.createPolicy("vue",{createHTML:e=>e})}catch{}const _a=Zs?e=>Zs.createHTML(e):e=>e,Sd="http://www.w3.org/2000/svg",Ed="http://www.w3.org/1998/Math/MathML",It=typeof document<"u"?document:null,ml=It&&It.createElement("template"),xd={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?It.createElementNS(Sd,e):t==="mathml"?It.createElementNS(Ed,e):n?It.createElement(e,{is:n}):It.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>It.createTextNode(e),createComment:e=>It.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>It.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const l=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{ml.innerHTML=_a(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const i=ml.content;if(r==="svg"||r==="mathml"){const a=i.firstChild;for(;a.firstChild;)i.appendChild(a.firstChild);i.removeChild(a)}t.insertBefore(i,n)}return[l?l.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ft="transition",Un="animation",Pn=Symbol("_vtc"),Ca={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Sa=Ae({},zi,Ca),Td=e=>(e.displayName="Transition",e.props=Sa,e),In=Td((e,{slots:t})=>f(bf,Ea(e),t)),Xt=(e,t=[])=>{ee(e)?e.forEach(n=>n(...t)):e&&e(...t)},bl=e=>e?ee(e)?e.some(t=>t.length>1):e.length>1:!1;function Ea(e){const t={};for(const I in e)I in Ca||(t[I]=e[I]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:l=`${n}-enter-active`,enterToClass:i=`${n}-enter-to`,appearFromClass:a=o,appearActiveClass:u=l,appearToClass:c=i,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,b=kd(s),y=b&&b[0],_=b&&b[1],{onBeforeEnter:w,onEnter:E,onEnterCancelled:m,onLeave:C,onLeaveCancelled:P,onBeforeAppear:A=w,onAppear:$=E,onAppearCancelled:W=m}=t,H=(I,Q,fe,pe)=>{I._enterCancelled=pe,Vt(I,Q?c:i),Vt(I,Q?u:l),fe&&fe()},L=(I,Q)=>{I._isLeaving=!1,Vt(I,d),Vt(I,h),Vt(I,p),Q&&Q()},F=I=>(Q,fe)=>{const pe=I?$:E,U=()=>H(Q,I,fe);Xt(pe,[Q,U]),yl(()=>{Vt(Q,I?a:o),wt(Q,I?c:i),bl(pe)||wl(Q,r,y,U)})};return Ae(t,{onBeforeEnter(I){Xt(w,[I]),wt(I,o),wt(I,l)},onBeforeAppear(I){Xt(A,[I]),wt(I,a),wt(I,u)},onEnter:F(!1),onAppear:F(!0),onLeave(I,Q){I._isLeaving=!0;const fe=()=>L(I,Q);wt(I,d),I._enterCancelled?(wt(I,p),eo()):(eo(),wt(I,p)),yl(()=>{I._isLeaving&&(Vt(I,d),wt(I,h),bl(C)||wl(I,r,_,fe))}),Xt(C,[I,fe])},onEnterCancelled(I){H(I,!1,void 0,!0),Xt(m,[I])},onAppearCancelled(I){H(I,!0,void 0,!0),Xt(W,[I])},onLeaveCancelled(I){L(I),Xt(P,[I])}})}function kd(e){if(e==null)return null;if(we(e))return[Ts(e.enter),Ts(e.leave)];{const t=Ts(e);return[t,t]}}function Ts(e){return Tu(e)}function wt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Pn]||(e[Pn]=new Set)).add(t)}function Vt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Pn];n&&(n.delete(t),n.size||(e[Pn]=void 0))}function yl(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Ad=0;function wl(e,t,n,r){const s=e._endId=++Ad,o=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:l,timeout:i,propCount:a}=xa(e,t);if(!l)return r();const u=l+"end";let c=0;const d=()=>{e.removeEventListener(u,p),o()},p=h=>{h.target===e&&++c>=a&&d()};setTimeout(()=>{c(n[b]||"").split(", "),s=r(`${Ft}Delay`),o=r(`${Ft}Duration`),l=_l(s,o),i=r(`${Un}Delay`),a=r(`${Un}Duration`),u=_l(i,a);let c=null,d=0,p=0;t===Ft?l>0&&(c=Ft,d=l,p=o.length):t===Un?u>0&&(c=Un,d=u,p=a.length):(d=Math.max(l,u),c=d>0?l>u?Ft:Un:null,p=c?c===Ft?o.length:a.length:0);const h=c===Ft&&/\b(transform|all)(,|$)/.test(r(`${Ft}Property`).toString());return{type:c,timeout:d,propCount:p,hasTransform:h}}function _l(e,t){for(;e.lengthCl(n)+Cl(e[r])))}function Cl(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function eo(){return document.body.offsetHeight}function Ld(e,t,n){const r=e[Pn];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Sl=Symbol("_vod"),Rd=Symbol("_vsh"),Od=Symbol(""),Pd=/(^|;)\s*display\s*:/;function Id(e,t,n){const r=e.style,s=Le(n);let o=!1;if(n&&!s){if(t)if(Le(t))for(const l of t.split(";")){const i=l.slice(0,l.indexOf(":")).trim();n[i]==null&&Ur(r,i,"")}else for(const l in t)n[l]==null&&Ur(r,l,"");for(const l in n)l==="display"&&(o=!0),Ur(r,l,n[l])}else if(s){if(t!==n){const l=r[Od];l&&(n+=";"+l),r.cssText=n,o=Pd.test(n)}}else t&&e.removeAttribute("style");Sl in e&&(e[Sl]=o?r.display:"",e[Rd]&&(r.display="none"))}const El=/\s*!important$/;function Ur(e,t,n){if(ee(n))n.forEach(r=>Ur(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Md(e,t);El.test(n)?e.setProperty(un(r),n.replace(El,""),"important"):e[r]=n}}const xl=["Webkit","Moz","ms"],ks={};function Md(e,t){const n=ks[t];if(n)return n;let r=Ke(t);if(r!=="filter"&&r in e)return ks[t]=r;r=wr(r);for(let s=0;sAs||(jd.then(()=>As=0),As=Date.now());function Bd(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;ht(Vd(r,n.value),t,5,[r])};return n.value=e,n.attached=Fd(),n}function Vd(e,t){if(ee(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const Ol=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,zd=(e,t,n,r,s,o)=>{const l=s==="svg";t==="class"?Ld(e,r,l):t==="style"?Id(e,n,r):yr(t)?vo(t)||Dd(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Wd(e,t,r,l))?(Al(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&kl(e,t,r,l,o,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Le(r))?Al(e,Ke(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),kl(e,t,r,l))};function Wd(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ol(t)&&ne(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Ol(t)&&Le(n)?!1:t in e}const Ta=new WeakMap,ka=new WeakMap,ts=Symbol("_moveCb"),Pl=Symbol("_enterCb"),qd=e=>(delete e.props.mode,e),Ud=qd({name:"TransitionGroup",props:Ae({},Sa,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Tr(),r=Vi();let s,o;return Ki(()=>{if(!s.length)return;const l=e.moveClass||`${e.name||"v"}-move`;if(!Qd(s[0].el,n.vnode.el,l)){s=[];return}s.forEach(Kd),s.forEach(Yd);const i=s.filter(Jd);eo(),i.forEach(a=>{const u=a.el,c=u.style;wt(u,l),c.transform=c.webkitTransform=c.transitionDuration="";const d=u[ts]=p=>{p&&p.target!==u||(!p||/transform$/.test(p.propertyName))&&(u.removeEventListener("transitionend",d),u[ts]=null,Vt(u,l))};u.addEventListener("transitionend",d)}),s=[]}),()=>{const l=le(e),i=Ea(l);let a=l.tag||et;if(s=[],o)for(let u=0;u{i.split(/\s+/).forEach(a=>a&&r.classList.remove(a))}),n.split(/\s+/).forEach(i=>i&&r.classList.add(i)),r.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(r);const{hasTransform:l}=xa(r);return o.removeChild(r),l}const Xd=Ae({patchProp:zd},xd);let Ls,Il=!1;function Zd(){return Ls=Il?Ls:Qf(Xd),Il=!0,Ls}const ep=(...e)=>{const t=Zd().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=np(r);if(s)return n(s,!0,tp(s))},t};function tp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function np(e){return Le(e)?document.querySelector(e):e}var rp=["link","meta","script","style","noscript","template"],sp=["title","base"],op=([e,t,n])=>sp.includes(e)?e:rp.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([r,s])=>typeof s=="boolean"?s?[r,""]:null:[r,s]).filter(r=>r!=null).sort(([r],[s])=>r.localeCompare(s)),n]):null,lp=e=>{const t=new Set,n=[];return e.forEach(r=>{const s=op(r);s&&!t.has(s)&&(t.add(s),n.push(r))}),n},ip=e=>e[0]==="/"?e:`/${e}`,Aa=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,dn=e=>/^(https?:)?\/\//.test(e),ap=/.md((\?|#).*)?$/,Mn=(e,t="/")=>!!(dn(e)||e.startsWith("/")&&!e.startsWith(t)&&!ap.test(e)),La=e=>/^[a-z][a-z0-9+.-]*:/.test(e),Ar=e=>Object.prototype.toString.call(e)==="[object Object]",cp=e=>{const[t,...n]=e.split(/(\?|#)/);if(!t||t.endsWith("/"))return e;let r=t.replace(/(^|\/)README.md$/i,"$1index.html");return r.endsWith(".md")?r=r.substring(0,r.length-3)+".html":r.endsWith(".html")||(r=r+".html"),r.endsWith("/index.html")&&(r=r.substring(0,r.length-10)),r+n.join("")},No=e=>e[e.length-1]==="/"?e.slice(0,-1):e,Ra=e=>e[0]==="/"?e.slice(1):e,up=(e,t)=>{const n=Object.keys(e).sort((r,s)=>{const o=s.split("/").length-r.split("/").length;return o!==0?o:s.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},_e=e=>typeof e=="string";const fp="modulepreload",dp=function(e){return"/"+e},Ml={},Ot=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));s=Promise.all(n.map(i=>{if(i=dp(i),i in Ml)return;Ml[i]=!0;const a=i.endsWith(".css"),u=a?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${i}"]${u}`))return;const c=document.createElement("link");if(c.rel=a?"stylesheet":fp,a||(c.as="script",c.crossOrigin=""),c.href=i,l&&c.setAttribute("nonce",l),document.head.appendChild(c),a)return new Promise((d,p)=>{c.addEventListener("load",d),c.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${i}`)))})}))}return s.then(()=>t()).catch(o=>{const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o})},pp=JSON.parse("{}"),hp=Object.fromEntries([["/",{loader:()=>Ot(()=>import("./index.html-CtuKDaUj.js"),__vite__mapDeps([0,1])),meta:{t:"首页",i:"home"}}],["/deploy/",{loader:()=>Ot(()=>import("./index.html-DhMQOp1d.js"),__vite__mapDeps([2,1])),meta:{t:"部署",i:"fas fa-file-alt"}}],["/deploy/deploy-linux.html",{loader:()=>Ot(()=>import("./deploy-linux.html-RPPQ2VsH.js"),__vite__mapDeps([3,1])),meta:{t:"Linux部署教程",i:"fas fa-file-alt",I:!1}}],["/deploy/deploy-windows.html",{loader:()=>Ot(()=>import("./deploy-windows.html-BQcqmpEF.js"),__vite__mapDeps([4,1])),meta:{t:"Windows部署教程",i:"fas fa-file-alt",I:!1}}],["/guide/",{loader:()=>Ot(()=>import("./index.html-BoHpYDr9.js"),__vite__mapDeps([5,1])),meta:{t:"介绍",i:"fas fa-info"}}],["/guide/api/api.html",{loader:()=>Ot(()=>import("./api.html-HY3hTcwQ.js"),__vite__mapDeps([6,1])),meta:{t:"API接口",i:"fas fa-file-alt",I:!1}}],["/404.html",{loader:()=>Ot(()=>import("./404.html-B52eZklz.js"),__vite__mapDeps([7,1])),meta:{t:""}}],["/guide/api/",{loader:()=>Ot(()=>import("./index.html-Dlnwdrhm.js"),__vite__mapDeps([8,1])),meta:{t:"Api"}}]]);/*! * vue-router v4.5.1 * (c) 2025 Eduardo San Martin Morote * @license MIT diff --git a/assets/deploy-linux.html-cyYpQQQX.js b/assets/deploy-linux.html-RPPQ2VsH.js similarity index 91% rename from assets/deploy-linux.html-cyYpQQQX.js rename to assets/deploy-linux.html-RPPQ2VsH.js index f0329d0..b2e5770 100644 --- a/assets/deploy-linux.html-cyYpQQQX.js +++ b/assets/deploy-linux.html-RPPQ2VsH.js @@ -1,4 +1,4 @@ -import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as t,e as a,o as i}from"./app-D0kgoHmn.js";const s={};function o(l,e){return i(),t("div",null,e[0]||(e[0]=[a(`

Linux 部署教程,演示系统:Ubuntu 22.04

1.安装 Python,Git

sudo apt update
+import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as t,e as a,o as i}from"./app-CVq7Ni1r.js";const s={};function o(l,e){return i(),t("div",null,e[0]||(e[0]=[a(`

Linux 部署教程,演示系统:Ubuntu 22.04

1.安装 Python,Git

sudo apt update
 sudo apt install python3 python3-pip git -y
 

2.克隆仓库

git clone https://github.com/MeoProject/lx-music-api-server -b main
 
@@ -6,4 +6,4 @@ import{_ as n}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as t,e as a,
 

根据网络环境选择

3.安装依赖

pip3 install poetry
 poetry install --no-root
 

4.启动服务器

poetry run python main.py
-

如果屏幕上没有报错,那么恭喜您,部署已完成!😋

`,11)]))}const c=n(s,[["render",o],["__file","deploy-linux.html.vue"]]),u=JSON.parse('{"path":"/deploy/deploy-linux.html","title":"Linux部署教程","lang":"zh-CN","frontmatter":{"head":[["meta",{"name":"keywords","content":"Linux"}],["meta",{"property":"og:url","content":"https://apidoc.zcmonety.xyz/deploy/deploy-linux.html"}],["meta",{"property":"og:site_name","content":"LX Music Api Server"}],["meta",{"property":"og:title","content":"Linux部署教程"}],["meta",{"property":"og:description","content":"Linux 部署教程,演示系统:Ubuntu 22.04 1.安装 Python,Git 2.克隆仓库 根据网络环境选择 3.安装依赖 4.启动服务器 如果屏幕上没有报错,那么恭喜您,部署已完成!😋"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-05-31T07:40:28.000Z"}],["meta",{"property":"article:author","content":"ikun0014"}],["meta",{"property":"article:published_time","content":"2025-05-31T00:00:00.000Z"}],["meta",{"property":"article:modified_time","content":"2025-05-31T07:40:28.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Linux部署教程\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2025-05-31T00:00:00.000Z\\",\\"dateModified\\":\\"2025-05-31T07:40:28.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"ikun0014\\"}]}"]],"title":"Linux部署教程","icon":"fas fa-file-alt","author":"ikun0014","date":"2025-05-31T00:00:00.000Z","index":false,"description":"Linux 部署教程,演示系统:Ubuntu 22.04 1.安装 Python,Git 2.克隆仓库 根据网络环境选择 3.安装依赖 4.启动服务器 如果屏幕上没有报错,那么恭喜您,部署已完成!😋"},"headers":[{"level":2,"title":"Linux 部署教程,演示系统:Ubuntu 22.04","slug":"linux-部署教程-演示系统-ubuntu-22-04","link":"#linux-部署教程-演示系统-ubuntu-22-04","children":[]}],"git":{"createdTime":1748677228000,"updatedTime":1748677228000,"contributors":[{"name":"ikun0014","email":"ikun0014@qq.com","commits":1}]},"readingTime":{"minutes":0.43,"words":129},"filePathRelative":"deploy/deploy-linux.md","localizedDate":"2025年5月31日","autoDesc":true}');export{c as comp,u as data}; +

如果屏幕上没有报错,那么恭喜您,部署已完成!😋

`,11)]))}const c=n(s,[["render",o],["__file","deploy-linux.html.vue"]]),u=JSON.parse('{"path":"/deploy/deploy-linux.html","title":"Linux部署教程","lang":"zh-CN","frontmatter":{"head":[["meta",{"name":"keywords","content":"Linux"}],["meta",{"property":"og:url","content":"https://apidoc.zcmonety.xyz/deploy/deploy-linux.html"}],["meta",{"property":"og:site_name","content":"LX Music Api Server"}],["meta",{"property":"og:title","content":"Linux部署教程"}],["meta",{"property":"og:description","content":"Linux 部署教程,演示系统:Ubuntu 22.04 1.安装 Python,Git 2.克隆仓库 根据网络环境选择 3.安装依赖 4.启动服务器 如果屏幕上没有报错,那么恭喜您,部署已完成!😋"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-05-31T07:43:45.000Z"}],["meta",{"property":"article:author","content":"ikun0014"}],["meta",{"property":"article:published_time","content":"2025-05-31T00:00:00.000Z"}],["meta",{"property":"article:modified_time","content":"2025-05-31T07:43:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Linux部署教程\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2025-05-31T00:00:00.000Z\\",\\"dateModified\\":\\"2025-05-31T07:43:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"ikun0014\\"}]}"]],"title":"Linux部署教程","icon":"fas fa-file-alt","author":"ikun0014","date":"2025-05-31T00:00:00.000Z","index":false,"description":"Linux 部署教程,演示系统:Ubuntu 22.04 1.安装 Python,Git 2.克隆仓库 根据网络环境选择 3.安装依赖 4.启动服务器 如果屏幕上没有报错,那么恭喜您,部署已完成!😋"},"headers":[{"level":2,"title":"Linux 部署教程,演示系统:Ubuntu 22.04","slug":"linux-部署教程-演示系统-ubuntu-22-04","link":"#linux-部署教程-演示系统-ubuntu-22-04","children":[]}],"git":{"createdTime":1748677425000,"updatedTime":1748677425000,"contributors":[{"name":"ikun0014","email":"ikun0014@qq.com","commits":1}]},"readingTime":{"minutes":0.43,"words":129},"filePathRelative":"deploy/deploy-linux.md","localizedDate":"2025年5月31日","autoDesc":true}');export{c as comp,u as data}; diff --git a/assets/deploy-windows.html-agylLvEo.js b/assets/deploy-windows.html-BQcqmpEF.js similarity index 93% rename from assets/deploy-windows.html-agylLvEo.js rename to assets/deploy-windows.html-BQcqmpEF.js index f0c77b0..fc6b9b5 100644 --- a/assets/deploy-windows.html-agylLvEo.js +++ b/assets/deploy-windows.html-BQcqmpEF.js @@ -1,7 +1,7 @@ -import{_ as l}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as s,a as n,e as a,b as e,d as i,r,o as p}from"./app-D0kgoHmn.js";const d="/images/pydown.png",m="/images/pyinstall.png",u="/images/gitinstall.png",y={},g={href:"https://www.python.org/downloads/release/python-3119",target:"_blank",rel:"noopener noreferrer"},b={href:"https://github.moeyy.xyz/github.com/git-for-windows/git/releases/download/v2.44.0.windows.1/Git-2.44.0-64-bit.exe",target:"_blank",rel:"noopener noreferrer"};function v(c,t){const o=r("ExternalLinkIcon");return p(),s("div",null,[t[18]||(t[18]=n("h2",{id:"部署教程",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#部署教程"},[n("span",null,"部署教程")])],-1)),n("p",null,[t[1]||(t[1]=e("1.下载并且安装 Python3.10-3.11")),t[2]||(t[2]=n("br",null,null,-1)),t[3]||(t[3]=e(" 前往")),n("a",g,[t[0]||(t[0]=e("Python 官网")),i(o)]),t[4]||(t[4]=e("下拉即可找到 Python3.11.9 的下载链接")),t[5]||(t[5]=n("br",null,null,-1)),t[6]||(t[6]=n("img",{src:d,alt:"图1",loading:"lazy"},null,-1)),t[7]||(t[7]=n("br",null,null,-1)),t[8]||(t[8]=e(" 然后安装 Python")),t[9]||(t[9]=n("br",null,null,-1)),t[10]||(t[10]=n("img",{src:m,alt:"图2",loading:"lazy"},null,-1))]),n("p",null,[t[12]||(t[12]=e("2.下载并且安装 Git")),t[13]||(t[13]=n("br",null,null,-1)),n("a",b,[t[11]||(t[11]=e("点击我加速下载")),i(o)]),t[14]||(t[14]=n("br",null,null,-1)),t[15]||(t[15]=n("img",{src:u,alt:"图3",loading:"lazy"},null,-1)),t[16]||(t[16]=n("br",null,null,-1)),t[17]||(t[17]=e(" 一路点击 Next 和 Install 即可"))]),t[19]||(t[19]=a(`

3.使用 Git 克隆仓库

git clone https://github.com/MeoProject/lx-music-api-server -b main
+import{_ as l}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as s,a as n,e as a,b as e,d as i,r,o as p}from"./app-CVq7Ni1r.js";const d="/images/pydown.png",m="/images/pyinstall.png",u="/images/gitinstall.png",y={},g={href:"https://www.python.org/downloads/release/python-3119",target:"_blank",rel:"noopener noreferrer"},b={href:"https://github.moeyy.xyz/github.com/git-for-windows/git/releases/download/v2.44.0.windows.1/Git-2.44.0-64-bit.exe",target:"_blank",rel:"noopener noreferrer"};function v(c,t){const o=r("ExternalLinkIcon");return p(),s("div",null,[t[18]||(t[18]=n("h2",{id:"部署教程",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#部署教程"},[n("span",null,"部署教程")])],-1)),n("p",null,[t[1]||(t[1]=e("1.下载并且安装 Python3.10-3.11")),t[2]||(t[2]=n("br",null,null,-1)),t[3]||(t[3]=e(" 前往")),n("a",g,[t[0]||(t[0]=e("Python 官网")),i(o)]),t[4]||(t[4]=e("下拉即可找到 Python3.11.9 的下载链接")),t[5]||(t[5]=n("br",null,null,-1)),t[6]||(t[6]=n("img",{src:d,alt:"图1",loading:"lazy"},null,-1)),t[7]||(t[7]=n("br",null,null,-1)),t[8]||(t[8]=e(" 然后安装 Python")),t[9]||(t[9]=n("br",null,null,-1)),t[10]||(t[10]=n("img",{src:m,alt:"图2",loading:"lazy"},null,-1))]),n("p",null,[t[12]||(t[12]=e("2.下载并且安装 Git")),t[13]||(t[13]=n("br",null,null,-1)),n("a",b,[t[11]||(t[11]=e("点击我加速下载")),i(o)]),t[14]||(t[14]=n("br",null,null,-1)),t[15]||(t[15]=n("img",{src:u,alt:"图3",loading:"lazy"},null,-1)),t[16]||(t[16]=n("br",null,null,-1)),t[17]||(t[17]=e(" 一路点击 Next 和 Install 即可"))]),t[19]||(t[19]=a(`

3.使用 Git 克隆仓库

git clone https://github.com/MeoProject/lx-music-api-server -b main
 

4.使用 poetry 进行依赖项安装

pip install poetry
 poetry install --no-root
 

5.启动服务器

poetry run python main.py
 或者 npm run start
 
-

如果不报错,那么恭喜您,您已经完成部署😋

`,7))])}const f=l(y,[["render",v],["__file","deploy-windows.html.vue"]]),x=JSON.parse('{"path":"/deploy/deploy-windows.html","title":"Windows部署教程","lang":"zh-CN","frontmatter":{"head":[["meta",{"name":"keywords","content":"Windows部署教程"}],["meta",{"property":"og:url","content":"https://apidoc.zcmonety.xyz/deploy/deploy-windows.html"}],["meta",{"property":"og:site_name","content":"LX Music Api Server"}],["meta",{"property":"og:title","content":"Windows部署教程"}],["meta",{"property":"og:description","content":"部署教程 1.下载并且安装 Python3.10-3.11 前往Python 官网下拉即可找到 Python3.11.9 的下载链接 图1 然后安装 Python 图2 2.下载并且安装 Git 点击我加速下载 图3 一路点击 Next 和 Install 即可 3.使用 Git 克隆仓库 4.使用 poetry 进行依赖项安装 5.启动服务器 如果不..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:image","content":"https://apidoc.zcmonety.xyz/images/pydown.png"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-05-31T07:40:28.000Z"}],["meta",{"property":"article:author","content":"ikun0014"}],["meta",{"property":"article:published_time","content":"2025-05-31T00:00:00.000Z"}],["meta",{"property":"article:modified_time","content":"2025-05-31T07:40:28.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Windows部署教程\\",\\"image\\":[\\"https://apidoc.zcmonety.xyz/images/pydown.png\\",\\"https://apidoc.zcmonety.xyz/images/pyinstall.png\\",\\"https://apidoc.zcmonety.xyz/images/gitinstall.png\\"],\\"datePublished\\":\\"2025-05-31T00:00:00.000Z\\",\\"dateModified\\":\\"2025-05-31T07:40:28.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"ikun0014\\"}]}"]],"title":"Windows部署教程","icon":"fas fa-file-alt","author":"ikun0014","date":"2025-05-31T00:00:00.000Z","index":false,"description":"部署教程 1.下载并且安装 Python3.10-3.11 前往Python 官网下拉即可找到 Python3.11.9 的下载链接 图1 然后安装 Python 图2 2.下载并且安装 Git 点击我加速下载 图3 一路点击 Next 和 Install 即可 3.使用 Git 克隆仓库 4.使用 poetry 进行依赖项安装 5.启动服务器 如果不..."},"headers":[{"level":2,"title":"部署教程","slug":"部署教程","link":"#部署教程","children":[]}],"git":{"createdTime":1748677228000,"updatedTime":1748677228000,"contributors":[{"name":"ikun0014","email":"ikun0014@qq.com","commits":1}]},"readingTime":{"minutes":0.59,"words":178},"filePathRelative":"deploy/deploy-windows.md","localizedDate":"2025年5月31日","autoDesc":true}');export{f as comp,x as data}; +

如果不报错,那么恭喜您,您已经完成部署😋

`,7))])}const f=l(y,[["render",v],["__file","deploy-windows.html.vue"]]),x=JSON.parse('{"path":"/deploy/deploy-windows.html","title":"Windows部署教程","lang":"zh-CN","frontmatter":{"head":[["meta",{"name":"keywords","content":"Windows部署教程"}],["meta",{"property":"og:url","content":"https://apidoc.zcmonety.xyz/deploy/deploy-windows.html"}],["meta",{"property":"og:site_name","content":"LX Music Api Server"}],["meta",{"property":"og:title","content":"Windows部署教程"}],["meta",{"property":"og:description","content":"部署教程 1.下载并且安装 Python3.10-3.11 前往Python 官网下拉即可找到 Python3.11.9 的下载链接 图1 然后安装 Python 图2 2.下载并且安装 Git 点击我加速下载 图3 一路点击 Next 和 Install 即可 3.使用 Git 克隆仓库 4.使用 poetry 进行依赖项安装 5.启动服务器 如果不..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:image","content":"https://apidoc.zcmonety.xyz/images/pydown.png"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-05-31T07:43:45.000Z"}],["meta",{"property":"article:author","content":"ikun0014"}],["meta",{"property":"article:published_time","content":"2025-05-31T00:00:00.000Z"}],["meta",{"property":"article:modified_time","content":"2025-05-31T07:43:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Windows部署教程\\",\\"image\\":[\\"https://apidoc.zcmonety.xyz/images/pydown.png\\",\\"https://apidoc.zcmonety.xyz/images/pyinstall.png\\",\\"https://apidoc.zcmonety.xyz/images/gitinstall.png\\"],\\"datePublished\\":\\"2025-05-31T00:00:00.000Z\\",\\"dateModified\\":\\"2025-05-31T07:43:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"ikun0014\\"}]}"]],"title":"Windows部署教程","icon":"fas fa-file-alt","author":"ikun0014","date":"2025-05-31T00:00:00.000Z","index":false,"description":"部署教程 1.下载并且安装 Python3.10-3.11 前往Python 官网下拉即可找到 Python3.11.9 的下载链接 图1 然后安装 Python 图2 2.下载并且安装 Git 点击我加速下载 图3 一路点击 Next 和 Install 即可 3.使用 Git 克隆仓库 4.使用 poetry 进行依赖项安装 5.启动服务器 如果不..."},"headers":[{"level":2,"title":"部署教程","slug":"部署教程","link":"#部署教程","children":[]}],"git":{"createdTime":1748677425000,"updatedTime":1748677425000,"contributors":[{"name":"ikun0014","email":"ikun0014@qq.com","commits":1}]},"readingTime":{"minutes":0.59,"words":178},"filePathRelative":"deploy/deploy-windows.md","localizedDate":"2025年5月31日","autoDesc":true}');export{f as comp,x as data}; diff --git a/assets/index.html-D_QKGddp.js b/assets/index.html-BoHpYDr9.js similarity index 94% rename from assets/index.html-D_QKGddp.js rename to assets/index.html-BoHpYDr9.js index 56f451b..e2bf547 100644 --- a/assets/index.html-D_QKGddp.js +++ b/assets/index.html-BoHpYDr9.js @@ -1 +1 @@ -import{_ as a}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as o,a as t,e as n,b as l,d as s,r,o as d}from"./app-D0kgoHmn.js";const c={},m={href:"https://github.com/MeoProject/lx-music-api-server",target:"_blank",rel:"noopener noreferrer"},k={href:"https://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=117h8X7TPBWMLwK0Nec_TkdFpqsSs7LJ&group_code=206995059",target:"_blank",rel:"noopener noreferrer"},p={href:"https://t.me/+zBJAaMgr6yZmYWI9",target:"_blank",rel:"noopener noreferrer"};function b(u,e){const i=r("ExternalLinkIcon");return d(),o("div",null,[e[15]||(e[15]=t("h2",{id:"简述",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#简述"},[t("span",null,"简述")])],-1)),t("p",null,[e[1]||(e[1]=l("这是一个基于 Python 的 LX Music 后端实现,与 LX Music 相关的只有请求格式,其余全部重写")),e[2]||(e[2]=t("br",null,null,-1)),e[3]||(e[3]=l(" 项目基于 MIT 开源许可证开源于")),t("a",m,[e[0]||(e[0]=l("Github")),s(i)]),e[4]||(e[4]=l("上")),e[5]||(e[5]=t("br",null,null,-1)),e[6]||(e[6]=l(" 所调用 API 接口为网络上查找")),e[7]||(e[7]=t("br",null,null,-1)),e[8]||(e[8]=l(" 音乐平台不易,请尊重版权,支持正版。")),e[9]||(e[9]=t("br",null,null,-1)),e[10]||(e[10]=l(" 本项目仅用于对技术可行性的探索及研究,不接受任何商业(包括但不限于广告等)合作及捐赠。")),e[11]||(e[11]=t("br",null,null,-1)),e[12]||(e[12]=l(" 若对此有疑问请 mail to:helloplhm-qwq@outlook.com"))]),e[16]||(e[16]=t("h2",{id:"项目官方交流群",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#项目官方交流群"},[t("span",null,"项目官方交流群")])],-1)),t("ul",null,[t("li",null,[t("a",k,[e[13]||(e[13]=l("QQ")),s(i)])]),t("li",null,[t("a",p,[e[14]||(e[14]=l("Telegram")),s(i)])])]),e[17]||(e[17]=n('

项目功能

',2))])}const f=a(c,[["render",b],["__file","index.html.vue"]]),y=JSON.parse('{"path":"/guide/","title":"介绍","lang":"zh-CN","frontmatter":{"head":[["meta",{"name":"keywords","content":"项目介绍"}],["meta",{"property":"og:url","content":"https://apidoc.zcmonety.xyz/guide/"}],["meta",{"property":"og:site_name","content":"LX Music Api Server"}],["meta",{"property":"og:title","content":"介绍"}],["meta",{"property":"og:description","content":"简述 这是一个基于 Python 的 LX Music 后端实现,与 LX Music 相关的只有请求格式,其余全部重写 项目基于 MIT 开源许可证开源于Github上 所调用 API 接口为网络上查找 音乐平台不易,请尊重版权,支持正版。 本项目仅用于对技术可行性的探索及研究,不接受任何商业(包括但不限于广告等)合作及捐赠。 若对此有疑问请 mai..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-05-31T07:40:28.000Z"}],["meta",{"property":"article:author","content":"ikun0014"}],["meta",{"property":"article:published_time","content":"2025-05-31T00:00:00.000Z"}],["meta",{"property":"article:modified_time","content":"2025-05-31T07:40:28.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"介绍\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2025-05-31T00:00:00.000Z\\",\\"dateModified\\":\\"2025-05-31T07:40:28.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"ikun0014\\"}]}"]],"title":"介绍","icon":"fas fa-info","author":"ikun0014","date":"2025-05-31T00:00:00.000Z","index":true,"description":"简述 这是一个基于 Python 的 LX Music 后端实现,与 LX Music 相关的只有请求格式,其余全部重写 项目基于 MIT 开源许可证开源于Github上 所调用 API 接口为网络上查找 音乐平台不易,请尊重版权,支持正版。 本项目仅用于对技术可行性的探索及研究,不接受任何商业(包括但不限于广告等)合作及捐赠。 若对此有疑问请 mai..."},"headers":[{"level":2,"title":"简述","slug":"简述","link":"#简述","children":[]},{"level":2,"title":"项目官方交流群","slug":"项目官方交流群","link":"#项目官方交流群","children":[]},{"level":2,"title":"项目功能","slug":"项目功能","link":"#项目功能","children":[]}],"git":{"createdTime":1748677228000,"updatedTime":1748677228000,"contributors":[{"name":"ikun0014","email":"ikun0014@qq.com","commits":1}]},"readingTime":{"minutes":0.76,"words":228},"filePathRelative":"guide/README.md","localizedDate":"2025年5月31日","autoDesc":true}');export{f as comp,y as data}; +import{_ as a}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as o,a as t,e as n,b as l,d as s,r,o as d}from"./app-CVq7Ni1r.js";const c={},m={href:"https://github.com/MeoProject/lx-music-api-server",target:"_blank",rel:"noopener noreferrer"},k={href:"https://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=117h8X7TPBWMLwK0Nec_TkdFpqsSs7LJ&group_code=206995059",target:"_blank",rel:"noopener noreferrer"},p={href:"https://t.me/+zBJAaMgr6yZmYWI9",target:"_blank",rel:"noopener noreferrer"};function b(u,e){const i=r("ExternalLinkIcon");return d(),o("div",null,[e[15]||(e[15]=t("h2",{id:"简述",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#简述"},[t("span",null,"简述")])],-1)),t("p",null,[e[1]||(e[1]=l("这是一个基于 Python 的 LX Music 后端实现,与 LX Music 相关的只有请求格式,其余全部重写")),e[2]||(e[2]=t("br",null,null,-1)),e[3]||(e[3]=l(" 项目基于 MIT 开源许可证开源于")),t("a",m,[e[0]||(e[0]=l("Github")),s(i)]),e[4]||(e[4]=l("上")),e[5]||(e[5]=t("br",null,null,-1)),e[6]||(e[6]=l(" 所调用 API 接口为网络上查找")),e[7]||(e[7]=t("br",null,null,-1)),e[8]||(e[8]=l(" 音乐平台不易,请尊重版权,支持正版。")),e[9]||(e[9]=t("br",null,null,-1)),e[10]||(e[10]=l(" 本项目仅用于对技术可行性的探索及研究,不接受任何商业(包括但不限于广告等)合作及捐赠。")),e[11]||(e[11]=t("br",null,null,-1)),e[12]||(e[12]=l(" 若对此有疑问请 mail to:helloplhm-qwq@outlook.com"))]),e[16]||(e[16]=t("h2",{id:"项目官方交流群",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#项目官方交流群"},[t("span",null,"项目官方交流群")])],-1)),t("ul",null,[t("li",null,[t("a",k,[e[13]||(e[13]=l("QQ")),s(i)])]),t("li",null,[t("a",p,[e[14]||(e[14]=l("Telegram")),s(i)])])]),e[17]||(e[17]=n('

项目功能

',2))])}const f=a(c,[["render",b],["__file","index.html.vue"]]),y=JSON.parse('{"path":"/guide/","title":"介绍","lang":"zh-CN","frontmatter":{"head":[["meta",{"name":"keywords","content":"项目介绍"}],["meta",{"property":"og:url","content":"https://apidoc.zcmonety.xyz/guide/"}],["meta",{"property":"og:site_name","content":"LX Music Api Server"}],["meta",{"property":"og:title","content":"介绍"}],["meta",{"property":"og:description","content":"简述 这是一个基于 Python 的 LX Music 后端实现,与 LX Music 相关的只有请求格式,其余全部重写 项目基于 MIT 开源许可证开源于Github上 所调用 API 接口为网络上查找 音乐平台不易,请尊重版权,支持正版。 本项目仅用于对技术可行性的探索及研究,不接受任何商业(包括但不限于广告等)合作及捐赠。 若对此有疑问请 mai..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-05-31T07:43:45.000Z"}],["meta",{"property":"article:author","content":"ikun0014"}],["meta",{"property":"article:published_time","content":"2025-05-31T00:00:00.000Z"}],["meta",{"property":"article:modified_time","content":"2025-05-31T07:43:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"介绍\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2025-05-31T00:00:00.000Z\\",\\"dateModified\\":\\"2025-05-31T07:43:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"ikun0014\\"}]}"]],"title":"介绍","icon":"fas fa-info","author":"ikun0014","date":"2025-05-31T00:00:00.000Z","index":true,"description":"简述 这是一个基于 Python 的 LX Music 后端实现,与 LX Music 相关的只有请求格式,其余全部重写 项目基于 MIT 开源许可证开源于Github上 所调用 API 接口为网络上查找 音乐平台不易,请尊重版权,支持正版。 本项目仅用于对技术可行性的探索及研究,不接受任何商业(包括但不限于广告等)合作及捐赠。 若对此有疑问请 mai..."},"headers":[{"level":2,"title":"简述","slug":"简述","link":"#简述","children":[]},{"level":2,"title":"项目官方交流群","slug":"项目官方交流群","link":"#项目官方交流群","children":[]},{"level":2,"title":"项目功能","slug":"项目功能","link":"#项目功能","children":[]}],"git":{"createdTime":1748677425000,"updatedTime":1748677425000,"contributors":[{"name":"ikun0014","email":"ikun0014@qq.com","commits":1}]},"readingTime":{"minutes":0.76,"words":228},"filePathRelative":"guide/README.md","localizedDate":"2025年5月31日","autoDesc":true}');export{f as comp,y as data}; diff --git a/assets/index.html-DQduQf0Q.js b/assets/index.html-CtuKDaUj.js similarity index 86% rename from assets/index.html-DQduQf0Q.js rename to assets/index.html-CtuKDaUj.js index e7c9ca0..55a00c9 100644 --- a/assets/index.html-DQduQf0Q.js +++ b/assets/index.html-CtuKDaUj.js @@ -1 +1 @@ -import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as t,o}from"./app-D0kgoHmn.js";const i={};function a(r,n){return o(),t("div")}const p=e(i,[["render",a],["__file","index.html.vue"]]),s=JSON.parse('{"path":"/","title":"首页","lang":"zh-CN","frontmatter":{"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,"head":[["meta",{"property":"og:url","content":"https://apidoc.zcmonety.xyz/"}],["meta",{"property":"og:site_name","content":"LX Music Api Server"}],["meta",{"property":"og:title","content":"首页"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-05-31T07:40:28.000Z"}],["meta",{"property":"article:modified_time","content":"2025-05-31T07:40:28.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"首页\\"}"]]},"headers":[],"git":{"createdTime":1748677228000,"updatedTime":1748677228000,"contributors":[{"name":"ikun0014","email":"ikun0014@qq.com","commits":1}]},"readingTime":{"minutes":0.47,"words":141},"filePathRelative":"README.md","localizedDate":"2025年5月31日"}');export{p as comp,s as data}; +import{_ as e}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as t,o}from"./app-CVq7Ni1r.js";const i={};function a(r,n){return o(),t("div")}const p=e(i,[["render",a],["__file","index.html.vue"]]),s=JSON.parse('{"path":"/","title":"首页","lang":"zh-CN","frontmatter":{"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,"head":[["meta",{"property":"og:url","content":"https://apidoc.zcmonety.xyz/"}],["meta",{"property":"og:site_name","content":"LX Music Api Server"}],["meta",{"property":"og:title","content":"首页"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-05-31T07:43:45.000Z"}],["meta",{"property":"article:modified_time","content":"2025-05-31T07:43:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"首页\\"}"]]},"headers":[],"git":{"createdTime":1748677425000,"updatedTime":1748677425000,"contributors":[{"name":"ikun0014","email":"ikun0014@qq.com","commits":1}]},"readingTime":{"minutes":0.47,"words":141},"filePathRelative":"README.md","localizedDate":"2025年5月31日"}');export{p as comp,s as data}; diff --git a/assets/index.html-Ch60ehwj.js b/assets/index.html-DhMQOp1d.js similarity index 84% rename from assets/index.html-Ch60ehwj.js rename to assets/index.html-DhMQOp1d.js index 4f3b59f..767c8fa 100644 --- a/assets/index.html-Ch60ehwj.js +++ b/assets/index.html-DhMQOp1d.js @@ -1 +1 @@ -import{_ as a}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as l,a as t,b as o,d as i,w as r,r as p,o as d}from"./app-D0kgoHmn.js";const s={};function m(u,e){const n=p("RouteLink");return d(),l("div",null,[e[5]||(e[5]=t("h2",{id:"部署方法",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#部署方法"},[t("span",null,"部署方法")])],-1)),t("p",null,[e[2]||(e[2]=o("Windows请看:")),i(n,{to:"/deploy/deploy-windows.html"},{default:r(()=>e[0]||(e[0]=[o("Win")])),_:1,__:[0]}),e[3]||(e[3]=t("br",null,null,-1)),e[4]||(e[4]=o(" Linux请看:")),i(n,{to:"/deploy/deploy-linux.html"},{default:r(()=>e[1]||(e[1]=[o("Linux")])),_:1,__:[1]})])])}const f=a(s,[["render",m],["__file","index.html.vue"]]),x=JSON.parse('{"path":"/deploy/","title":"部署","lang":"zh-CN","frontmatter":{"head":[["meta",{"name":"keywords","content":"即刻开始"}],["meta",{"property":"og:url","content":"https://apidoc.zcmonety.xyz/deploy/"}],["meta",{"property":"og:site_name","content":"LX Music Api Server"}],["meta",{"property":"og:title","content":"部署"}],["meta",{"property":"og:description","content":"部署方法 Windows请看: Linux请看:"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-05-31T07:40:28.000Z"}],["meta",{"property":"article:author","content":"ikun0014"}],["meta",{"property":"article:published_time","content":"2025-05-31T00:00:00.000Z"}],["meta",{"property":"article:modified_time","content":"2025-05-31T07:40:28.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"部署\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2025-05-31T00:00:00.000Z\\",\\"dateModified\\":\\"2025-05-31T07:40:28.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"ikun0014\\"}]}"]],"title":"部署","icon":"fas fa-file-alt","author":"ikun0014","date":"2025-05-31T00:00:00.000Z","index":true,"description":"部署方法 Windows请看: Linux请看:"},"headers":[{"level":2,"title":"部署方法","slug":"部署方法","link":"#部署方法","children":[]}],"git":{"createdTime":1748677228000,"updatedTime":1748677228000,"contributors":[{"name":"ikun0014","email":"ikun0014@qq.com","commits":1}]},"readingTime":{"minutes":0.14,"words":41},"filePathRelative":"deploy/README.md","localizedDate":"2025年5月31日","autoDesc":true}');export{f as comp,x as data}; +import{_ as a}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as l,a as t,b as o,d as i,w as r,r as p,o as d}from"./app-CVq7Ni1r.js";const s={};function m(u,e){const n=p("RouteLink");return d(),l("div",null,[e[5]||(e[5]=t("h2",{id:"部署方法",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#部署方法"},[t("span",null,"部署方法")])],-1)),t("p",null,[e[2]||(e[2]=o("Windows请看:")),i(n,{to:"/deploy/deploy-windows.html"},{default:r(()=>e[0]||(e[0]=[o("Win")])),_:1,__:[0]}),e[3]||(e[3]=t("br",null,null,-1)),e[4]||(e[4]=o(" Linux请看:")),i(n,{to:"/deploy/deploy-linux.html"},{default:r(()=>e[1]||(e[1]=[o("Linux")])),_:1,__:[1]})])])}const f=a(s,[["render",m],["__file","index.html.vue"]]),x=JSON.parse('{"path":"/deploy/","title":"部署","lang":"zh-CN","frontmatter":{"head":[["meta",{"name":"keywords","content":"即刻开始"}],["meta",{"property":"og:url","content":"https://apidoc.zcmonety.xyz/deploy/"}],["meta",{"property":"og:site_name","content":"LX Music Api Server"}],["meta",{"property":"og:title","content":"部署"}],["meta",{"property":"og:description","content":"部署方法 Windows请看: Linux请看:"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2025-05-31T07:43:45.000Z"}],["meta",{"property":"article:author","content":"ikun0014"}],["meta",{"property":"article:published_time","content":"2025-05-31T00:00:00.000Z"}],["meta",{"property":"article:modified_time","content":"2025-05-31T07:43:45.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"部署\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2025-05-31T00:00:00.000Z\\",\\"dateModified\\":\\"2025-05-31T07:43:45.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"ikun0014\\"}]}"]],"title":"部署","icon":"fas fa-file-alt","author":"ikun0014","date":"2025-05-31T00:00:00.000Z","index":true,"description":"部署方法 Windows请看: Linux请看:"},"headers":[{"level":2,"title":"部署方法","slug":"部署方法","link":"#部署方法","children":[]}],"git":{"createdTime":1748677425000,"updatedTime":1748677425000,"contributors":[{"name":"ikun0014","email":"ikun0014@qq.com","commits":1}]},"readingTime":{"minutes":0.14,"words":41},"filePathRelative":"deploy/README.md","localizedDate":"2025年5月31日","autoDesc":true}');export{f as comp,x as data}; diff --git a/assets/index.html-BFKlvrgu.js b/assets/index.html-Dlnwdrhm.js similarity index 93% rename from assets/index.html-BFKlvrgu.js rename to assets/index.html-Dlnwdrhm.js index 5236245..f5d29a0 100644 --- a/assets/index.html-BFKlvrgu.js +++ b/assets/index.html-Dlnwdrhm.js @@ -1 +1 @@ -import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as o,d as a,r as n,o as r}from"./app-D0kgoHmn.js";const p={};function i(c,s){const e=n("Catalog");return r(),o("div",null,[a(e)])}const d=t(p,[["render",i],["__file","index.html.vue"]]),g=JSON.parse('{"path":"/guide/api/","title":"Api","lang":"zh-CN","frontmatter":{"title":"Api","article":false,"feed":false,"sitemap":false,"gitInclude":[],"head":[["meta",{"property":"og:url","content":"https://apidoc.zcmonety.xyz/guide/api/"}],["meta",{"property":"og:site_name","content":"LX Music Api Server"}],["meta",{"property":"og:title","content":"Api"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Api\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null}');export{d as comp,g as data}; +import{_ as t}from"./plugin-vue_export-helper-DlAUqK2U.js";import{c as o,d as a,r as n,o as r}from"./app-CVq7Ni1r.js";const p={};function i(c,s){const e=n("Catalog");return r(),o("div",null,[a(e)])}const d=t(p,[["render",i],["__file","index.html.vue"]]),g=JSON.parse('{"path":"/guide/api/","title":"Api","lang":"zh-CN","frontmatter":{"title":"Api","article":false,"feed":false,"sitemap":false,"gitInclude":[],"head":[["meta",{"property":"og:url","content":"https://apidoc.zcmonety.xyz/guide/api/"}],["meta",{"property":"og:site_name","content":"LX Music Api Server"}],["meta",{"property":"og:title","content":"Api"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Api\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null}');export{d as comp,g as data}; diff --git a/deploy/deploy-linux.html b/deploy/deploy-linux.html index 0ca0656..13cb6c5 100644 --- a/deploy/deploy-linux.html +++ b/deploy/deploy-linux.html @@ -28,10 +28,10 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Linux部署教程 | LX Music Api Server + Linux部署教程 | LX Music Api Server - - + +
跳至主要內容

Linux部署教程

ikun0014...小于 1 分钟

Linux 部署教程,演示系统:Ubuntu 22.04

1.安装 Python,Git

sudo apt update
@@ -43,6 +43,6 @@
 poetry install --no-root
 

4.启动服务器

poetry run python main.py
 

如果屏幕上没有报错,那么恭喜您,部署已完成!😋

- + diff --git a/deploy/deploy-windows.html b/deploy/deploy-windows.html index 8325852..0be78ea 100644 --- a/deploy/deploy-windows.html +++ b/deploy/deploy-windows.html @@ -28,10 +28,10 @@ document.documentElement.setAttribute("data-theme", "dark"); } - Windows部署教程 | LX Music Api Server + Windows部署教程 | LX Music Api Server - - + +
跳至主要內容

Windows部署教程

ikun0014...小于 1 分钟

部署教程

1.下载并且安装 Python3.10-3.11
前往Python 官网open in new window下拉即可找到 Python3.11.9 的下载链接
图1
然后安装 Python
图2

2.下载并且安装 Git
点击我加速下载open in new window
图3
一路点击 Next 和 Install 即可

3.使用 Git 克隆仓库

git clone https://github.com/MeoProject/lx-music-api-server -b main
@@ -41,6 +41,6 @@ poetry install --no-root
 或者 npm run start
 
 

如果不报错,那么恭喜您,您已经完成部署😋

- + diff --git a/deploy/index.html b/deploy/index.html index 27b800f..4682ab0 100644 --- a/deploy/index.html +++ b/deploy/index.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - 部署 | LX Music Api Server + 部署 | LX Music Api Server - - + + - + diff --git a/guide/api/api.html b/guide/api/api.html index 6ec377e..12f17f9 100644 --- a/guide/api/api.html +++ b/guide/api/api.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - API接口 | LX Music Api Server + API接口 | LX Music Api Server - - + +
跳至主要內容

API接口

ikun0014...小于 1 分钟

接口列表

平台请求方法请求路径
Kuwo(kw)GET/url?source=kw&songId=m&quality=q
Tencent(tx)GET/url?source=tx&songId=m&quality=q
Kugou(kg)GET/url?source=kg&songId=h&quality=q
Netease(wy)GET/url?source=wy&songId=m&quality=q
Migu(mg)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.搜索

平台请求方法路径
KugouGET/search/kg/song?query=k&page=p

参数详解:

k : 你需要搜索的歌曲的名称

p : 页数

3.MV

平台请求方法路径
KugouGET/mv/kg/mvid

参数详解:

mvid : 调用搜索接口获得

4.歌曲详情

平台请求方法路径
KugouGET/info/kg/h
TencentGET/info/tx/m

参数详解:

h : 经典 hash 值

m : 经典歌曲 ID

- + diff --git a/guide/api/index.html b/guide/api/index.html index d560f78..1f232e3 100644 --- a/guide/api/index.html +++ b/guide/api/index.html @@ -30,11 +30,11 @@ Api | LX Music Api Server - - + + - + diff --git a/guide/index.html b/guide/index.html index b8c8883..8d0e105 100644 --- a/guide/index.html +++ b/guide/index.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - 介绍 | LX Music Api Server + 介绍 | LX Music Api Server - - + +
跳至主要內容

介绍

ikun0014...小于 1 分钟

简述

这是一个基于 Python 的 LX Music 后端实现,与 LX Music 相关的只有请求格式,其余全部重写
项目基于 MIT 开源许可证开源于Githubopen in new window
所调用 API 接口为网络上查找
音乐平台不易,请尊重版权,支持正版。
本项目仅用于对技术可行性的探索及研究,不接受任何商业(包括但不限于广告等)合作及捐赠。
若对此有疑问请 mail to:helloplhm-qwq@outlook.com

项目官方交流群

项目功能

- + diff --git a/index.html b/index.html index ec6652c..81da414 100644 --- a/index.html +++ b/index.html @@ -28,13 +28,13 @@ document.documentElement.setAttribute("data-theme", "dark"); } - 首页 | LX Music Api Server + 首页 | LX Music Api Server - - + +
跳至主要內容
LX Music Api Server

LX Music Api Server

适用于 LX Music 的解析接口服务器的 Python 实现

如何部署?API调用

安全性高

拥有一个单独的安全模块,防止被恶意滥用

部署简单

只需要有一点点基础(指的是会看文档)即可在10分钟内部署完毕

快速响应

采用aiohttp进行异步请求,毫秒级响应

- + diff --git a/sitemap.xml b/sitemap.xml index 37182a3..6b56143 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,3 +1,3 @@ -https://apidoc.zcmonety.xyz/2025-05-31T07:40:28.000Zdailyhttps://apidoc.zcmonety.xyz/deploy/2025-05-31T07:40:28.000Zdailyhttps://apidoc.zcmonety.xyz/deploy/deploy-linux.html2025-05-31T07:40:28.000Zdailyhttps://apidoc.zcmonety.xyz/deploy/deploy-windows.html2025-05-31T07:40:28.000Zdailyhttps://apidoc.zcmonety.xyz/guide/2025-05-31T07:40:28.000Zdailyhttps://apidoc.zcmonety.xyz/guide/api/api.html2025-05-31T07:40:28.000Zdaily \ No newline at end of file +https://apidoc.zcmonety.xyz/2025-05-31T07:43:45.000Zdailyhttps://apidoc.zcmonety.xyz/deploy/2025-05-31T07:43:45.000Zdailyhttps://apidoc.zcmonety.xyz/deploy/deploy-linux.html2025-05-31T07:43:45.000Zdailyhttps://apidoc.zcmonety.xyz/deploy/deploy-windows.html2025-05-31T07:43:45.000Zdailyhttps://apidoc.zcmonety.xyz/guide/2025-05-31T07:43:45.000Zdailyhttps://apidoc.zcmonety.xyz/guide/api/api.html2025-05-31T07:43:45.000Zdaily \ No newline at end of file