koishi-plugin-oni-sync-bot 0.7.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +13 -1
- package/dist/style.css +1 -1
- package/lib/index.js +253 -0
- package/lib/plugins/todoList.d.ts +49 -0
- package/package.json +1 -1
- package/readme.md +153 -1
package/dist/index.js
CHANGED
|
@@ -1 +1,13 @@
|
|
|
1
|
-
import{defineComponent as z,openBlock as _,createElementBlock as g,createElementVNode as t,ref as B,computed as V,watch as Y,onMounted as j,resolveComponent as d,createBlock as D,withCtx as i,createVNode as o,unref as F,createTextVNode as T,Fragment as W,renderList as $,normalizeClass as q,toDisplayString as k,createCommentVNode as E,reactive as K}from"vue";import{store as Q,Time as J,message as A}from"@koishijs/client";/*! Element Plus Icons Vue v2.3.2 */var Z=z({name:"Bottom",__name:"bottom",setup(a){return(n,l)=>(_(),g("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[t("path",{fill:"currentColor",d:"M544 805.888V168a32 32 0 1 0-64 0v637.888L246.656 557.952a30.72 30.72 0 0 0-45.312 0 35.52 35.52 0 0 0 0 48.064l288 306.048a30.72 30.72 0 0 0 45.312 0l288-306.048a35.52 35.52 0 0 0 0-48 30.72 30.72 0 0 0-45.312 0L544 805.824z"})]))}}),ee=Z,te=z({name:"Top",__name:"top",setup(a){return(n,l)=>(_(),g("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[t("path",{fill:"currentColor",d:"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0 33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176 28.913 28.913 0 0 1-42.647 0l-219.618-233.23z"})]))}}),le=te;const se={class:"filter-container"},oe={class:"filter-row"},ae={class:"button-group"},ne={key:0,class:"empty-state"},ie="yyyy-MM-dd hh:mm:ss",re=z({__name:"page",setup(a){const n=B(),l=B("all"),s=B(""),m=B([]);function h(u){const p=J.template(ie,new Date(u.timestamp)),x=u.type.toUpperCase(),R=u.content.replace(/\u001b\[[0-9;]*m/g,"");return`[${p}] [${x}] ${R}`}const c=V(()=>m.value.filter(u=>!u.includes("[ERROR]")&&!u.includes("[WARN]"))),e=V(()=>m.value.filter(u=>u.includes("[ERROR]")||u.includes("[WARN]"))),r=V(()=>{switch(l.value){case"normal":return c.value;case"error":return e.value;default:return m.value}}),v=V(()=>{if(!s.value.trim())return r.value;const u=s.value.toLowerCase();return r.value.filter(p=>p.toLowerCase().includes(u))});function f(u){return u.includes("[ERROR]")?"log-error":u.includes("[WARN]")?"log-warn":u.includes("[INFO]")?"log-info":""}const y=()=>{n.value&&(n.value.scrollTop=0)},b=()=>{n.value&&(n.value.scrollTop=n.value.scrollHeight)};return Y(()=>Q.onilogs,u=>{u&&(m.value=u.map(h))},{deep:true,immediate:true}),Y(()=>m.value.length,()=>{setTimeout(b,0)}),j(()=>{b()}),(u,p)=>{const x=d("el-tab-pane"),R=d("el-tabs"),S=d("el-input"),M=d("el-icon"),O=d("el-button"),C=d("k-layout");return _(),D(C,null,{default:i(()=>[t("div",se,[o(R,{modelValue:l.value,"onUpdate:modelValue":p[0]||(p[0]=w=>l.value=w),class:"log-tabs"},{default:i(()=>[o(x,{name:"all",label:"全部日志"}),o(x,{name:"normal",label:"正常日志"}),o(x,{name:"error",label:"错误/警告"})]),_:1},8,["modelValue"]),t("div",oe,[o(S,{modelValue:s.value,"onUpdate:modelValue":p[1]||(p[1]=w=>s.value=w),placeholder:"搜索日志内容...",clearable:"",class:"filter-input"},null,8,["modelValue"]),t("div",ae,[o(O,{size:"small",onClick:y},{default:i(()=>[o(M,null,{default:i(()=>[o(F(le))]),_:1}),p[2]||(p[2]=T(" 顶部 ",-1))]),_:1}),o(O,{size:"small",onClick:b},{default:i(()=>[o(M,null,{default:i(()=>[o(F(ee))]),_:1}),p[3]||(p[3]=T(" 底部 ",-1))]),_:1})])])]),t("div",{class:"log-container",ref_key:"scrollRef",ref:n},[(_(true),g(W,null,$(v.value,(w,N)=>(_(),g("div",{key:N,class:"log-line"},[t("pre",{class:q(f(w))},k(w),3)]))),128)),v.value.length===0?(_(),g("div",ne,[...p[4]||(p[4]=[t("p",null,"暂无日志",-1)])])):E("v-if",true)],512)]),_:1})}}}),P=(a,n)=>{const l=a.__vccOpts||a;for(const[s,m]of n)l[s]=m;return l},ue=P(re,[["__scopeId","data-v-62639236"]]),H=10,ce=2e4,de=1.33,L={steamEngine:2e3,oilEngine:200,hydrogenEngine:500,biodieselEngine:200,CommandModule:200,RoboPilotCommandModule:200,SolidBooster:1e3,LiquidFuelTank:100,OxidizerTank:100,OxidizerTankLiquid:100,CargoBay:2e3,GasCargoBay:2e3,LiquidCargoBay:2e3,SpecialCargoBay:2e3,TouristModule:200,ResearchModule:200,person:30},I={steam:20,oil:40,hydrogen:60,biodiesel:50,booster:12e3},U={steam:900,fuel:900,oxygen:2700},pe={steam:"steamEngine",oil:"oilEngine",hydrogen:"hydrogenEngine",biodiesel:"biodieselEngine"},me={ResearchModule:"研究舱",CargoBay:"固体货舱",GasCargoBay:"气体货舱",LiquidCargoBay:"液体货舱",SpecialCargoBay:"生物货舱",TouristModule:"观光舱",RoboPilotCommandModule:"机器驾驶舱"};function X(a){return Math.ceil(Math.max(a,Math.pow(a/300,3.2)))}function _e(a){const n={};for(const[l,s]of Object.entries(a))typeof s=="number"&&s>=0&&(n[l]=s);return n}function fe(a){let n=L.CommandModule;for(const l in a)Object.prototype.hasOwnProperty.call(a,l)&&(n+=(L[l]||0)*a[l]);return n}function G(a){return a.length===0?[]:(a.sort((n,l)=>n.weight-l.weight),[a[0]])}function ve(a,n){a+=L.steamEngine;const l=[];for(let s=0;s<=H;s++){const m=a+L.SolidBooster*s,h=I.booster*s;for(let c=0;c<=U.steam;c++){const e=m+c,r=h+I.steam*c,v=X(e),f=r-v;if(f>=n){l.push({capacity:c,booster:s,weight:e,mergedDistance:r,punish:v,finalDistance:f});break}}}return G(l)}function ge(a,n,l,s,m,h,c,e){const r=Math.ceil(a/U.fuel),v=Math.ceil(a/U.oxygen),f=e==="liquid"?L.OxidizerTankLiquid:L.OxidizerTank,y=l+L.LiquidFuelTank*r+f*v,b=a*2,u=y+b,p=Math.floor(s+m*a*h),x=X(u),R=p-x;return R<c?{isValid:false}:{isValid:true,solution:{capacity:a,booster:n,fuelCount:r,oxygenCount:v,dryWeight:y,wetWeight:b,weight:u,mergedDistance:p,punish:x,finalDistance:R}}}function ye(a,n,l,s,m){const h=I[a],c=s==="liquid"?de:1;n+=L[pe[a]];const e=[];for(let r=0;r<=H;r++){const v=n+L.SolidBooster*r,f=I.booster*r;for(let y=0;y<=ce;y+=10){const b=ge(y,r,v,f,h,c,l,s);if(b.isValid){e.push(b.solution);break}}}if(e.length===0)return[];if(!m){const r=new Map;for(const v of e){const f=v.fuelCount;(!r.has(f)||r.get(f).weight>v.weight)&&r.set(f,v)}return G(Array.from(r.values()))}return G(e)}function be(a){const{type:n,distance:l,oxygenType:s,allowWaste:m,...h}=a,c=_e(h),e=fe(c);return n==="steam"?ve(e,l):ye(n,e,l,s,m)}const Ce={class:"rocket-calculator sci-fi-bg"},ke={class:"content-layout"},he={class:"config-section"},we={class:"distance-control"},xe={class:"distance-step-selector"},Re={class:"distance-input-wrapper"},Ee={class:"distance-value"},Te={class:"oxidizer-hint"},Le={class:"config-section"},Me={class:"modules-grid"},Be={class:"module-header"},Ve={class:"module-name"},Se={key:0,class:"empty-state"},Oe={key:1,class:"empty-state"},We={class:"key-stats"},qe={class:"stat-item primary"},De={class:"stat-value"},Ie={class:"stat-item success"},ze={class:"stat-value"},Ne={class:"stat-item warning"},Ae={class:"stat-value"},Fe={class:"detail-stats"},$e={class:"detail-grid"},Ue={class:"detail-item"},Ge={class:"detail-label"},Pe={class:"detail-value"},Ye={class:"detail-item"},He={class:"detail-value"},Xe={key:0,class:"detail-item"},je={class:"detail-value"},Ke={key:1,class:"detail-item"},Qe={class:"detail-value"},Je={class:"data-table-section"},Ze={class:"table-wrapper"},et=z({__name:"calculator",setup(a){const n=V(()=>{const c=[];for(let e=1e4;e<=19e4;e+=1e4)c.push(e);return c}),l=K({type:"steam",distance:1e4,oxygenType:"solid",allowWaste:false,ResearchModule:0,CargoBay:0,GasCargoBay:0,LiquidCargoBay:0,SpecialCargoBay:0,TouristModule:0,RoboPilotCommandModule:0}),s=B(null),m=()=>{try{const c=be(l);s.value=c,c.length>0?A.success("解算完成!已收敛到最优解"):A.warning("解算失败,无解空间")}catch(c){A.error("解算器异常"),console.error(c)}},h=()=>{l.type="steam",l.distance=1e4,l.oxygenType="solid",l.ResearchModule=0,l.CargoBay=0,l.GasCargoBay=0,l.LiquidCargoBay=0,l.SpecialCargoBay=0,l.TouristModule=0,l.RoboPilotCommandModule=0,s.value=null};return(c,e)=>{const r=d("el-option"),v=d("el-select"),f=d("el-form-item"),y=d("el-button"),b=d("el-radio-button"),u=d("el-radio-group"),p=d("el-form"),x=d("el-input-number"),R=d("k-card"),S=d("el-divider"),M=d("el-table-column"),O=d("el-table");return _(),g("div",Ce,[E(" 背景装饰网格 "),e[32]||(e[32]=t("div",{class:"grid-overlay"},null,-1)),o(R,{class:"header-card sci-fi-card"},{default:i(()=>[e[29]||(e[29]=t("div",{class:"header-glow"},null,-1)),e[30]||(e[30]=t("h1",{class:"sci-fi-title"},"ONI ROCKET CALCULATOR",-1)),e[31]||(e[31]=t("p",{class:"sci-fi-subtitle"},"缺氧火箭最优配置解算系统 · 基于官方物理引擎",-1)),t("div",ke,[E(" 输入控制台 "),o(R,{class:"form-card sci-fi-card"},{default:i(()=>[e[9]||(e[9]=t("div",{class:"card-header-line"},null,-1)),E(" 主配置 "),t("div",he,[e[6]||(e[6]=t("h3",{class:"section-title"},"【核心参数】",-1)),o(p,{model:l,size:"large",class:"sci-fi-form","label-position":"top"},{default:i(()=>[o(f,{label:"引擎类型"},{default:i(()=>[o(v,{modelValue:l.type,"onUpdate:modelValue":e[0]||(e[0]=C=>l.type=C),style:{width:"100%"},class:"sci-fi-select"},{default:i(()=>[o(r,{label:"蒸汽引擎",value:"steam"}),o(r,{label:"石油引擎",value:"oil"}),o(r,{label:"液氢引擎",value:"hydrogen"}),o(r,{label:"生物柴油引擎",value:"biodiesel"})]),_:1},8,["modelValue"])]),_:1}),o(f,{label:"目标轨道"},{default:i(()=>[t("div",we,[E(" 10000km 一档的步进选择器 "),t("div",xe,[(_(true),g(W,null,$(n.value,C=>(_(),D(y,{key:C,class:q(["step-btn",{active:l.distance===C}]),onClick:w=>l.distance=C},{default:i(()=>[T(k(C/1e3)+"k ",1)]),_:2},1032,["class","onClick"]))),128))]),t("div",Re,[e[2]||(e[2]=t("span",{class:"distance-label"},"当前:",-1)),t("span",Ee,k(l.distance.toLocaleString()),1),e[3]||(e[3]=t("span",{class:"unit"},"km",-1))])])]),_:1}),l.type!=="steam"?(_(),D(f,{key:0,label:"氧化剂"},{default:i(()=>[o(u,{modelValue:l.oxygenType,"onUpdate:modelValue":e[1]||(e[1]=C=>l.oxygenType=C),class:"sci-fi-radio-group"},{default:i(()=>[o(b,{label:"solid"},{default:i(()=>[...e[4]||(e[4]=[T("氧石",-1)])]),_:1}),o(b,{label:"liquid"},{default:i(()=>[...e[5]||(e[5]=[T("液氧",-1)])]),_:1})]),_:1},8,["modelValue"]),t("div",Te,[t("span",{class:q(["hint-item",{active:l.oxygenType==="solid"}])},"1.0x 效率",2),t("span",{class:q(["hint-item",{active:l.oxygenType==="liquid"}])},"1.33x 效率",2)])]),_:1})):E("v-if",true)]),_:1},8,["model"])]),e[10]||(e[10]=t("div",{class:"divider-line"},null,-1)),E(" 可选模块 "),t("div",Le,[e[8]||(e[8]=t("h3",{class:"section-title"},"【载荷配置】",-1)),o(p,{model:l,size:"large",class:"modules-form","label-position":"top"},{default:i(()=>[t("div",Me,[(_(true),g(W,null,$(F(me),(C,w)=>(_(),g("div",{key:w,class:"module-item"},[t("div",Be,[t("span",Ve,k(C),1)]),o(x,{modelValue:l[w],"onUpdate:modelValue":N=>l[w]=N,min:0,max:20,class:"module-input"},null,8,["modelValue","onUpdate:modelValue"])]))),128))]),o(f,{class:"calculate-btn-wrapper"},{default:i(()=>[o(y,{onClick:m,class:"sci-fi-calculate-btn"},{default:i(()=>[...e[7]||(e[7]=[t("span",{class:"btn-text"},"▶ 执行解算",-1),t("span",{class:"btn-glow"},null,-1)])]),_:1})]),_:1})]),_:1},8,["model"])])]),_:1}),E(" 结果显示面板 "),o(R,{class:"result-card sci-fi-card"},{default:i(()=>[e[28]||(e[28]=t("div",{class:"card-header-line"},null,-1)),s.value?s.value.length===0?(_(),g("div",Oe,[e[13]||(e[13]=t("div",{class:"empty-icon"},"⚠️",-1)),e[14]||(e[14]=t("p",{class:"empty-text error"},"解算失败",-1)),e[15]||(e[15]=t("p",{class:"empty-hint"},"无法找到满足条件的配置,请尝试减少载荷",-1)),o(y,{onClick:h,class:"sci-fi-reset-btn"},{default:i(()=>[...e[12]||(e[12]=[T("重置参数",-1)])]),_:1})])):(_(),g(W,{key:2},[e[27]||(e[27]=t("div",{class:"result-header"},[t("h3",{class:"result-title"},"✅ 最优解算结果"),t("div",{class:"result-status"},[t("span",{class:"status-dot"}),t("span",null,"CONVERGED")])],-1)),t("div",We,[t("div",qe,[e[17]||(e[17]=t("div",{class:"stat-label"},"总起飞重量",-1)),t("div",De,[T(k(s.value[0].weight.toLocaleString())+" ",1),e[16]||(e[16]=t("span",{class:"stat-unit"},"kg",-1))])]),t("div",Ie,[e[19]||(e[19]=t("div",{class:"stat-label"},"预计射程",-1)),t("div",ze,[T(k(s.value[0].finalDistance.toLocaleString())+" ",1),e[18]||(e[18]=t("span",{class:"stat-unit"},"km",-1))])]),t("div",Ne,[e[21]||(e[21]=t("div",{class:"stat-label"},"质量惩罚",-1)),t("div",Ae,[T(k(s.value[0].punish.toLocaleString())+" ",1),e[20]||(e[20]=t("span",{class:"stat-unit"},"km",-1))])])]),o(S,{class:"sci-fi-divider"}),t("div",Fe,[e[25]||(e[25]=t("h4",{class:"detail-title"},"【配置详情】",-1)),t("div",$e,[t("div",Ue,[t("span",Ge,k(l.type==="steam"?"蒸汽填充量":"燃料填充量"),1),t("span",Pe,k(s.value[0].capacity.toLocaleString())+" kg",1)]),t("div",Ye,[e[22]||(e[22]=t("span",{class:"detail-label"},"助推器数量",-1)),t("span",He,k(s.value[0].booster)+" 个",1)]),s.value[0].fuelCount!==void 0?(_(),g("div",Xe,[e[23]||(e[23]=t("span",{class:"detail-label"},"燃料舱数量",-1)),t("span",je,k(s.value[0].fuelCount)+" 个",1)])):E("v-if",true),s.value[0].oxygenCount!==void 0?(_(),g("div",Ke,[e[24]||(e[24]=t("span",{class:"detail-label"},"氧化剂舱数量",-1)),t("span",Qe,k(s.value[0].oxygenCount)+" 个",1)])):E("v-if",true)])]),o(S,{class:"sci-fi-divider"}),t("div",Je,[e[26]||(e[26]=t("h4",{class:"detail-title"},"【原始数据】",-1)),t("div",Ze,[o(O,{data:s.value,stripe:"",class:"sci-fi-table"},{default:i(()=>[o(M,{prop:"weight",label:"总重(kg)",sortable:""}),o(M,{prop:"finalDistance",label:"射程(km)",sortable:""}),o(M,{prop:"booster",label:"助推器"}),o(M,{prop:"fuelCount",label:"燃料舱"}),o(M,{prop:"oxygenCount",label:"氧化剂舱"})]),_:1},8,["data"])])])],64)):(_(),g("div",Se,[...e[11]||(e[11]=[t("div",{class:"scan-line"},null,-1),t("div",{class:"empty-icon"},"📡",-1),t("p",{class:"empty-text"},"等待输入参数...",-1),t("p",{class:"empty-hint"},"请配置核心参数与载荷",-1)])]))]),_:1})])]),_:1})])}}}),tt=P(et,[["__scopeId","data-v-3e8f9409"]]),lt={};function st(a,n){const l=d("k-slot"),s=d("el-scrollbar"),m=d("k-layout");return _(),D(m,null,{default:i(()=>[o(s,{class:"scrollbar"},{default:i(()=>[o(l,{name:"calculator"})]),_:1})]),_:1})}const ot=P(lt,[["render",st],["__scopeId","data-v-7f2607d9"]]),it=a=>{a.page({name:"同步机器人",path:"/onilogs",component:ue,fields:["onilogs"]}),a.page({name:"火箭计算器",path:"/calculator",component:ot}),a.slot({type:"calculator",component:tt})};export{it as default};
|
|
1
|
+
import{defineComponent as z,openBlock as y,createElementBlock as k,createElementVNode as c,ref as I,computed as b,watch as J,onMounted as Ee,resolveComponent as $,createBlock as N,withCtx as _,createVNode as v,unref as i,createTextVNode as U,Fragment as we,renderList as Yt,normalizeClass as T,toDisplayString as H,createCommentVNode as O,reactive as an,warn as oa,getCurrentInstance as Se,watchEffect as aa,onBeforeUnmount as lt,inject as ee,isRef as oo,onScopeDispose as sa,shallowRef as yt,provide as sn,renderSlot as Z,mergeProps as Je,toRef as wt,onUnmounted as ra,useAttrs as la,useSlots as ao,nextTick as ae,resolveDynamicComponent as ue,withModifiers as Ue,normalizeStyle as tt,Transition as rn,withDirectives as Ke,vShow as Qe,Text as ia,h as ua,shallowReactive as ca,isVNode as $t,render as Ct,toRefs as da,withKeys as dt,resolveDirective as fa}from"vue";import{store as pa,Time as va,message as Dt,send as De}from"@koishijs/client";import{isClient as me,useEventListener as so,useResizeObserver as ro,useTimeoutFn as ma}from"@vueuse/core";/*! Element Plus Icons Vue v2.3.2 */var ga=z({name:"Bottom",__name:"bottom",setup(e){return(t,n)=>(y(),k("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[c("path",{fill:"currentColor",d:"M544 805.888V168a32 32 0 1 0-64 0v637.888L246.656 557.952a30.72 30.72 0 0 0-45.312 0 35.52 35.52 0 0 0 0 48.064l288 306.048a30.72 30.72 0 0 0 45.312 0l288-306.048a35.52 35.52 0 0 0 0-48 30.72 30.72 0 0 0-45.312 0L544 805.824z"})]))}}),ha=ga,ya=z({name:"CircleCheck",__name:"circle-check",setup(e){return(t,n)=>(y(),k("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[c("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),c("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752z"})]))}}),ba=ya,_a=z({name:"CircleCloseFilled",__name:"circle-close-filled",setup(e){return(t,n)=>(y(),k("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[c("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z"})]))}}),lo=_a,wa=z({name:"CircleClose",__name:"circle-close",setup(e){return(t,n)=>(y(),k("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[c("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"}),c("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),io=wa,Ca=z({name:"Close",__name:"close",setup(e){return(t,n)=>(y(),k("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[c("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}}),Sa=Ca,Ea=z({name:"Hide",__name:"hide",setup(e){return(t,n)=>(y(),k("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[c("path",{fill:"currentColor",d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4s-12.8-9.6-22.4-9.6-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176S0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4 12.8 9.6 22.4 9.6 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4m-646.4 528Q115.2 579.2 76.8 512q43.2-72 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4m140.8-96Q352 555.2 352 512c0-44.8 16-83.2 48-112s67.2-48 112-48c28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6q-43.2 72-153.6 172.8c-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176S1024 528 1024 512s-48.001-73.6-134.401-176"}),c("path",{fill:"currentColor",d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112s-67.2 48-112 48"})]))}}),Ta=Ea,xa=z({name:"InfoFilled",__name:"info-filled",setup(e){return(t,n)=>(y(),k("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[c("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.99 12.99 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}}),uo=xa,ka=z({name:"Loading",__name:"loading",setup(e){return(t,n)=>(y(),k("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[c("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248m452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248M828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0"})]))}}),St=ka,Ma=z({name:"Plus",__name:"plus",setup(e){return(t,n)=>(y(),k("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[c("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z"})]))}}),Ia=Ma,Ba=z({name:"Refresh",__name:"refresh",setup(e){return(t,n)=>(y(),k("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[c("path",{fill:"currentColor",d:"M771.776 794.88A384 384 0 0 1 128 512h64a320 320 0 0 0 555.712 216.448H654.72a32 32 0 1 1 0-64h149.056a32 32 0 0 1 32 32v148.928a32 32 0 1 1-64 0v-50.56zM276.288 295.616h92.992a32 32 0 0 1 0 64H220.16a32 32 0 0 1-32-32V178.56a32 32 0 0 1 64 0v50.56A384 384 0 0 1 896.128 512h-64a320 320 0 0 0-555.776-216.384z"})]))}}),$a=Ba,La=z({name:"SuccessFilled",__name:"success-filled",setup(e){return(t,n)=>(y(),k("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[c("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),co=La,Oa=z({name:"Top",__name:"top",setup(e){return(t,n)=>(y(),k("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[c("path",{fill:"currentColor",d:"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0 33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176 28.913 28.913 0 0 1-42.647 0l-219.618-233.23z"})]))}}),Aa=Oa,Na=z({name:"View",__name:"view",setup(e){return(t,n)=>(y(),k("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[c("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}}),Ra=Na,Pa=z({name:"WarningFilled",__name:"warning-filled",setup(e){return(t,n)=>(y(),k("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[c("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.43 58.43 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.43 58.43 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"})]))}}),fo=Pa;const za={class:"filter-container"},Fa={class:"filter-row"},Va={class:"button-group"},Da={key:0,class:"empty-state"},Ha="yyyy-MM-dd hh:mm:ss",Ua=z({__name:"page",setup(e){const t=I(),n=I("all"),o=I(""),a=I([]);function s(M){const p=va.template(Ha,new Date(M.timestamp)),u=M.type.toUpperCase(),S=M.content.replace(/\u001b\[[0-9;]*m/g,"");return`[${p}] [${u}] ${S}`}const l=b(()=>a.value.filter(M=>!M.includes("[ERROR]")&&!M.includes("[WARN]"))),r=b(()=>a.value.filter(M=>M.includes("[ERROR]")||M.includes("[WARN]"))),d=b(()=>{switch(n.value){case"normal":return l.value;case"error":return r.value;default:return a.value}}),f=b(()=>{if(!o.value.trim())return d.value;const M=o.value.toLowerCase();return d.value.filter(p=>p.toLowerCase().includes(M))});function w(M){return M.includes("[ERROR]")?"log-error":M.includes("[WARN]")?"log-warn":M.includes("[INFO]")?"log-info":""}const h=()=>{t.value&&(t.value.scrollTop=0)},C=()=>{t.value&&(t.value.scrollTop=t.value.scrollHeight)};return J(()=>pa.onilogs,M=>{M&&(a.value=M.map(s))},{deep:true,immediate:true}),J(()=>a.value.length,()=>{setTimeout(C,0)}),Ee(()=>{C()}),(M,p)=>{const u=$("el-tab-pane"),S=$("el-tabs"),x=$("el-input"),A=$("el-icon"),K=$("el-button"),R=$("k-layout");return y(),N(R,null,{default:_(()=>[c("div",za,[v(S,{modelValue:n.value,"onUpdate:modelValue":p[0]||(p[0]=F=>n.value=F),class:"log-tabs"},{default:_(()=>[v(u,{name:"all",label:"全部日志"}),v(u,{name:"normal",label:"正常日志"}),v(u,{name:"error",label:"错误/警告"})]),_:1},8,["modelValue"]),c("div",Fa,[v(x,{modelValue:o.value,"onUpdate:modelValue":p[1]||(p[1]=F=>o.value=F),placeholder:"搜索日志内容...",clearable:"",class:"filter-input"},null,8,["modelValue"]),c("div",Va,[v(K,{size:"small",onClick:h},{default:_(()=>[v(A,null,{default:_(()=>[v(i(Aa))]),_:1}),p[2]||(p[2]=U(" 顶部 ",-1))]),_:1}),v(K,{size:"small",onClick:C},{default:_(()=>[v(A,null,{default:_(()=>[v(i(ha))]),_:1}),p[3]||(p[3]=U(" 底部 ",-1))]),_:1})])])]),c("div",{class:"log-container",ref_key:"scrollRef",ref:t},[(y(true),k(we,null,Yt(f.value,(F,q)=>(y(),k("div",{key:q,class:"log-line"},[c("pre",{class:T(w(F))},H(F),3)]))),128)),f.value.length===0?(y(),k("div",Da,[...p[4]||(p[4]=[c("p",null,"暂无日志",-1)])])):O("v-if",true)],512)]),_:1})}}}),it=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},Ka=it(Ua,[["__scopeId","data-v-62639236"]]),po=10,ja=2e4,Wa=1.33,Ce={steamEngine:2e3,oilEngine:200,hydrogenEngine:500,biodieselEngine:200,CommandModule:200,RoboPilotCommandModule:200,SolidBooster:1e3,LiquidFuelTank:100,OxidizerTank:100,OxidizerTankLiquid:100,CargoBay:2e3,GasCargoBay:2e3,LiquidCargoBay:2e3,SpecialCargoBay:2e3,TouristModule:200,ResearchModule:200,person:30},Et={steam:20,oil:40,hydrogen:60,biodiesel:50,booster:12e3},qt={steam:900,fuel:900,oxygen:2700},Ga={steam:"steamEngine",oil:"oilEngine",hydrogen:"hydrogenEngine",biodiesel:"biodieselEngine"},Ya={ResearchModule:"研究舱",CargoBay:"固体货舱",GasCargoBay:"气体货舱",LiquidCargoBay:"液体货舱",SpecialCargoBay:"生物货舱",TouristModule:"观光舱",RoboPilotCommandModule:"机器驾驶舱"};function vo(e){return Math.ceil(Math.max(e,Math.pow(e/300,3.2)))}function qa(e){const t={};for(const[n,o]of Object.entries(e))typeof o=="number"&&o>=0&&(t[n]=o);return t}function Xa(e){let t=Ce.CommandModule;for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t+=(Ce[n]||0)*e[n]);return t}function Xt(e){return e.length===0?[]:(e.sort((t,n)=>t.weight-n.weight),[e[0]])}function Za(e,t){e+=Ce.steamEngine;const n=[];for(let o=0;o<=po;o++){const a=e+Ce.SolidBooster*o,s=Et.booster*o;for(let l=0;l<=qt.steam;l++){const r=a+l,d=s+Et.steam*l,f=vo(r),w=d-f;if(w>=t){n.push({capacity:l,booster:o,weight:r,mergedDistance:d,punish:f,finalDistance:w});break}}}return Xt(n)}function Ja(e,t,n,o,a,s,l,r){const d=Math.ceil(e/qt.fuel),f=Math.ceil(e/qt.oxygen),w=r==="liquid"?Ce.OxidizerTankLiquid:Ce.OxidizerTank,h=n+Ce.LiquidFuelTank*d+w*f,C=e*2,M=h+C,p=Math.floor(o+a*e*s),u=vo(M),S=p-u;return S<l?{isValid:false}:{isValid:true,solution:{capacity:e,booster:t,fuelCount:d,oxygenCount:f,dryWeight:h,wetWeight:C,weight:M,mergedDistance:p,punish:u,finalDistance:S}}}function Qa(e,t,n,o,a){const s=Et[e],l=o==="liquid"?Wa:1;t+=Ce[Ga[e]];const r=[];for(let d=0;d<=po;d++){const f=t+Ce.SolidBooster*d,w=Et.booster*d;for(let h=0;h<=ja;h+=10){const C=Ja(h,d,f,w,s,l,n,o);if(C.isValid){r.push(C.solution);break}}}if(r.length===0)return[];if(!a){const d=new Map;for(const f of r){const w=f.fuelCount;(!d.has(w)||d.get(w).weight>f.weight)&&d.set(w,f)}return Xt(Array.from(d.values()))}return Xt(r)}function es(e){const{type:t,distance:n,oxygenType:o,allowWaste:a,...s}=e,l=qa(s),r=Xa(l);return t==="steam"?Za(r,n):Qa(t,r,n,o,a)}const ts={class:"rocket-calculator sci-fi-bg"},ns={class:"content-layout"},os={class:"config-section"},as={class:"distance-control"},ss={class:"distance-step-selector"},rs={class:"distance-input-wrapper"},ls={class:"distance-value"},is={class:"oxidizer-hint"},us={class:"config-section"},cs={class:"modules-grid"},ds={class:"module-header"},fs={class:"module-name"},ps={key:0,class:"empty-state"},vs={key:1,class:"empty-state"},ms={class:"key-stats"},gs={class:"stat-item primary"},hs={class:"stat-value"},ys={class:"stat-item success"},bs={class:"stat-value"},_s={class:"stat-item warning"},ws={class:"stat-value"},Cs={class:"detail-stats"},Ss={class:"detail-grid"},Es={class:"detail-item"},Ts={class:"detail-label"},xs={class:"detail-value"},ks={class:"detail-item"},Ms={class:"detail-value"},Is={key:0,class:"detail-item"},Bs={class:"detail-value"},$s={key:1,class:"detail-item"},Ls={class:"detail-value"},Os={class:"data-table-section"},As={class:"table-wrapper"},Ns=z({__name:"calculator",setup(e){const t=b(()=>{const l=[];for(let r=1e4;r<=19e4;r+=1e4)l.push(r);return l}),n=an({type:"steam",distance:1e4,oxygenType:"solid",allowWaste:false,ResearchModule:0,CargoBay:0,GasCargoBay:0,LiquidCargoBay:0,SpecialCargoBay:0,TouristModule:0,RoboPilotCommandModule:0}),o=I(null),a=()=>{try{const l=es(n);o.value=l,l.length>0?Dt.success("解算完成!已收敛到最优解"):Dt.warning("解算失败,无解空间")}catch(l){Dt.error("解算器异常"),console.error(l)}},s=()=>{n.type="steam",n.distance=1e4,n.oxygenType="solid",n.ResearchModule=0,n.CargoBay=0,n.GasCargoBay=0,n.LiquidCargoBay=0,n.SpecialCargoBay=0,n.TouristModule=0,n.RoboPilotCommandModule=0,o.value=null};return(l,r)=>{const d=$("el-option"),f=$("el-select"),w=$("el-form-item"),h=$("el-button"),C=$("el-radio-button"),M=$("el-radio-group"),p=$("el-form"),u=$("el-input-number"),S=$("k-card"),x=$("el-divider"),A=$("el-table-column"),K=$("el-table");return y(),k("div",ts,[O(" 背景装饰网格 "),r[32]||(r[32]=c("div",{class:"grid-overlay"},null,-1)),v(S,{class:"header-card sci-fi-card"},{default:_(()=>[r[29]||(r[29]=c("div",{class:"header-glow"},null,-1)),r[30]||(r[30]=c("h1",{class:"sci-fi-title"},"ONI ROCKET CALCULATOR",-1)),r[31]||(r[31]=c("p",{class:"sci-fi-subtitle"},"缺氧火箭最优配置解算系统 · 基于官方物理引擎",-1)),c("div",ns,[O(" 输入控制台 "),v(S,{class:"form-card sci-fi-card"},{default:_(()=>[r[9]||(r[9]=c("div",{class:"card-header-line"},null,-1)),O(" 主配置 "),c("div",os,[r[6]||(r[6]=c("h3",{class:"section-title"},"【核心参数】",-1)),v(p,{model:n,size:"large",class:"sci-fi-form","label-position":"top"},{default:_(()=>[v(w,{label:"引擎类型"},{default:_(()=>[v(f,{modelValue:n.type,"onUpdate:modelValue":r[0]||(r[0]=R=>n.type=R),style:{width:"100%"},class:"sci-fi-select"},{default:_(()=>[v(d,{label:"蒸汽引擎",value:"steam"}),v(d,{label:"石油引擎",value:"oil"}),v(d,{label:"液氢引擎",value:"hydrogen"}),v(d,{label:"生物柴油引擎",value:"biodiesel"})]),_:1},8,["modelValue"])]),_:1}),v(w,{label:"目标轨道"},{default:_(()=>[c("div",as,[O(" 10000km 一档的步进选择器 "),c("div",ss,[(y(true),k(we,null,Yt(t.value,R=>(y(),N(h,{key:R,class:T(["step-btn",{active:n.distance===R}]),onClick:F=>n.distance=R},{default:_(()=>[U(H(R/1e3)+"k ",1)]),_:2},1032,["class","onClick"]))),128))]),c("div",rs,[r[2]||(r[2]=c("span",{class:"distance-label"},"当前:",-1)),c("span",ls,H(n.distance.toLocaleString()),1),r[3]||(r[3]=c("span",{class:"unit"},"km",-1))])])]),_:1}),n.type!=="steam"?(y(),N(w,{key:0,label:"氧化剂"},{default:_(()=>[v(M,{modelValue:n.oxygenType,"onUpdate:modelValue":r[1]||(r[1]=R=>n.oxygenType=R),class:"sci-fi-radio-group"},{default:_(()=>[v(C,{label:"solid"},{default:_(()=>[...r[4]||(r[4]=[U("氧石",-1)])]),_:1}),v(C,{label:"liquid"},{default:_(()=>[...r[5]||(r[5]=[U("液氧",-1)])]),_:1})]),_:1},8,["modelValue"]),c("div",is,[c("span",{class:T(["hint-item",{active:n.oxygenType==="solid"}])},"1.0x 效率",2),c("span",{class:T(["hint-item",{active:n.oxygenType==="liquid"}])},"1.33x 效率",2)])]),_:1})):O("v-if",true)]),_:1},8,["model"])]),r[10]||(r[10]=c("div",{class:"divider-line"},null,-1)),O(" 可选模块 "),c("div",us,[r[8]||(r[8]=c("h3",{class:"section-title"},"【载荷配置】",-1)),v(p,{model:n,size:"large",class:"modules-form","label-position":"top"},{default:_(()=>[c("div",cs,[(y(true),k(we,null,Yt(i(Ya),(R,F)=>(y(),k("div",{key:F,class:"module-item"},[c("div",ds,[c("span",fs,H(R),1)]),v(u,{modelValue:n[F],"onUpdate:modelValue":q=>n[F]=q,min:0,max:20,class:"module-input"},null,8,["modelValue","onUpdate:modelValue"])]))),128))]),v(w,{class:"calculate-btn-wrapper"},{default:_(()=>[v(h,{onClick:a,class:"sci-fi-calculate-btn"},{default:_(()=>[...r[7]||(r[7]=[c("span",{class:"btn-text"},"▶ 执行解算",-1),c("span",{class:"btn-glow"},null,-1)])]),_:1})]),_:1})]),_:1},8,["model"])])]),_:1}),O(" 结果显示面板 "),v(S,{class:"result-card sci-fi-card"},{default:_(()=>[r[28]||(r[28]=c("div",{class:"card-header-line"},null,-1)),o.value?o.value.length===0?(y(),k("div",vs,[r[13]||(r[13]=c("div",{class:"empty-icon"},"⚠️",-1)),r[14]||(r[14]=c("p",{class:"empty-text error"},"解算失败",-1)),r[15]||(r[15]=c("p",{class:"empty-hint"},"无法找到满足条件的配置,请尝试减少载荷",-1)),v(h,{onClick:s,class:"sci-fi-reset-btn"},{default:_(()=>[...r[12]||(r[12]=[U("重置参数",-1)])]),_:1})])):(y(),k(we,{key:2},[r[27]||(r[27]=c("div",{class:"result-header"},[c("h3",{class:"result-title"},"✅ 最优解算结果"),c("div",{class:"result-status"},[c("span",{class:"status-dot"}),c("span",null,"CONVERGED")])],-1)),c("div",ms,[c("div",gs,[r[17]||(r[17]=c("div",{class:"stat-label"},"总起飞重量",-1)),c("div",hs,[U(H(o.value[0].weight.toLocaleString())+" ",1),r[16]||(r[16]=c("span",{class:"stat-unit"},"kg",-1))])]),c("div",ys,[r[19]||(r[19]=c("div",{class:"stat-label"},"预计射程",-1)),c("div",bs,[U(H(o.value[0].finalDistance.toLocaleString())+" ",1),r[18]||(r[18]=c("span",{class:"stat-unit"},"km",-1))])]),c("div",_s,[r[21]||(r[21]=c("div",{class:"stat-label"},"质量惩罚",-1)),c("div",ws,[U(H(o.value[0].punish.toLocaleString())+" ",1),r[20]||(r[20]=c("span",{class:"stat-unit"},"km",-1))])])]),v(x,{class:"sci-fi-divider"}),c("div",Cs,[r[25]||(r[25]=c("h4",{class:"detail-title"},"【配置详情】",-1)),c("div",Ss,[c("div",Es,[c("span",Ts,H(n.type==="steam"?"蒸汽填充量":"燃料填充量"),1),c("span",xs,H(o.value[0].capacity.toLocaleString())+" kg",1)]),c("div",ks,[r[22]||(r[22]=c("span",{class:"detail-label"},"助推器数量",-1)),c("span",Ms,H(o.value[0].booster)+" 个",1)]),o.value[0].fuelCount!==void 0?(y(),k("div",Is,[r[23]||(r[23]=c("span",{class:"detail-label"},"燃料舱数量",-1)),c("span",Bs,H(o.value[0].fuelCount)+" 个",1)])):O("v-if",true),o.value[0].oxygenCount!==void 0?(y(),k("div",$s,[r[24]||(r[24]=c("span",{class:"detail-label"},"氧化剂舱数量",-1)),c("span",Ls,H(o.value[0].oxygenCount)+" 个",1)])):O("v-if",true)])]),v(x,{class:"sci-fi-divider"}),c("div",Os,[r[26]||(r[26]=c("h4",{class:"detail-title"},"【原始数据】",-1)),c("div",As,[v(K,{data:o.value,stripe:"",class:"sci-fi-table"},{default:_(()=>[v(A,{prop:"weight",label:"总重(kg)",sortable:""}),v(A,{prop:"finalDistance",label:"射程(km)",sortable:""}),v(A,{prop:"booster",label:"助推器"}),v(A,{prop:"fuelCount",label:"燃料舱"}),v(A,{prop:"oxygenCount",label:"氧化剂舱"})]),_:1},8,["data"])])])],64)):(y(),k("div",ps,[...r[11]||(r[11]=[c("div",{class:"scan-line"},null,-1),c("div",{class:"empty-icon"},"📡",-1),c("p",{class:"empty-text"},"等待输入参数...",-1),c("p",{class:"empty-hint"},"请配置核心参数与载荷",-1)])]))]),_:1})])]),_:1})])}}}),Rs=it(Ns,[["__scopeId","data-v-3e8f9409"]]),Ps={};function zs(e,t){const n=$("k-slot"),o=$("el-scrollbar"),a=$("k-layout");return y(),N(a,null,{default:_(()=>[v(o,{class:"scrollbar"},{default:_(()=>[v(n,{name:"calculator"})]),_:1})]),_:1})}const Fs=it(Ps,[["render",zs],["__scopeId","data-v-7f2607d9"]]),Vs={};function Ds(e,t){const n=$("k-slot"),o=$("el-scrollbar"),a=$("k-layout");return y(),N(a,null,{default:_(()=>[v(o,{class:"scrollbar"},{default:_(()=>[v(n,{name:"onitodos"})]),_:1})]),_:1})}const Hs=it(Vs,[["render",Ds],["__scopeId","data-v-4a10404d"]]),Us='a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])',Ks=e=>getComputedStyle(e).position==="fixed"?false:e.offsetParent!==null,In=e=>Array.from(e.querySelectorAll(Us)).filter(t=>js(t)&&Ks(t)),js=e=>{if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return true;if(e.disabled)return false;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return!(e.type==="hidden"||e.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return true;default:return false}},Ws=()=>me&&/firefox/i.test(window.navigator.userAgent);/**
|
|
2
|
+
* @vue/shared v3.5.29
|
|
3
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
|
+
* @license MIT
|
|
5
|
+
**/const et=()=>{},Gs=Object.prototype.hasOwnProperty,Tt=(e,t)=>Gs.call(e,t),Ne=e=>typeof e=="function",he=e=>typeof e=="string",nt=e=>e!==null&&typeof e=="object",Ys=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},qs=/-\w/g,Xs=Ys(e=>e.replace(qs,t=>t.slice(1).toUpperCase()));var Zs=typeof global=="object"&&global&&global.Object===Object&&global,Js=typeof self=="object"&&self&&self.Object===Object&&self,ln=Zs||Js||Function("return this")(),Be=ln.Symbol,mo=Object.prototype,Qs=mo.hasOwnProperty,er=mo.toString,Ze=Be?Be.toStringTag:void 0;function tr(e){var t=Qs.call(e,Ze),n=e[Ze];try{e[Ze]=void 0;var o=true}catch{}var a=er.call(e);return o&&(t?e[Ze]=n:delete e[Ze]),a}var nr=Object.prototype,or=nr.toString;function ar(e){return or.call(e)}var sr="[object Null]",rr="[object Undefined]",Bn=Be?Be.toStringTag:void 0;function un(e){return e==null?e===void 0?rr:sr:Bn&&Bn in Object(e)?tr(e):ar(e)}function cn(e){return e!=null&&typeof e=="object"}var lr="[object Symbol]";function dn(e){return typeof e=="symbol"||cn(e)&&un(e)==lr}function ir(e,t){for(var n=-1,o=e==null?0:e.length,a=Array(o);++n<o;)a[n]=t(e[n],n,e);return a}var ut=Array.isArray,$n=Be?Be.prototype:void 0,Ln=$n?$n.toString:void 0;function go(e){if(typeof e=="string")return e;if(ut(e))return ir(e,go)+"";if(dn(e))return Ln?Ln.call(e):"";var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}function xt(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function ur(e){return e}var cr="[object AsyncFunction]",dr="[object Function]",fr="[object GeneratorFunction]",pr="[object Proxy]";function vr(e){if(!xt(e))return false;var t=un(e);return t==dr||t==fr||t==cr||t==pr}var Ht=ln["__core-js_shared__"],On=function(){var e=/[^.]+$/.exec(Ht&&Ht.keys&&Ht.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function mr(e){return!!On&&On in e}var gr=Function.prototype,hr=gr.toString;function yr(e){if(e!=null){try{return hr.call(e)}catch{}try{return e+""}catch{}}return""}var br=/[\\^$.*+?()[\]{}|]/g,_r=/^\[object .+?Constructor\]$/,wr=Function.prototype,Cr=Object.prototype,Sr=wr.toString,Er=Cr.hasOwnProperty,Tr=RegExp("^"+Sr.call(Er).replace(br,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function xr(e){if(!xt(e)||mr(e))return false;var t=vr(e)?Tr:_r;return t.test(yr(e))}function kr(e,t){return e==null?void 0:e[t]}function fn(e,t){var n=kr(e,t);return xr(n)?n:void 0}function Mr(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var Ir=800,Br=16,$r=Date.now;function Lr(e){var t=0,n=0;return function(){var o=$r(),a=Br-(o-n);if(n=o,a>0){if(++t>=Ir)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function Or(e){return function(){return e}}var kt=function(){try{var e=fn(Object,"defineProperty");return e({},"",{}),e}catch{}}(),Ar=kt?function(e,t){return kt(e,"toString",{configurable:true,enumerable:false,value:Or(t),writable:true})}:ur,Nr=Lr(Ar),Rr=9007199254740991,Pr=/^(?:0|[1-9]\d*)$/;function ho(e,t){var n=typeof e;return t=t??Rr,!!t&&(n=="number"||n!="symbol"&&Pr.test(e))&&e>-1&&e%1==0&&e<t}function zr(e,t,n){t=="__proto__"&&kt?kt(e,t,{configurable:true,enumerable:true,value:n,writable:true}):e[t]=n}function yo(e,t){return e===t||e!==e&&t!==t}var Fr=Object.prototype,Vr=Fr.hasOwnProperty;function Dr(e,t,n){var o=e[t];(!(Vr.call(e,t)&&yo(o,n))||n===void 0&&!(t in e))&&zr(e,t,n)}var An=Math.max;function Hr(e,t,n){return t=An(t===void 0?e.length-1:t,0),function(){for(var o=arguments,a=-1,s=An(o.length-t,0),l=Array(s);++a<s;)l[a]=o[t+a];a=-1;for(var r=Array(t+1);++a<t;)r[a]=o[a];return r[t]=n(l),Mr(e,this,r)}}var Ur=9007199254740991;function Kr(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Ur}var jr="[object Arguments]";function Nn(e){return cn(e)&&un(e)==jr}var bo=Object.prototype,Wr=bo.hasOwnProperty,Gr=bo.propertyIsEnumerable,_o=Nn(function(){return arguments}())?Nn:function(e){return cn(e)&&Wr.call(e,"callee")&&!Gr.call(e,"callee")},Yr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qr=/^\w*$/;function Xr(e,t){if(ut(e))return false;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||dn(e)?true:qr.test(e)||!Yr.test(e)||t!=null&&e in Object(t)}var ot=fn(Object,"create");function Zr(){this.__data__=ot?ot(null):{},this.size=0}function Jr(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Qr="__lodash_hash_undefined__",el=Object.prototype,tl=el.hasOwnProperty;function nl(e){var t=this.__data__;if(ot){var n=t[e];return n===Qr?void 0:n}return tl.call(t,e)?t[e]:void 0}var ol=Object.prototype,al=ol.hasOwnProperty;function sl(e){var t=this.__data__;return ot?t[e]!==void 0:al.call(t,e)}var rl="__lodash_hash_undefined__";function ll(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=ot&&t===void 0?rl:t,this}function Re(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var o=e[t];this.set(o[0],o[1])}}Re.prototype.clear=Zr;Re.prototype.delete=Jr;Re.prototype.get=nl;Re.prototype.has=sl;Re.prototype.set=ll;function il(){this.__data__=[],this.size=0}function Lt(e,t){for(var n=e.length;n--;)if(yo(e[n][0],t))return n;return-1}var ul=Array.prototype,cl=ul.splice;function dl(e){var t=this.__data__,n=Lt(t,e);if(n<0)return false;var o=t.length-1;return n==o?t.pop():cl.call(t,n,1),--this.size,true}function fl(e){var t=this.__data__,n=Lt(t,e);return n<0?void 0:t[n][1]}function pl(e){return Lt(this.__data__,e)>-1}function vl(e,t){var n=this.__data__,o=Lt(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this}function We(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var o=e[t];this.set(o[0],o[1])}}We.prototype.clear=il;We.prototype.delete=dl;We.prototype.get=fl;We.prototype.has=pl;We.prototype.set=vl;var ml=fn(ln,"Map");function gl(){this.size=0,this.__data__={hash:new Re,map:new(ml||We),string:new Re}}function hl(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function Ot(e,t){var n=e.__data__;return hl(t)?n[typeof t=="string"?"string":"hash"]:n.map}function yl(e){var t=Ot(this,e).delete(e);return this.size-=t?1:0,t}function bl(e){return Ot(this,e).get(e)}function _l(e){return Ot(this,e).has(e)}function wl(e,t){var n=Ot(this,e),o=n.size;return n.set(e,t),this.size+=n.size==o?0:1,this}function ze(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var o=e[t];this.set(o[0],o[1])}}ze.prototype.clear=gl;ze.prototype.delete=yl;ze.prototype.get=bl;ze.prototype.has=_l;ze.prototype.set=wl;var Cl="Expected a function";function pn(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(Cl);var n=function(){var o=arguments,a=t?t.apply(this,o):o[0],s=n.cache;if(s.has(a))return s.get(a);var l=e.apply(this,o);return n.cache=s.set(a,l)||s,l};return n.cache=new(pn.Cache||ze),n}pn.Cache=ze;var Sl=500;function El(e){var t=pn(e,function(o){return n.size===Sl&&n.clear(),o}),n=t.cache;return t}var Tl=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,xl=/\\(\\)?/g,kl=El(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(Tl,function(n,o,a,s){t.push(a?s.replace(xl,"$1"):o||n)}),t});function Ml(e){return e==null?"":go(e)}function At(e,t){return ut(e)?e:Xr(e,t)?[e]:kl(Ml(e))}function vn(e){if(typeof e=="string"||dn(e))return e;var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}function wo(e,t){t=At(t,e);for(var n=0,o=t.length;e!=null&&n<o;)e=e[vn(t[n++])];return n&&n==o?e:void 0}function Il(e,t,n){var o=e==null?void 0:wo(e,t);return o===void 0?n:o}function Bl(e,t){for(var n=-1,o=t.length,a=e.length;++n<o;)e[a+n]=t[n];return e}var Rn=Be?Be.isConcatSpreadable:void 0;function $l(e){return ut(e)||_o(e)||!!(Rn&&e&&e[Rn])}function Ll(e,t,n,o,a){var s=-1,l=e.length;for(n||(n=$l),a||(a=[]);++s<l;){var r=e[s];n(r)?Bl(a,r):a[a.length]=r}return a}function Ol(e){var t=e==null?0:e.length;return t?Ll(e):[]}function Al(e){return Nr(Hr(e,void 0,Ol),e+"")}function Nl(e,t){return e!=null&&t in Object(e)}function Rl(e,t,n){t=At(t,e);for(var o=-1,a=t.length,s=false;++o<a;){var l=vn(t[o]);if(!(s=e!=null&&n(e,l)))break;e=e[l]}return s||++o!=a?s:(a=e==null?0:e.length,!!a&&Kr(a)&&ho(l,a)&&(ut(e)||_o(e)))}function Pl(e,t){return e!=null&&Rl(e,t,Nl)}function Co(e){for(var t=-1,n=e==null?0:e.length,o={};++t<n;){var a=e[t];o[a[0]]=a[1]}return o}function So(e){return e==null}function zl(e,t,n,o){if(!xt(e))return e;t=At(t,e);for(var a=-1,s=t.length,l=s-1,r=e;r!=null&&++a<s;){var d=vn(t[a]),f=n;if(d==="__proto__"||d==="constructor"||d==="prototype")return e;if(a!=l){var w=r[d];f=void 0,f===void 0&&(f=xt(w)?w:ho(t[a+1])?[]:{})}Dr(r,d,f),r=r[d]}return e}function Fl(e,t,n){for(var o=-1,a=t.length,s={};++o<a;){var l=t[o],r=wo(e,l);n(r,l)&&zl(s,At(l,e),r)}return s}function Vl(e,t){return Fl(e,t,function(n,o){return Pl(e,o)})}var Dl=Al(function(e,t){return e==null?{}:Vl(e,t)});const Eo=e=>e===void 0,Pe=e=>typeof e=="number",Zt=e=>typeof Element>"u"?false:e instanceof Element,Hl=e=>he(e)?!Number.isNaN(Number(e)):false,Pn=e=>Object.keys(e);class Ul extends Error{constructor(t){super(t),this.name="ElementPlusError"}}function Kl(e,t){throw new Ul(`[${e}] ${t}`)}const To=(e="")=>e.split(" ").filter(t=>!!t.trim()),zn=(e,t)=>{if(!e||!t)return false;if(t.includes(" "))throw new Error("className should not contain space.");return e.classList.contains(t)},jl=(e,t)=>{!e||!t.trim()||e.classList.add(...To(t))},Wl=(e,t)=>{!e||!t.trim()||e.classList.remove(...To(t))},Gl=(e,t)=>{var n;if(!me||!e||!t)return"";let o=Xs(t);o==="float"&&(o="cssFloat");try{const a=e.style[o];if(a)return a;const s=(n=document.defaultView)==null?void 0:n.getComputedStyle(e,"");return s?s[o]:""}catch{return e.style[o]}};function at(e,t="px"){if(!e)return"";if(Pe(e)||Hl(e))return`${e}${t}`;if(he(e))return e}let ft;const Yl=e=>{var t;if(!me)return 0;if(ft!==void 0)return ft;const n=document.createElement("div");n.className=`${e}-scrollbar__wrap`,n.style.visibility="hidden",n.style.width="100px",n.style.position="absolute",n.style.top="-9999px",document.body.appendChild(n);const o=n.offsetWidth;n.style.overflow="scroll";const a=document.createElement("div");a.style.width="100%",n.appendChild(a);const s=a.offsetWidth;return(t=n.parentNode)==null||t.removeChild(n),ft=o-s,ft},xo="__epPropKey",G=e=>e,ql=e=>nt(e)&&!!e[xo],ko=(e,t)=>{if(!nt(e)||ql(e))return e;const{values:n,required:o,default:a,type:s,validator:l}=e,d={type:s,required:!!o,validator:n||l?f=>{let w=false,h=[];if(n&&(h=Array.from(n),Tt(e,"default")&&h.push(a),w||(w=h.includes(f))),l&&(w||(w=l(f))),!w&&h.length>0){const C=[...new Set(h)].map(M=>JSON.stringify(M)).join(", ");oa(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${C}], got value ${JSON.stringify(f)}.`)}return w}:void 0,[xo]:true};return Tt(e,"default")&&(d.default=a),d},Te=e=>Co(Object.entries(e).map(([t,n])=>[t,ko(n,t)])),st=G([String,Object,Function]),Mo={Close:Sa,SuccessFilled:co,InfoFilled:uo,WarningFilled:fo,CircleCloseFilled:lo},Mt={success:co,warning:fo,error:lo,info:uo},Xl={validating:St,success:ba,error:io},Nt=(e,t)=>{if(e.install=n=>{for(const o of[e,...Object.values(t??{})])n.component(o.name,o)},t)for(const[n,o]of Object.entries(t))e[n]=o;return e},Zl=(e,t)=>(e.install=n=>{e._context=n._context,n.config.globalProperties[t]=e},e),Jl=e=>(e.install=et,e),Rt={tab:"Tab",esc:"Escape"},Jt="update:modelValue",Io=["","default","small","large"],Ql=e=>["",...Io].includes(e);var bt=(e=>(e[e.TEXT=1]="TEXT",e[e.CLASS=2]="CLASS",e[e.STYLE=4]="STYLE",e[e.PROPS=8]="PROPS",e[e.FULL_PROPS=16]="FULL_PROPS",e[e.HYDRATE_EVENTS=32]="HYDRATE_EVENTS",e[e.STABLE_FRAGMENT=64]="STABLE_FRAGMENT",e[e.KEYED_FRAGMENT=128]="KEYED_FRAGMENT",e[e.UNKEYED_FRAGMENT=256]="UNKEYED_FRAGMENT",e[e.NEED_PATCH=512]="NEED_PATCH",e[e.DYNAMIC_SLOTS=1024]="DYNAMIC_SLOTS",e[e.HOISTED=-1]="HOISTED",e[e.BAIL=-2]="BAIL",e))(bt||{});const ei=e=>/([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(e),Bo=e=>e,ti=["class","style"],ni=/^on[A-Z]/,oi=(e={})=>{const{excludeListeners:t=false,excludeKeys:n}=e,o=b(()=>((n==null?void 0:n.value)||[]).concat(ti)),a=Se();return a?b(()=>{var s;return Co(Object.entries((s=a.proxy)==null?void 0:s.$attrs).filter(([l])=>!o.value.includes(l)&&!(t&&ni.test(l))))}):b(()=>({}))},It=({from:e,replacement:t,scope:n,version:o,ref:a,type:s="API"},l)=>{J(()=>i(l),r=>{},{immediate:true})},ai=(e,t,n,o)=>{let a={offsetX:0,offsetY:0};const s=d=>{const f=d.clientX,w=d.clientY,{offsetX:h,offsetY:C}=a,M=e.value.getBoundingClientRect(),p=M.left,u=M.top,S=M.width,x=M.height,A=document.documentElement.clientWidth,K=document.documentElement.clientHeight,R=-p+h,F=-u+C,q=A-p-S+h,L=K-u-x+C,j=E=>{let m=h+E.clientX-f,D=C+E.clientY-w;o!=null&&o.value||(m=Math.min(Math.max(m,R),q),D=Math.min(Math.max(D,F),L)),a={offsetX:m,offsetY:D},e.value&&(e.value.style.transform=`translate(${at(m)}, ${at(D)})`)},te=()=>{document.removeEventListener("mousemove",j),document.removeEventListener("mouseup",te)};document.addEventListener("mousemove",j),document.addEventListener("mouseup",te)},l=()=>{t.value&&e.value&&t.value.addEventListener("mousedown",s)},r=()=>{t.value&&e.value&&t.value.removeEventListener("mousedown",s)};Ee(()=>{aa(()=>{n.value?l():r()})}),lt(()=>{r()})};var si={name:"en",el:{breadcrumb:{label:"Breadcrumb"},colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color."},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",week:"week",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",page:"Page",prev:"Go to previous page",next:"Go to next page",currentPage:"page {pager}",prevPages:"Previous {pager} pages",nextPages:"Next {pager} pages",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum"},tour:{next:"Next",previous:"Previous",finish:"Finish"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"},carousel:{leftArrow:"Carousel arrow left",rightArrow:"Carousel arrow right",indicator:"Carousel switch to index {index}"}}};const ri=e=>(t,n)=>li(t,n,i(e)),li=(e,t,n)=>Il(n,e,e).replace(/\{(\w+)\}/g,(o,a)=>{var s;return`${(s=t==null?void 0:t[a])!=null?s:`{${a}}`}`}),ii=e=>{const t=b(()=>i(e).name),n=oo(e)?e:I(e);return{lang:t,locale:n,t:ri(e)}},$o=Symbol("localeContextKey"),ui=e=>{const t=e||ee($o,I());return ii(b(()=>t.value||si))},_t="el",ci="is-",Le=(e,t,n,o,a)=>{let s=`${e}-${t}`;return n&&(s+=`-${n}`),o&&(s+=`__${o}`),a&&(s+=`--${a}`),s},Lo=Symbol("namespaceContextKey"),Oo=e=>{const t=e||(Se()?ee(Lo,I(_t)):I(_t));return b(()=>i(t)||_t)},ye=(e,t)=>{const n=Oo(t);return{namespace:n,b:(u="")=>Le(n.value,e,u,"",""),e:u=>u?Le(n.value,e,"",u,""):"",m:u=>u?Le(n.value,e,"","",u):"",be:(u,S)=>u&&S?Le(n.value,e,u,S,""):"",em:(u,S)=>u&&S?Le(n.value,e,"",u,S):"",bm:(u,S)=>u&&S?Le(n.value,e,u,"",S):"",bem:(u,S,x)=>u&&S&&x?Le(n.value,e,u,S,x):"",is:(u,...S)=>{const x=S.length>=1?S[0]:true;return u&&x?`${ci}${u}`:""},cssVar:u=>{const S={};for(const x in u)u[x]&&(S[`--${n.value}-${x}`]=u[x]);return S},cssVarName:u=>`--${n.value}-${u}`,cssVarBlock:u=>{const S={};for(const x in u)u[x]&&(S[`--${n.value}-${e}-${x}`]=u[x]);return S},cssVarBlockName:u=>`--${n.value}-${e}-${u}`}},di=(e,t={})=>{oo(e)||Kl("[useLockscreen]","You need to pass a ref param to this function");const n=t.ns||ye("popup"),o=b(()=>n.bm("parent","hidden"));if(!me||zn(document.body,o.value))return;let a=0,s=false,l="0";const r=()=>{setTimeout(()=>{Wl(document==null?void 0:document.body,o.value),s&&document&&(document.body.style.width=l)},200)};J(e,d=>{if(!d){r();return}s=!zn(document.body,o.value),s&&(l=document.body.style.width),a=Yl(n.namespace.value);const f=document.documentElement.clientHeight<document.body.scrollHeight,w=Gl(document.body,"overflowY");a>0&&(f||w==="scroll")&&s&&(document.body.style.width=`calc(100% - ${a}px)`),jl(document.body,o.value)}),sa(()=>r())},Ao=e=>{const t=Se();return b(()=>{var n,o;return(o=(n=t==null?void 0:t.proxy)==null?void 0:n.$props)==null?void 0:o[e]})},No=e=>{if(!e)return{onClick:et,onMousedown:et,onMouseup:et};let t=false,n=false;return{onClick:l=>{t&&n&&e(l),t=n=false},onMousedown:l=>{t=l.target===l.currentTarget},onMouseup:l=>{n=l.target===l.currentTarget}}},Fn={prefix:Math.floor(Math.random()*1e4),current:0},fi=Symbol("elIdInjection"),pi=()=>Se()?ee(fi,Fn):Fn,Qt=e=>{const t=pi(),n=Oo();return b(()=>i(e)||`${n.value}-id-${t.prefix}-${t.current++}`)};let He=[];const Vn=e=>{const t=e;t.key===Rt.esc&&He.forEach(n=>n(t))},vi=e=>{Ee(()=>{He.length===0&&document.addEventListener("keydown",Vn),me&&He.push(e)}),lt(()=>{He=He.filter(t=>t!==e),He.length===0&&me&&document.removeEventListener("keydown",Vn)})},Dn={current:0},Hn=I(0),Ro=2e3,Un=Symbol("elZIndexContextKey"),Po=Symbol("zIndexContextKey"),mi=e=>{const t=Se()?ee(Un,Dn):Dn,n=e||(Se()?ee(Po,void 0):void 0),o=b(()=>{const l=i(n);return Pe(l)?l:Ro}),a=b(()=>o.value+Hn.value),s=()=>(t.current++,Hn.value=t.current,a.value);return!me&&ee(Un),{initialZIndex:o,currentZIndex:a,nextZIndex:s}};function gi(e){const t=I();function n(){if(e.value==null)return;const{selectionStart:a,selectionEnd:s,value:l}=e.value;if(a==null||s==null)return;const r=l.slice(0,Math.max(0,a)),d=l.slice(Math.max(0,s));t.value={selectionStart:a,selectionEnd:s,value:l,beforeTxt:r,afterTxt:d}}function o(){if(e.value==null||t.value==null)return;const{value:a}=e.value,{beforeTxt:s,afterTxt:l,selectionStart:r}=t.value;if(s==null||l==null||r==null)return;let d=a.length;if(a.endsWith(l))d=a.length-l.length;else if(a.startsWith(s))d=s.length;else{const f=s[r-1],w=a.indexOf(f,r-1);w!==-1&&(d=w+1)}e.value.setSelectionRange(d,d)}return[n,o]}const mn=ko({type:String,values:Io,required:false}),zo=Symbol("size"),hi=()=>{const e=ee(zo,{});return b(()=>i(e.size)||"")};function yi(e,{afterFocus:t,beforeBlur:n,afterBlur:o}={}){const a=Se(),{emit:s}=a,l=yt(),r=I(false),d=h=>{r.value||(r.value=true,s("focus",h),t==null||t())},f=h=>{var C;Ne(n)&&n(h)||h.relatedTarget&&((C=l.value)!=null&&C.contains(h.relatedTarget))||(r.value=false,s("blur",h),o==null||o())},w=()=>{var h;(h=e.value)==null||h.focus()};return J(l,h=>{h&&h.setAttribute("tabindex","-1")}),so(l,"click",w),{wrapperRef:l,isFocused:r,handleFocus:d,handleBlur:f}}const bi=Symbol("emptyValuesContextKey"),_i=Te({emptyValues:Array,valueOnClear:{type:[String,Number,Boolean,Function],default:void 0,validator:e=>Ne(e)?!e():!e}}),wi=Te({ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical","undefined"]},ariaControls:String}),Ci=e=>Dl(wi,e),Fo=Symbol(),Bt=I();function gn(e,t=void 0){const n=Se()?ee(Fo,Bt):Bt;return e?b(()=>{var o,a;return(a=(o=n.value)==null?void 0:o[e])!=null?a:t}):n}function Vo(e,t){const n=gn(),o=ye(e,b(()=>{var r;return((r=n.value)==null?void 0:r.namespace)||_t})),a=ui(b(()=>{var r;return(r=n.value)==null?void 0:r.locale})),s=mi(b(()=>{var r;return((r=n.value)==null?void 0:r.zIndex)||Ro})),l=b(()=>{var r;return i(t)||((r=n.value)==null?void 0:r.size)||""});return Do(b(()=>i(n)||{})),{ns:o,locale:a,zIndex:s,size:l}}const Do=(e,t,n=false)=>{var o;const a=!!Se(),s=a?gn():void 0,l=(o=void 0)!=null?o:a?sn:void 0;if(!l)return;const r=b(()=>{const d=i(e);return s!=null&&s.value?Si(s.value,d):d});return l(Fo,r),l($o,b(()=>r.value.locale)),l(Lo,b(()=>r.value.namespace)),l(Po,b(()=>r.value.zIndex)),l(zo,{size:b(()=>r.value.size||"")}),l(bi,b(()=>({emptyValues:r.value.emptyValues,valueOnClear:r.value.valueOnClear}))),(n||!Bt.value)&&(Bt.value=r.value),r},Si=(e,t)=>{const n=[...new Set([...Pn(e),...Pn(t)])],o={};for(const a of n)o[a]=t[a]!==void 0?t[a]:e[a];return o},Ei=Te({a11y:{type:Boolean,default:true},locale:{type:G(Object)},size:mn,button:{type:G(Object)},experimentalFeatures:{type:G(Object)},keyboardNavigation:{type:Boolean,default:true},message:{type:G(Object)},zIndex:Number,namespace:{type:String,default:"el"},..._i}),en={};z({name:"ElConfigProvider",props:Ei,setup(e,{slots:t}){J(()=>e.message,o=>{Object.assign(en,o??{})},{immediate:true,deep:true});const n=Do(e);return()=>Z(t,"default",{config:n==null?void 0:n.value})}});var $e=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n};const Ti=Te({size:{type:G([Number,String])},color:{type:String}}),xi=z({name:"ElIcon",inheritAttrs:false}),ki=z({...xi,props:Ti,setup(e){const t=e,n=ye("icon"),o=b(()=>{const{size:a,color:s}=t;return!a&&!s?{}:{fontSize:Eo(a)?void 0:at(a),"--color":s}});return(a,s)=>(y(),k("i",Je({class:i(n).b(),style:i(o)},a.$attrs),[Z(a.$slots,"default")],16))}});var Mi=$e(ki,[["__file","icon.vue"]]);const ge=Nt(Mi),hn=Symbol("formContextKey"),Ho=Symbol("formItemContextKey"),Uo=(e,t={})=>{const n=I(void 0),o=t.prop?n:Ao("size"),a=t.global?n:hi(),s=t.form?{size:void 0}:ee(hn,void 0),l=t.formItem?{size:void 0}:ee(Ho,void 0);return b(()=>o.value||i(e)||(l==null?void 0:l.size)||(s==null?void 0:s.size)||a.value||"")},yn=e=>{const t=Ao("disabled"),n=ee(hn,void 0);return b(()=>t.value||i(e)||(n==null?void 0:n.disabled)||false)},Ko=()=>{const e=ee(hn,void 0),t=ee(Ho,void 0);return{form:e,formItem:t}},Ii=(e,{formItemContext:t,disableIdGeneration:n,disableIdManagement:o})=>{n||(n=I(false)),o||(o=I(false));const a=I();let s;const l=b(()=>{var r;return!!(!(e.label||e.ariaLabel)&&t&&t.inputIds&&((r=t.inputIds)==null?void 0:r.length)<=1)});return Ee(()=>{s=J([wt(e,"id"),n],([r,d])=>{const f=r??(d?void 0:Qt().value);f!==a.value&&(t!=null&&t.removeInputId&&(a.value&&t.removeInputId(a.value),!(o!=null&&o.value)&&!d&&f&&t.addInputId(f)),a.value=f)},{immediate:true})}),ra(()=>{s&&s(),t!=null&&t.removeInputId&&a.value&&t.removeInputId(a.value)}),{isLabeledByFormItem:l,inputId:a}};let fe;const Bi=`
|
|
6
|
+
height:0 !important;
|
|
7
|
+
visibility:hidden !important;
|
|
8
|
+
${Ws()?"":"overflow:hidden !important;"}
|
|
9
|
+
position:absolute !important;
|
|
10
|
+
z-index:-1000 !important;
|
|
11
|
+
top:0 !important;
|
|
12
|
+
right:0 !important;
|
|
13
|
+
`,$i=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing"];function Li(e){const t=window.getComputedStyle(e),n=t.getPropertyValue("box-sizing"),o=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),a=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:$i.map(l=>`${l}:${t.getPropertyValue(l)}`).join(";"),paddingSize:o,borderSize:a,boxSizing:n}}function Kn(e,t=1,n){var o;fe||(fe=document.createElement("textarea"),document.body.appendChild(fe));const{paddingSize:a,borderSize:s,boxSizing:l,contextStyle:r}=Li(e);fe.setAttribute("style",`${r};${Bi}`),fe.value=e.value||e.placeholder||"";let d=fe.scrollHeight;const f={};l==="border-box"?d=d+s:l==="content-box"&&(d=d-a),fe.value="";const w=fe.scrollHeight-a;if(Pe(t)){let h=w*t;l==="border-box"&&(h=h+a+s),d=Math.max(h,d),f.minHeight=`${h}px`}if(Pe(n)){let h=w*n;l==="border-box"&&(h=h+a+s),d=Math.min(h,d)}return f.height=`${d}px`,(o=fe.parentNode)==null||o.removeChild(fe),fe=void 0,f}const Oi=Te({id:{type:String,default:void 0},size:mn,disabled:Boolean,modelValue:{type:G([String,Number,Object]),default:""},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:String,default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:G([Boolean,Object]),default:false},autocomplete:{type:String,default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:{type:Boolean,default:false},clearable:{type:Boolean,default:false},showPassword:{type:Boolean,default:false},showWordLimit:{type:Boolean,default:false},suffixIcon:{type:st},prefixIcon:{type:st},containerRole:{type:String,default:void 0},label:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:true},inputStyle:{type:G([Object,Array,String]),default:()=>Bo({})},autofocus:{type:Boolean,default:false},...Ci(["ariaLabel"])}),Ai={[Jt]:e=>he(e),input:e=>he(e),change:e=>he(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>true,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent},Ni=["role"],Ri=["id","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus"],Pi=["id","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus"],zi=z({name:"ElInput",inheritAttrs:false}),Fi=z({...zi,props:Oi,emits:Ai,setup(e,{expose:t,emit:n}){const o=e,a=la(),s=ao(),l=b(()=>{const g={};return o.containerRole==="combobox"&&(g["aria-haspopup"]=a["aria-haspopup"],g["aria-owns"]=a["aria-owns"],g["aria-expanded"]=a["aria-expanded"]),g}),r=b(()=>[o.type==="textarea"?S.b():u.b(),u.m(M.value),u.is("disabled",p.value),u.is("exceed",zt.value),{[u.b("group")]:s.prepend||s.append,[u.m("prefix")]:s.prefix||o.prefixIcon,[u.m("suffix")]:s.suffix||o.suffixIcon||o.clearable||o.showPassword,[u.bm("suffix","password-clear")]:Fe.value&&de.value,[u.b("hidden")]:o.type==="hidden"},a.class]),d=b(()=>[u.e("wrapper"),u.is("focus",E.value)]),f=oi({excludeKeys:b(()=>Object.keys(l.value))}),{form:w,formItem:h}=Ko(),{inputId:C}=Ii(o,{formItemContext:h}),M=Uo(),p=yn(),u=ye("input"),S=ye("textarea"),x=yt(),A=yt(),K=I(false),R=I(false),F=I(false),q=I(),L=yt(o.inputStyle),j=b(()=>x.value||A.value),{wrapperRef:te,isFocused:E,handleFocus:m,handleBlur:D}=yi(j,{afterBlur(){var g;o.validateEvent&&((g=h==null?void 0:h.validate)==null||g.call(h,"blur").catch(P=>void 0))}}),Q=b(()=>{var g;return(g=w==null?void 0:w.statusIcon)!=null?g:false}),se=b(()=>(h==null?void 0:h.validateState)||""),re=b(()=>se.value&&Xl[se.value]),V=b(()=>F.value?Ra:Ta),le=b(()=>[a.style]),ce=b(()=>[o.inputStyle,L.value,{resize:o.resize}]),ne=b(()=>So(o.modelValue)?"":String(o.modelValue)),Fe=b(()=>o.clearable&&!p.value&&!o.readonly&&!!ne.value&&(E.value||K.value)),de=b(()=>o.showPassword&&!p.value&&!o.readonly&&!!ne.value&&(!!ne.value||E.value)),be=b(()=>o.showWordLimit&&!!o.maxlength&&(o.type==="text"||o.type==="textarea")&&!p.value&&!o.readonly&&!o.showPassword),Ve=b(()=>ne.value.length),zt=b(()=>!!be.value&&Ve.value>Number(o.maxlength)),Ft=b(()=>!!s.suffix||!!o.suffixIcon||Fe.value||o.showPassword||be.value||!!se.value&&Q.value),[B,Ye]=gi(x);ro(A,g=>{if(Zo(),!be.value||o.resize!=="both")return;const P=g[0],{width:W}=P.contentRect;q.value={right:`calc(100% - ${W+15+6}px)`}});const qe=()=>{const{type:g,autosize:P}=o;if(!(!me||g!=="textarea"||!A.value))if(P){const W=nt(P)?P.minRows:void 0,ct=nt(P)?P.maxRows:void 0,Mn=Kn(A.value,W,ct);L.value={overflowY:"hidden",...Mn},ae(()=>{A.value.offsetHeight,L.value=Mn})}else L.value={minHeight:Kn(A.value).minHeight}},Zo=(g=>{let P=false;return()=>{var W;if(P||!o.autosize)return;((W=A.value)==null?void 0:W.offsetParent)===null||(g(),P=true)}})(qe),Xe=()=>{const g=j.value,P=o.formatter?o.formatter(ne.value):ne.value;!g||g.value===P||(g.value=P)},Vt=async g=>{B();let{value:P}=g.target;if(o.formatter&&(P=o.parser?o.parser(P):P),!R.value){if(P===ne.value){Xe();return}n(Jt,P),n("input",P),await ae(),Xe(),Ye()}},wn=g=>{n("change",g.target.value)},Cn=g=>{n("compositionstart",g),R.value=true},Sn=g=>{var P;n("compositionupdate",g);const W=(P=g.target)==null?void 0:P.value,ct=W[W.length-1]||"";R.value=!ei(ct)},En=g=>{n("compositionend",g),R.value&&(R.value=false,Vt(g))},Jo=()=>{F.value=!F.value,Tn()},Tn=async()=>{var g;await ae(),(g=j.value)==null||g.focus()},Qo=()=>{var g;return(g=j.value)==null?void 0:g.blur()},ea=g=>{K.value=false,n("mouseleave",g)},ta=g=>{K.value=true,n("mouseenter",g)},xn=g=>{n("keydown",g)},na=()=>{var g;(g=j.value)==null||g.select()},kn=()=>{n(Jt,""),n("change",""),n("clear"),n("input","")};return J(()=>o.modelValue,()=>{var g;ae(()=>qe()),o.validateEvent&&((g=h==null?void 0:h.validate)==null||g.call(h,"change").catch(P=>void 0))}),J(ne,()=>Xe()),J(()=>o.type,async()=>{await ae(),Xe(),qe()}),Ee(()=>{!o.formatter&&o.parser,Xe(),ae(qe)}),It({from:"label",replacement:"aria-label",version:"2.8.0",scope:"el-input",ref:"https://element-plus.org/en-US/component/input.html"},b(()=>!!o.label)),t({input:x,textarea:A,ref:j,textareaStyle:ce,autosize:wt(o,"autosize"),focus:Tn,blur:Qo,select:na,clear:kn,resizeTextarea:qe}),(g,P)=>(y(),k("div",Je(i(l),{class:[i(r),{[i(u).bm("group","append")]:g.$slots.append,[i(u).bm("group","prepend")]:g.$slots.prepend}],style:i(le),role:g.containerRole,onMouseenter:ta,onMouseleave:ea}),[O(" input "),g.type!=="textarea"?(y(),k(we,{key:0},[O(" prepend slot "),g.$slots.prepend?(y(),k("div",{key:0,class:T(i(u).be("group","prepend"))},[Z(g.$slots,"prepend")],2)):O("v-if",true),c("div",{ref_key:"wrapperRef",ref:te,class:T(i(d))},[O(" prefix slot "),g.$slots.prefix||g.prefixIcon?(y(),k("span",{key:0,class:T(i(u).e("prefix"))},[c("span",{class:T(i(u).e("prefix-inner"))},[Z(g.$slots,"prefix"),g.prefixIcon?(y(),N(i(ge),{key:0,class:T(i(u).e("icon"))},{default:_(()=>[(y(),N(ue(g.prefixIcon)))]),_:1},8,["class"])):O("v-if",true)],2)],2)):O("v-if",true),c("input",Je({id:i(C),ref_key:"input",ref:x,class:i(u).e("inner")},i(f),{minlength:g.minlength,maxlength:g.maxlength,type:g.showPassword?F.value?"text":"password":g.type,disabled:i(p),readonly:g.readonly,autocomplete:g.autocomplete,tabindex:g.tabindex,"aria-label":g.label||g.ariaLabel,placeholder:g.placeholder,style:g.inputStyle,form:g.form,autofocus:g.autofocus,onCompositionstart:Cn,onCompositionupdate:Sn,onCompositionend:En,onInput:Vt,onFocus:P[0]||(P[0]=(...W)=>i(m)&&i(m)(...W)),onBlur:P[1]||(P[1]=(...W)=>i(D)&&i(D)(...W)),onChange:wn,onKeydown:xn}),null,16,Ri),O(" suffix slot "),i(Ft)?(y(),k("span",{key:1,class:T(i(u).e("suffix"))},[c("span",{class:T(i(u).e("suffix-inner"))},[!i(Fe)||!i(de)||!i(be)?(y(),k(we,{key:0},[Z(g.$slots,"suffix"),g.suffixIcon?(y(),N(i(ge),{key:0,class:T(i(u).e("icon"))},{default:_(()=>[(y(),N(ue(g.suffixIcon)))]),_:1},8,["class"])):O("v-if",true)],64)):O("v-if",true),i(Fe)?(y(),N(i(ge),{key:1,class:T([i(u).e("icon"),i(u).e("clear")]),onMousedown:Ue(i(et),["prevent"]),onClick:kn},{default:_(()=>[v(i(io))]),_:1},8,["class","onMousedown"])):O("v-if",true),i(de)?(y(),N(i(ge),{key:2,class:T([i(u).e("icon"),i(u).e("password")]),onClick:Jo},{default:_(()=>[(y(),N(ue(i(V))))]),_:1},8,["class"])):O("v-if",true),i(be)?(y(),k("span",{key:3,class:T(i(u).e("count"))},[c("span",{class:T(i(u).e("count-inner"))},H(i(Ve))+" / "+H(g.maxlength),3)],2)):O("v-if",true),i(se)&&i(re)&&i(Q)?(y(),N(i(ge),{key:4,class:T([i(u).e("icon"),i(u).e("validateIcon"),i(u).is("loading",i(se)==="validating")])},{default:_(()=>[(y(),N(ue(i(re))))]),_:1},8,["class"])):O("v-if",true)],2)],2)):O("v-if",true)],2),O(" append slot "),g.$slots.append?(y(),k("div",{key:1,class:T(i(u).be("group","append"))},[Z(g.$slots,"append")],2)):O("v-if",true)],64)):(y(),k(we,{key:1},[O(" textarea "),c("textarea",Je({id:i(C),ref_key:"textarea",ref:A,class:[i(S).e("inner"),i(u).is("focus",i(E))]},i(f),{minlength:g.minlength,maxlength:g.maxlength,tabindex:g.tabindex,disabled:i(p),readonly:g.readonly,autocomplete:g.autocomplete,style:i(ce),"aria-label":g.label||g.ariaLabel,placeholder:g.placeholder,form:g.form,autofocus:g.autofocus,onCompositionstart:Cn,onCompositionupdate:Sn,onCompositionend:En,onInput:Vt,onFocus:P[2]||(P[2]=(...W)=>i(m)&&i(m)(...W)),onBlur:P[3]||(P[3]=(...W)=>i(D)&&i(D)(...W)),onChange:wn,onKeydown:xn}),null,16,Pi),i(be)?(y(),k("span",{key:0,style:tt(q.value),class:T(i(u).e("count"))},H(i(Ve))+" / "+H(g.maxlength),7)):O("v-if",true)],64))],16,Ni))}});var Vi=$e(Fi,[["__file","input.vue"]]);const Di=Nt(Vi),Ut="focus-trap.focus-after-trapped",Kt="focus-trap.focus-after-released",Hi="focus-trap.focusout-prevented",jn={cancelable:true,bubbles:false},Ui={cancelable:true,bubbles:false},Wn="focusAfterTrapped",Gn="focusAfterReleased",Ki=Symbol("elFocusTrap"),bn=I(),Pt=I(0),_n=I(0);let pt=0;const jo=e=>{const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const a=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||a?NodeFilter.FILTER_SKIP:o.tabIndex>=0||o===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t},Yn=(e,t)=>{for(const n of e)if(!ji(n,t))return n},ji=(e,t)=>{if(getComputedStyle(e).visibility==="hidden")return true;for(;e;){if(t&&e===t)return false;if(getComputedStyle(e).display==="none")return true;e=e.parentElement}return false},Wi=e=>{const t=jo(e),n=Yn(t,e),o=Yn(t.reverse(),e);return[n,o]},Gi=e=>e instanceof HTMLInputElement&&"select"in e,ke=(e,t)=>{if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:true}),_n.value=window.performance.now(),e!==n&&Gi(e)&&t&&e.select()}};function qn(e,t){const n=[...e],o=e.indexOf(t);return o!==-1&&n.splice(o,1),n}const Yi=()=>{let e=[];return{push:o=>{const a=e[0];a&&o!==a&&a.pause(),e=qn(e,o),e.unshift(o)},remove:o=>{var a,s;e=qn(e,o),(s=(a=e[0])==null?void 0:a.resume)==null||s.call(a)}}},qi=(e,t=false)=>{const n=document.activeElement;for(const o of e)if(ke(o,t),document.activeElement!==n)return},Xn=Yi(),Xi=()=>Pt.value>_n.value,vt=()=>{bn.value="pointer",Pt.value=window.performance.now()},Zn=()=>{bn.value="keyboard",Pt.value=window.performance.now()},Zi=()=>(Ee(()=>{pt===0&&(document.addEventListener("mousedown",vt),document.addEventListener("touchstart",vt),document.addEventListener("keydown",Zn)),pt++}),lt(()=>{pt--,pt<=0&&(document.removeEventListener("mousedown",vt),document.removeEventListener("touchstart",vt),document.removeEventListener("keydown",Zn))}),{focusReason:bn,lastUserFocusTimestamp:Pt,lastAutomatedFocusTimestamp:_n}),mt=e=>new CustomEvent(Hi,{...Ui,detail:e}),Ji=z({name:"ElFocusTrap",inheritAttrs:false,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[Wn,Gn,"focusin","focusout","focusout-prevented","release-requested"],setup(e,{emit:t}){const n=I();let o,a;const{focusReason:s}=Zi();vi(p=>{e.trapped&&!l.paused&&t("release-requested",p)});const l={paused:false,pause(){this.paused=true},resume(){this.paused=false}},r=p=>{if(!e.loop&&!e.trapped||l.paused)return;const{key:u,altKey:S,ctrlKey:x,metaKey:A,currentTarget:K,shiftKey:R}=p,{loop:F}=e,q=u===Rt.tab&&!S&&!x&&!A,L=document.activeElement;if(q&&L){const j=K,[te,E]=Wi(j);if(te&&E){if(!R&&L===E){const D=mt({focusReason:s.value});t("focusout-prevented",D),D.defaultPrevented||(p.preventDefault(),F&&ke(te,true))}else if(R&&[te,j].includes(L)){const D=mt({focusReason:s.value});t("focusout-prevented",D),D.defaultPrevented||(p.preventDefault(),F&&ke(E,true))}}else if(L===j){const D=mt({focusReason:s.value});t("focusout-prevented",D),D.defaultPrevented||p.preventDefault()}}};sn(Ki,{focusTrapRef:n,onKeydown:r}),J(()=>e.focusTrapEl,p=>{p&&(n.value=p)},{immediate:true}),J([n],([p],[u])=>{p&&(p.addEventListener("keydown",r),p.addEventListener("focusin",w),p.addEventListener("focusout",h)),u&&(u.removeEventListener("keydown",r),u.removeEventListener("focusin",w),u.removeEventListener("focusout",h))});const d=p=>{t(Wn,p)},f=p=>t(Gn,p),w=p=>{const u=i(n);if(!u)return;const S=p.target,x=p.relatedTarget,A=S&&u.contains(S);e.trapped||x&&u.contains(x)||(o=x),A&&t("focusin",p),!l.paused&&e.trapped&&(A?a=S:ke(a,true))},h=p=>{const u=i(n);if(!(l.paused||!u))if(e.trapped){const S=p.relatedTarget;!So(S)&&!u.contains(S)&&setTimeout(()=>{if(!l.paused&&e.trapped){const x=mt({focusReason:s.value});t("focusout-prevented",x),x.defaultPrevented||ke(a,true)}},0)}else{const S=p.target;S&&u.contains(S)||t("focusout",p)}};async function C(){await ae();const p=i(n);if(p){Xn.push(l);const u=p.contains(document.activeElement)?o:document.activeElement;if(o=u,!p.contains(u)){const x=new Event(Ut,jn);p.addEventListener(Ut,d),p.dispatchEvent(x),x.defaultPrevented||ae(()=>{let A=e.focusStartEl;he(A)||(ke(A),document.activeElement!==A&&(A="first")),A==="first"&&qi(jo(p),true),(document.activeElement===u||A==="container")&&ke(p)})}}}function M(){const p=i(n);if(p){p.removeEventListener(Ut,d);const u=new CustomEvent(Kt,{...jn,detail:{focusReason:s.value}});p.addEventListener(Kt,f),p.dispatchEvent(u),!u.defaultPrevented&&(s.value=="keyboard"||!Xi()||p.contains(document.activeElement))&&ke(o??document.body),p.removeEventListener(Kt,f),Xn.remove(l)}}return Ee(()=>{e.trapped&&C(),J(()=>e.trapped,p=>{p?C():M()})}),lt(()=>{e.trapped&&M()}),{onKeydown:r}}});function Qi(e,t,n,o,a,s){return Z(e.$slots,"default",{handleKeydown:e.onKeydown})}var eu=$e(Ji,[["render",Qi],["__file","focus-trap.vue"]]);const tu=Te({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"},showZero:{type:Boolean,default:true},color:String,dotStyle:{type:G([String,Object,Array])},badgeStyle:{type:G([String,Object,Array])},offset:{type:G(Array),default:[0,0]},dotClass:{type:String},badgeClass:{type:String}}),nu=["textContent"],ou=z({name:"ElBadge"}),au=z({...ou,props:tu,setup(e,{expose:t}){const n=e,o=ye("badge"),a=b(()=>n.isDot?"":Pe(n.value)&&Pe(n.max)?n.max<n.value?`${n.max}+`:n.value===0&&!n.showZero?"":`${n.value}`:`${n.value}`),s=b(()=>{var l,r,d,f,w,h;return[{backgroundColor:n.color,marginRight:at(-((r=(l=n.offset)==null?void 0:l[0])!=null?r:0)),marginTop:at((f=(d=n.offset)==null?void 0:d[1])!=null?f:0)},(w=n.dotStyle)!=null?w:{},(h=n.badgeStyle)!=null?h:{}]});return It({from:"dot-style",replacement:"badge-style",version:"2.8.0",scope:"el-badge",ref:"https://element-plus.org/en-US/component/badge.html"},b(()=>!!n.dotStyle)),It({from:"dot-class",replacement:"badge-class",version:"2.8.0",scope:"el-badge",ref:"https://element-plus.org/en-US/component/badge.html"},b(()=>!!n.dotClass)),t({content:a}),(l,r)=>(y(),k("div",{class:T(i(o).b())},[Z(l.$slots,"default"),v(rn,{name:`${i(o).namespace.value}-zoom-in-center`,persisted:""},{default:_(()=>[Ke(c("sup",{class:T([i(o).e("content"),i(o).em("content",l.type),i(o).is("fixed",!!l.$slots.default),i(o).is("dot",l.isDot),l.dotClass,l.badgeClass]),style:tt(i(s)),textContent:H(i(a))},null,14,nu),[[Qe,!l.hidden&&(i(a)||l.isDot)]])]),_:1},8,["name"])],2))}});var su=$e(au,[["__file","badge.vue"]]);const ru=Nt(su),Wo=Symbol("buttonGroupContextKey"),lu=(e,t)=>{It({from:"type.text",replacement:"link",version:"3.0.0",scope:"props",ref:"https://element-plus.org/en-US/component/button.html#button-attributes"},b(()=>e.type==="text"));const n=ee(Wo,void 0),o=gn("button"),{form:a}=Ko(),s=Uo(b(()=>n==null?void 0:n.size)),l=yn(),r=I(),d=ao(),f=b(()=>e.type||(n==null?void 0:n.type)||""),w=b(()=>{var p,u,S;return(S=(u=e.autoInsertSpace)!=null?u:(p=o.value)==null?void 0:p.autoInsertSpace)!=null?S:false}),h=b(()=>e.tag==="button"?{ariaDisabled:l.value||e.loading,disabled:l.value||e.loading,autofocus:e.autofocus,type:e.nativeType}:{}),C=b(()=>{var p;const u=(p=d.default)==null?void 0:p.call(d);if(w.value&&(u==null?void 0:u.length)===1){const S=u[0];if((S==null?void 0:S.type)===ia){const x=S.children;return new RegExp("^\\p{Unified_Ideograph}{2}$","u").test(x.trim())}}return false});return{_disabled:l,_size:s,_type:f,_ref:r,_props:h,shouldAddSpace:C,handleClick:p=>{e.nativeType==="reset"&&(a==null||a.resetFields()),t("click",p)}}},iu=["default","primary","success","warning","info","danger","text",""],uu=["button","submit","reset"],tn=Te({size:mn,disabled:Boolean,type:{type:String,values:iu,default:""},icon:{type:st},nativeType:{type:String,values:uu,default:"button"},loading:Boolean,loadingIcon:{type:st,default:()=>St},plain:Boolean,text:Boolean,link:Boolean,bg:Boolean,autofocus:Boolean,round:Boolean,circle:Boolean,color:String,dark:Boolean,autoInsertSpace:{type:Boolean,default:void 0},tag:{type:G([String,Object]),default:"button"}}),cu={click:e=>e instanceof MouseEvent};function Y(e,t){du(e)&&(e="100%");var n=fu(e);return e=t===360?e:Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:(t===360?e=(e<0?e%t+t:e%t)/parseFloat(String(t)):e=e%t/parseFloat(String(t)),e)}function gt(e){return Math.min(1,Math.max(0,e))}function du(e){return typeof e=="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function fu(e){return typeof e=="string"&&e.indexOf("%")!==-1}function Go(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function ht(e){return e<=1?"".concat(Number(e)*100,"%"):e}function Oe(e){return e.length===1?"0"+e:String(e)}function pu(e,t,n){return{r:Y(e,255)*255,g:Y(t,255)*255,b:Y(n,255)*255}}function Jn(e,t,n){e=Y(e,255),t=Y(t,255),n=Y(n,255);var o=Math.max(e,t,n),a=Math.min(e,t,n),s=0,l=0,r=(o+a)/2;if(o===a)l=0,s=0;else{var d=o-a;switch(l=r>.5?d/(2-o-a):d/(o+a),o){case e:s=(t-n)/d+(t<n?6:0);break;case t:s=(n-e)/d+2;break;case n:s=(e-t)/d+4;break}s/=6}return{h:s,s:l,l:r}}function jt(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*(6*n):n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function vu(e,t,n){var o,a,s;if(e=Y(e,360),t=Y(t,100),n=Y(n,100),t===0)a=n,s=n,o=n;else{var l=n<.5?n*(1+t):n+t-n*t,r=2*n-l;o=jt(r,l,e+1/3),a=jt(r,l,e),s=jt(r,l,e-1/3)}return{r:o*255,g:a*255,b:s*255}}function Qn(e,t,n){e=Y(e,255),t=Y(t,255),n=Y(n,255);var o=Math.max(e,t,n),a=Math.min(e,t,n),s=0,l=o,r=o-a,d=o===0?0:r/o;if(o===a)s=0;else{switch(o){case e:s=(t-n)/r+(t<n?6:0);break;case t:s=(n-e)/r+2;break;case n:s=(e-t)/r+4;break}s/=6}return{h:s,s:d,v:l}}function mu(e,t,n){e=Y(e,360)*6,t=Y(t,100),n=Y(n,100);var o=Math.floor(e),a=e-o,s=n*(1-t),l=n*(1-a*t),r=n*(1-(1-a)*t),d=o%6,f=[n,l,s,s,r,n][d],w=[r,n,n,l,s,s][d],h=[s,s,r,n,n,l][d];return{r:f*255,g:w*255,b:h*255}}function eo(e,t,n,o){var a=[Oe(Math.round(e).toString(16)),Oe(Math.round(t).toString(16)),Oe(Math.round(n).toString(16))];return o&&a[0].startsWith(a[0].charAt(1))&&a[1].startsWith(a[1].charAt(1))&&a[2].startsWith(a[2].charAt(1))?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0):a.join("")}function gu(e,t,n,o,a){var s=[Oe(Math.round(e).toString(16)),Oe(Math.round(t).toString(16)),Oe(Math.round(n).toString(16)),Oe(hu(o))];return a&&s[0].startsWith(s[0].charAt(1))&&s[1].startsWith(s[1].charAt(1))&&s[2].startsWith(s[2].charAt(1))&&s[3].startsWith(s[3].charAt(1))?s[0].charAt(0)+s[1].charAt(0)+s[2].charAt(0)+s[3].charAt(0):s.join("")}function hu(e){return Math.round(parseFloat(e)*255).toString(16)}function to(e){return oe(e)/255}function oe(e){return parseInt(e,16)}function yu(e){return{r:e>>16,g:(e&65280)>>8,b:e&255}}var nn={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function bu(e){var t={r:0,g:0,b:0},n=1,o=null,a=null,s=null,l=false,r=false;return typeof e=="string"&&(e=Cu(e)),typeof e=="object"&&(_e(e.r)&&_e(e.g)&&_e(e.b)?(t=pu(e.r,e.g,e.b),l=true,r=String(e.r).substr(-1)==="%"?"prgb":"rgb"):_e(e.h)&&_e(e.s)&&_e(e.v)?(o=ht(e.s),a=ht(e.v),t=mu(e.h,o,a),l=true,r="hsv"):_e(e.h)&&_e(e.s)&&_e(e.l)&&(o=ht(e.s),s=ht(e.l),t=vu(e.h,o,s),l=true,r="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(n=e.a)),n=Go(n),{ok:l,format:e.format||r,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:n}}var _u="[-\\+]?\\d+%?",wu="[-\\+]?\\d*\\.\\d+%?",Ie="(?:".concat(wu,")|(?:").concat(_u,")"),Wt="[\\s|\\(]+(".concat(Ie,")[,|\\s]+(").concat(Ie,")[,|\\s]+(").concat(Ie,")\\s*\\)?"),Gt="[\\s|\\(]+(".concat(Ie,")[,|\\s]+(").concat(Ie,")[,|\\s]+(").concat(Ie,")[,|\\s]+(").concat(Ie,")\\s*\\)?"),pe={CSS_UNIT:new RegExp(Ie),rgb:new RegExp("rgb"+Wt),rgba:new RegExp("rgba"+Gt),hsl:new RegExp("hsl"+Wt),hsla:new RegExp("hsla"+Gt),hsv:new RegExp("hsv"+Wt),hsva:new RegExp("hsva"+Gt),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function Cu(e){if(e=e.trim().toLowerCase(),e.length===0)return false;var t=false;if(nn[e])e=nn[e],t=true;else if(e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var n=pe.rgb.exec(e);return n?{r:n[1],g:n[2],b:n[3]}:(n=pe.rgba.exec(e),n?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=pe.hsl.exec(e),n?{h:n[1],s:n[2],l:n[3]}:(n=pe.hsla.exec(e),n?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=pe.hsv.exec(e),n?{h:n[1],s:n[2],v:n[3]}:(n=pe.hsva.exec(e),n?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=pe.hex8.exec(e),n?{r:oe(n[1]),g:oe(n[2]),b:oe(n[3]),a:to(n[4]),format:t?"name":"hex8"}:(n=pe.hex6.exec(e),n?{r:oe(n[1]),g:oe(n[2]),b:oe(n[3]),format:t?"name":"hex"}:(n=pe.hex4.exec(e),n?{r:oe(n[1]+n[1]),g:oe(n[2]+n[2]),b:oe(n[3]+n[3]),a:to(n[4]+n[4]),format:t?"name":"hex8"}:(n=pe.hex3.exec(e),n?{r:oe(n[1]+n[1]),g:oe(n[2]+n[2]),b:oe(n[3]+n[3]),format:t?"name":"hex"}:false)))))))))}function _e(e){return!!pe.CSS_UNIT.exec(String(e))}var Su=function(){function e(t,n){t===void 0&&(t=""),n===void 0&&(n={});var o;if(t instanceof e)return t;typeof t=="number"&&(t=yu(t)),this.originalInput=t;var a=bu(t);this.originalInput=t,this.r=a.r,this.g=a.g,this.b=a.b,this.a=a.a,this.roundA=Math.round(100*this.a)/100,this.format=(o=n.format)!==null&&o!==void 0?o:a.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=a.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3},e.prototype.getLuminance=function(){var t=this.toRgb(),n,o,a,s=t.r/255,l=t.g/255,r=t.b/255;return s<=.03928?n=s/12.92:n=Math.pow((s+.055)/1.055,2.4),l<=.03928?o=l/12.92:o=Math.pow((l+.055)/1.055,2.4),r<=.03928?a=r/12.92:a=Math.pow((r+.055)/1.055,2.4),.2126*n+.7152*o+.0722*a},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(t){return this.a=Go(t),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){var t=this.toHsl().s;return t===0},e.prototype.toHsv=function(){var t=Qn(this.r,this.g,this.b);return{h:t.h*360,s:t.s,v:t.v,a:this.a}},e.prototype.toHsvString=function(){var t=Qn(this.r,this.g,this.b),n=Math.round(t.h*360),o=Math.round(t.s*100),a=Math.round(t.v*100);return this.a===1?"hsv(".concat(n,", ").concat(o,"%, ").concat(a,"%)"):"hsva(".concat(n,", ").concat(o,"%, ").concat(a,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var t=Jn(this.r,this.g,this.b);return{h:t.h*360,s:t.s,l:t.l,a:this.a}},e.prototype.toHslString=function(){var t=Jn(this.r,this.g,this.b),n=Math.round(t.h*360),o=Math.round(t.s*100),a=Math.round(t.l*100);return this.a===1?"hsl(".concat(n,", ").concat(o,"%, ").concat(a,"%)"):"hsla(".concat(n,", ").concat(o,"%, ").concat(a,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(t){return t===void 0&&(t=false),eo(this.r,this.g,this.b,t)},e.prototype.toHexString=function(t){return t===void 0&&(t=false),"#"+this.toHex(t)},e.prototype.toHex8=function(t){return t===void 0&&(t=false),gu(this.r,this.g,this.b,this.a,t)},e.prototype.toHex8String=function(t){return t===void 0&&(t=false),"#"+this.toHex8(t)},e.prototype.toHexShortString=function(t){return t===void 0&&(t=false),this.a===1?this.toHexString(t):this.toHex8String(t)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var t=Math.round(this.r),n=Math.round(this.g),o=Math.round(this.b);return this.a===1?"rgb(".concat(t,", ").concat(n,", ").concat(o,")"):"rgba(".concat(t,", ").concat(n,", ").concat(o,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var t=function(n){return"".concat(Math.round(Y(n,255)*100),"%")};return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var t=function(n){return Math.round(Y(n,255)*100)};return this.a===1?"rgb(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%)"):"rgba(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return false;for(var t="#"+eo(this.r,this.g,this.b,false),n=0,o=Object.entries(nn);n<o.length;n++){var a=o[n],s=a[0],l=a[1];if(t===l)return s}return false},e.prototype.toString=function(t){var n=!!t;t=t??this.format;var o=false,a=this.a<1&&this.a>=0,s=!n&&a&&(t.startsWith("hex")||t==="name");return s?t==="name"&&this.a===0?this.toName():this.toRgbString():(t==="rgb"&&(o=this.toRgbString()),t==="prgb"&&(o=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(o=this.toHexString()),t==="hex3"&&(o=this.toHexString(true)),t==="hex4"&&(o=this.toHex8String(true)),t==="hex8"&&(o=this.toHex8String()),t==="name"&&(o=this.toName()),t==="hsl"&&(o=this.toHslString()),t==="hsv"&&(o=this.toHsvString()),o||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.l+=t/100,n.l=gt(n.l),new e(n)},e.prototype.brighten=function(t){t===void 0&&(t=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(255*-(t/100)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(255*-(t/100)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(255*-(t/100)))),new e(n)},e.prototype.darken=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.l-=t/100,n.l=gt(n.l),new e(n)},e.prototype.tint=function(t){return t===void 0&&(t=10),this.mix("white",t)},e.prototype.shade=function(t){return t===void 0&&(t=10),this.mix("black",t)},e.prototype.desaturate=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.s-=t/100,n.s=gt(n.s),new e(n)},e.prototype.saturate=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.s+=t/100,n.s=gt(n.s),new e(n)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var n=this.toHsl(),o=(n.h+t)%360;return n.h=o<0?360+o:o,new e(n)},e.prototype.mix=function(t,n){n===void 0&&(n=50);var o=this.toRgb(),a=new e(t).toRgb(),s=n/100,l={r:(a.r-o.r)*s+o.r,g:(a.g-o.g)*s+o.g,b:(a.b-o.b)*s+o.b,a:(a.a-o.a)*s+o.a};return new e(l)},e.prototype.analogous=function(t,n){t===void 0&&(t=6),n===void 0&&(n=30);var o=this.toHsl(),a=360/n,s=[this];for(o.h=(o.h-(a*t>>1)+720)%360;--t;)o.h=(o.h+a)%360,s.push(new e(o));return s},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){t===void 0&&(t=6);for(var n=this.toHsv(),o=n.h,a=n.s,s=n.v,l=[],r=1/t;t--;)l.push(new e({h:o,s:a,v:s})),s=(s+r)%1;return l},e.prototype.splitcomplement=function(){var t=this.toHsl(),n=t.h;return[this,new e({h:(n+72)%360,s:t.s,l:t.l}),new e({h:(n+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var n=this.toRgb(),o=new e(t).toRgb(),a=n.a+o.a*(1-n.a);return new e({r:(n.r*n.a+o.r*o.a*(1-n.a))/a,g:(n.g*n.a+o.g*o.a*(1-n.a))/a,b:(n.b*n.a+o.b*o.a*(1-n.a))/a,a})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var n=this.toHsl(),o=n.h,a=[this],s=360/t,l=1;l<t;l++)a.push(new e({h:(o+l*s)%360,s:n.s,l:n.l}));return a},e.prototype.equals=function(t){return this.toRgbString()===new e(t).toRgbString()},e}();function xe(e,t=20){return e.mix("#141414",t).toString()}function Eu(e){const t=yn(),n=ye("button");return b(()=>{let o={},a=e.color;if(a){const s=a.match(/var\((.*?)\)/);s&&(a=window.getComputedStyle(window.document.documentElement).getPropertyValue(s[1]));const l=new Su(a),r=e.dark?l.tint(20).toString():xe(l,20);if(e.plain)o=n.cssVarBlock({"bg-color":e.dark?xe(l,90):l.tint(90).toString(),"text-color":a,"border-color":e.dark?xe(l,50):l.tint(50).toString(),"hover-text-color":`var(${n.cssVarName("color-white")})`,"hover-bg-color":a,"hover-border-color":a,"active-bg-color":r,"active-text-color":`var(${n.cssVarName("color-white")})`,"active-border-color":r}),t.value&&(o[n.cssVarBlockName("disabled-bg-color")]=e.dark?xe(l,90):l.tint(90).toString(),o[n.cssVarBlockName("disabled-text-color")]=e.dark?xe(l,50):l.tint(50).toString(),o[n.cssVarBlockName("disabled-border-color")]=e.dark?xe(l,80):l.tint(80).toString());else{const d=e.dark?xe(l,30):l.tint(30).toString(),f=l.isDark()?`var(${n.cssVarName("color-white")})`:`var(${n.cssVarName("color-black")})`;if(o=n.cssVarBlock({"bg-color":a,"text-color":f,"border-color":a,"hover-bg-color":d,"hover-text-color":f,"hover-border-color":d,"active-bg-color":r,"active-border-color":r}),t.value){const w=e.dark?xe(l,50):l.tint(50).toString();o[n.cssVarBlockName("disabled-bg-color")]=w,o[n.cssVarBlockName("disabled-text-color")]=e.dark?"rgba(255, 255, 255, 0.5)":`var(${n.cssVarName("color-white")})`,o[n.cssVarBlockName("disabled-border-color")]=w}}}return o})}const Tu=z({name:"ElButton"}),xu=z({...Tu,props:tn,emits:cu,setup(e,{expose:t,emit:n}){const o=e,a=Eu(o),s=ye("button"),{_ref:l,_size:r,_type:d,_disabled:f,_props:w,shouldAddSpace:h,handleClick:C}=lu(o,n),M=b(()=>[s.b(),s.m(d.value),s.m(r.value),s.is("disabled",f.value),s.is("loading",o.loading),s.is("plain",o.plain),s.is("round",o.round),s.is("circle",o.circle),s.is("text",o.text),s.is("link",o.link),s.is("has-bg",o.bg)]);return t({ref:l,size:r,type:d,disabled:f,shouldAddSpace:h}),(p,u)=>(y(),N(ue(p.tag),Je({ref_key:"_ref",ref:l},i(w),{class:i(M),style:i(a),onClick:i(C)}),{default:_(()=>[p.loading?(y(),k(we,{key:0},[p.$slots.loading?Z(p.$slots,"loading",{key:0}):(y(),N(i(ge),{key:1,class:T(i(s).is("loading"))},{default:_(()=>[(y(),N(ue(p.loadingIcon)))]),_:1},8,["class"]))],64)):p.icon||p.$slots.icon?(y(),N(i(ge),{key:1},{default:_(()=>[p.icon?(y(),N(ue(p.icon),{key:0})):Z(p.$slots,"icon",{key:1})]),_:3})):O("v-if",true),p.$slots.default?(y(),k("span",{key:2,class:T({[i(s).em("text","expand")]:i(h)})},[Z(p.$slots,"default")],2)):O("v-if",true)]),_:3},16,["class","style","onClick"]))}});var ku=$e(xu,[["__file","button.vue"]]);const Mu={size:tn.size,type:tn.type},Iu=z({name:"ElButtonGroup"}),Bu=z({...Iu,props:Mu,setup(e){const t=e;sn(Wo,an({size:wt(t,"size"),type:wt(t,"type")}));const n=ye("button");return(o,a)=>(y(),k("div",{class:T(`${i(n).b("group")}`)},[Z(o.$slots,"default")],2))}});var Yo=$e(Bu,[["__file","button-group.vue"]]);const $u=Nt(ku,{ButtonGroup:Yo});Jl(Yo);const on="_trap-focus-children",Ae=[],no=e=>{if(Ae.length===0)return;const t=Ae[Ae.length-1][on];if(t.length>0&&e.code===Rt.tab){if(t.length===1){e.preventDefault(),document.activeElement!==t[0]&&t[0].focus();return}const n=e.shiftKey,o=e.target===t[0],a=e.target===t[t.length-1];o&&n&&(e.preventDefault(),t[t.length-1].focus()),a&&!n&&(e.preventDefault(),t[0].focus())}},Lu={beforeMount(e){e[on]=In(e),Ae.push(e),Ae.length<=1&&document.addEventListener("keydown",no)},updated(e){ae(()=>{e[on]=In(e)})},unmounted(){Ae.shift(),Ae.length===0&&document.removeEventListener("keydown",no)}},Ou=Te({mask:{type:Boolean,default:true},customMaskEvent:{type:Boolean,default:false},overlayClass:{type:G([String,Array,Object])},zIndex:{type:G([String,Number])}}),Au={click:e=>e instanceof MouseEvent},Nu="overlay";var Ru=z({name:"ElOverlay",props:Ou,emits:Au,setup(e,{slots:t,emit:n}){const o=ye(Nu),a=d=>{n("click",d)},{onClick:s,onMousedown:l,onMouseup:r}=No(e.customMaskEvent?void 0:a);return()=>e.mask?v("div",{class:[o.b(),e.overlayClass],style:{zIndex:e.zIndex},onClick:s,onMousedown:l,onMouseup:r},[Z(t,"default")],bt.STYLE|bt.CLASS|bt.PROPS,["onClick","onMouseup","onMousedown"]):ua("div",{class:e.overlayClass,style:{zIndex:e.zIndex,position:"fixed",top:"0px",right:"0px",bottom:"0px",left:"0px"}},[Z(t,"default")])}});const Pu=Ru,qo=["success","info","warning","error"],X=Bo({customClass:"",center:false,dangerouslyUseHTMLString:false,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:false,type:"info",plain:false,offset:16,zIndex:0,grouping:false,repeatNum:1,appendTo:me?document.body:void 0}),zu=Te({customClass:{type:String,default:X.customClass},center:{type:Boolean,default:X.center},dangerouslyUseHTMLString:{type:Boolean,default:X.dangerouslyUseHTMLString},duration:{type:Number,default:X.duration},icon:{type:st,default:X.icon},id:{type:String,default:X.id},message:{type:G([String,Object,Function]),default:X.message},onClose:{type:G(Function),default:X.onClose},showClose:{type:Boolean,default:X.showClose},type:{type:String,values:qo,default:X.type},plain:{type:Boolean,default:X.plain},offset:{type:Number,default:X.offset},zIndex:{type:Number,default:X.zIndex},grouping:{type:Boolean,default:X.grouping},repeatNum:{type:Number,default:X.repeatNum}}),Fu={destroy:()=>true},ve=ca([]),Vu=e=>{const t=ve.findIndex(a=>a.id===e),n=ve[t];let o;return t>0&&(o=ve[t-1]),{current:n,prev:o}},Du=e=>{const{prev:t}=Vu(e);return t?t.vm.exposed.bottom.value:0},Hu=(e,t)=>ve.findIndex(o=>o.id===e)>0?16:t,Uu=["id"],Ku=["innerHTML"],ju=z({name:"ElMessage"}),Wu=z({...ju,props:zu,emits:Fu,setup(e,{expose:t}){const n=e,{Close:o}=Mo,{ns:a,zIndex:s}=Vo("message"),{currentZIndex:l,nextZIndex:r}=s,d=I(),f=I(false),w=I(0);let h;const C=b(()=>n.type?n.type==="error"?"danger":n.type:"info"),M=b(()=>{const L=n.type;return{[a.bm("icon",L)]:L&&Mt[L]}}),p=b(()=>n.icon||Mt[n.type]||""),u=b(()=>Du(n.id)),S=b(()=>Hu(n.id,n.offset)+u.value),x=b(()=>w.value+S.value),A=b(()=>({top:`${S.value}px`,zIndex:l.value}));function K(){n.duration!==0&&({stop:h}=ma(()=>{F()},n.duration))}function R(){h==null||h()}function F(){f.value=false}function q({code:L}){L===Rt.esc&&F()}return Ee(()=>{K(),r(),f.value=true}),J(()=>n.repeatNum,()=>{R(),K()}),so(document,"keydown",q),ro(d,()=>{w.value=d.value.getBoundingClientRect().height}),t({visible:f,bottom:x,close:F}),(L,j)=>(y(),N(rn,{name:i(a).b("fade"),onBeforeLeave:L.onClose,onAfterLeave:j[0]||(j[0]=te=>L.$emit("destroy")),persisted:""},{default:_(()=>[Ke(c("div",{id:L.id,ref_key:"messageRef",ref:d,class:T([i(a).b(),{[i(a).m(L.type)]:L.type},i(a).is("center",L.center),i(a).is("closable",L.showClose),i(a).is("plain",L.plain),L.customClass]),style:tt(i(A)),role:"alert",onMouseenter:R,onMouseleave:K},[L.repeatNum>1?(y(),N(i(ru),{key:0,value:L.repeatNum,type:i(C),class:T(i(a).e("badge"))},null,8,["value","type","class"])):O("v-if",true),i(p)?(y(),N(i(ge),{key:1,class:T([i(a).e("icon"),i(M)])},{default:_(()=>[(y(),N(ue(i(p))))]),_:1},8,["class"])):O("v-if",true),Z(L.$slots,"default",{},()=>[L.dangerouslyUseHTMLString?(y(),k(we,{key:1},[O(" Caution here, message could've been compromised, never use user's input as message "),c("p",{class:T(i(a).e("content")),innerHTML:L.message},null,10,Ku)],2112)):(y(),k("p",{key:0,class:T(i(a).e("content"))},H(L.message),3))]),L.showClose?(y(),N(i(ge),{key:2,class:T(i(a).e("closeBtn")),onClick:Ue(F,["stop"])},{default:_(()=>[v(i(o))]),_:1},8,["class","onClick"])):O("v-if",true)],46,Uu),[[Qe,f.value]])]),_:3},8,["name","onBeforeLeave"]))}});var Gu=$e(Wu,[["__file","message.vue"]]);let Yu=1;const Xo=e=>{const t=!e||he(e)||$t(e)||Ne(e)?{message:e}:e,n={...X,...t};if(!n.appendTo)n.appendTo=document.body;else if(he(n.appendTo)){let o=document.querySelector(n.appendTo);Zt(o)||(o=document.body),n.appendTo=o}return n},qu=e=>{const t=ve.indexOf(e);if(t===-1)return;ve.splice(t,1);const{handler:n}=e;n.close()},Xu=({appendTo:e,...t},n)=>{const o=`message_${Yu++}`,a=t.onClose,s=document.createElement("div"),l={...t,id:o,onClose:()=>{a==null||a(),qu(w)},onDestroy:()=>{Ct(null,s)}},r=v(Gu,l,Ne(l.message)||$t(l.message)?{default:Ne(l.message)?l.message:()=>l.message}:null);r.appContext=n||je._context,Ct(r,s),e.appendChild(s.firstElementChild);const d=r.component,w={id:o,vnode:r,vm:d,handler:{close:()=>{d.exposed.visible.value=false}},props:r.component.props};return w},je=(e={},t)=>{if(!me)return{close:()=>{}};if(Pe(en.max)&&ve.length>=en.max)return{close:()=>{}};const n=Xo(e);if(n.grouping&&ve.length){const a=ve.find(({vnode:s})=>{var l;return((l=s.props)==null?void 0:l.message)===n.message});if(a)return a.props.repeatNum+=1,a.props.type=n.type,a.handler}const o=Xu(n,t);return ve.push(o),o.handler};qo.forEach(e=>{je[e]=(t={},n)=>{const o=Xo(t);return je({...o,type:e},n)}});function Zu(e){for(const t of ve)(!e||e===t.props.type)&&t.handler.close()}je.closeAll=Zu;je._context=null;const ie=Zl(je,"$message"),Ju=z({name:"ElMessageBox",directives:{TrapFocus:Lu},components:{ElButton:$u,ElFocusTrap:eu,ElInput:Di,ElOverlay:Pu,ElIcon:ge,...Mo},inheritAttrs:false,props:{buttonSize:{type:String,validator:Ql},modal:{type:Boolean,default:true},lockScroll:{type:Boolean,default:true},showClose:{type:Boolean,default:true},closeOnClickModal:{type:Boolean,default:true},closeOnPressEscape:{type:Boolean,default:true},closeOnHashChange:{type:Boolean,default:true},center:Boolean,draggable:Boolean,overflow:Boolean,roundButton:{default:false,type:Boolean},container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(e,{emit:t}){const{locale:n,zIndex:o,ns:a,size:s}=Vo("message-box",b(()=>e.buttonSize)),{t:l}=n,{nextZIndex:r}=o,d=I(false),f=an({autofocus:true,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",customClass:"",customStyle:{},dangerouslyUseHTMLString:false,distinguishCancelAndClose:false,icon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:null,inputValidator:null,inputErrorMessage:"",message:null,modalFade:true,modalClass:"",showCancelButton:false,showConfirmButton:true,type:"",title:void 0,showInput:false,action:"",confirmButtonLoading:false,cancelButtonLoading:false,confirmButtonLoadingIcon:St,cancelButtonLoadingIcon:St,confirmButtonDisabled:false,editorErrorMessage:"",validateError:false,zIndex:r()}),w=b(()=>{const V=f.type;return{[a.bm("icon",V)]:V&&Mt[V]}}),h=Qt(),C=Qt(),M=b(()=>f.icon||Mt[f.type]||""),p=b(()=>!!f.message),u=I(),S=I(),x=I(),A=I(),K=I(),R=b(()=>f.confirmButtonClass);J(()=>f.inputValue,async V=>{await ae(),e.boxType==="prompt"&&V!==null&&D()},{immediate:true}),J(()=>d.value,V=>{var le,ce;V&&(e.boxType!=="prompt"&&(f.autofocus?x.value=(ce=(le=K.value)==null?void 0:le.$el)!=null?ce:u.value:x.value=u.value),f.zIndex=r()),e.boxType==="prompt"&&(V?ae().then(()=>{var ne;A.value&&A.value.$el&&(f.autofocus?x.value=(ne=Q())!=null?ne:u.value:x.value=u.value)}):(f.editorErrorMessage="",f.validateError=false))});const F=b(()=>e.draggable),q=b(()=>e.overflow);ai(u,S,F,q),Ee(async()=>{await ae(),e.closeOnHashChange&&window.addEventListener("hashchange",L)}),lt(()=>{e.closeOnHashChange&&window.removeEventListener("hashchange",L)});function L(){d.value&&(d.value=false,ae(()=>{f.action&&t("action",f.action)}))}const j=()=>{e.closeOnClickModal&&m(f.distinguishCancelAndClose?"close":"cancel")},te=No(j),E=V=>{if(f.inputType!=="textarea")return V.preventDefault(),m("confirm")},m=V=>{var le;e.boxType==="prompt"&&V==="confirm"&&!D()||(f.action=V,f.beforeClose?(le=f.beforeClose)==null||le.call(f,V,f,L):L())},D=()=>{if(e.boxType==="prompt"){const V=f.inputPattern;if(V&&!V.test(f.inputValue||""))return f.editorErrorMessage=f.inputErrorMessage||l("el.messagebox.error"),f.validateError=true,false;const le=f.inputValidator;if(typeof le=="function"){const ce=le(f.inputValue);if(ce===false)return f.editorErrorMessage=f.inputErrorMessage||l("el.messagebox.error"),f.validateError=true,false;if(typeof ce=="string")return f.editorErrorMessage=ce,f.validateError=true,false}}return f.editorErrorMessage="",f.validateError=false,true},Q=()=>{const V=A.value.$refs;return V.input||V.textarea},se=()=>{m("close")},re=()=>{e.closeOnPressEscape&&se()};return e.lockScroll&&di(d),{...da(f),ns:a,overlayEvent:te,visible:d,hasMessage:p,typeClass:w,contentId:h,inputId:C,btnSize:s,iconComponent:M,confirmButtonClasses:R,rootRef:u,focusStartRef:x,headerRef:S,inputRef:A,confirmRef:K,doClose:L,handleClose:se,onCloseRequested:re,handleWrapperClick:j,handleInputEnter:E,handleAction:m,t:l}}}),Qu=["aria-label","aria-describedby"],ec=["aria-label"],tc=["id"];function nc(e,t,n,o,a,s){const l=$("el-icon"),r=$("close"),d=$("el-input"),f=$("el-button"),w=$("el-focus-trap"),h=$("el-overlay");return y(),N(rn,{name:"fade-in-linear",onAfterLeave:t[11]||(t[11]=C=>e.$emit("vanish")),persisted:""},{default:_(()=>[Ke(v(h,{"z-index":e.zIndex,"overlay-class":[e.ns.is("message-box"),e.modalClass],mask:e.modal},{default:_(()=>[c("div",{role:"dialog","aria-label":e.title,"aria-modal":"true","aria-describedby":e.showInput?void 0:e.contentId,class:T(`${e.ns.namespace.value}-overlay-message-box`),onClick:t[8]||(t[8]=(...C)=>e.overlayEvent.onClick&&e.overlayEvent.onClick(...C)),onMousedown:t[9]||(t[9]=(...C)=>e.overlayEvent.onMousedown&&e.overlayEvent.onMousedown(...C)),onMouseup:t[10]||(t[10]=(...C)=>e.overlayEvent.onMouseup&&e.overlayEvent.onMouseup(...C))},[v(w,{loop:"",trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:_(()=>[c("div",{ref:"rootRef",class:T([e.ns.b(),e.customClass,e.ns.is("draggable",e.draggable),{[e.ns.m("center")]:e.center}]),style:tt(e.customStyle),tabindex:"-1",onClick:t[7]||(t[7]=Ue(()=>{},["stop"]))},[e.title!==null&&e.title!==void 0?(y(),k("div",{key:0,ref:"headerRef",class:T([e.ns.e("header"),{"show-close":e.showClose}])},[c("div",{class:T(e.ns.e("title"))},[e.iconComponent&&e.center?(y(),N(l,{key:0,class:T([e.ns.e("status"),e.typeClass])},{default:_(()=>[(y(),N(ue(e.iconComponent)))]),_:1},8,["class"])):O("v-if",true),c("span",null,H(e.title),1)],2),e.showClose?(y(),k("button",{key:0,type:"button",class:T(e.ns.e("headerbtn")),"aria-label":e.t("el.messagebox.close"),onClick:t[0]||(t[0]=C=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel")),onKeydown:t[1]||(t[1]=dt(Ue(C=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"]))},[v(l,{class:T(e.ns.e("close"))},{default:_(()=>[v(r)]),_:1},8,["class"])],42,ec)):O("v-if",true)],2)):O("v-if",true),c("div",{id:e.contentId,class:T(e.ns.e("content"))},[c("div",{class:T(e.ns.e("container"))},[e.iconComponent&&!e.center&&e.hasMessage?(y(),N(l,{key:0,class:T([e.ns.e("status"),e.typeClass])},{default:_(()=>[(y(),N(ue(e.iconComponent)))]),_:1},8,["class"])):O("v-if",true),e.hasMessage?(y(),k("div",{key:1,class:T(e.ns.e("message"))},[Z(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(y(),N(ue(e.showInput?"label":"p"),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,["for","innerHTML"])):(y(),N(ue(e.showInput?"label":"p"),{key:0,for:e.showInput?e.inputId:void 0},{default:_(()=>[U(H(e.dangerouslyUseHTMLString?"":e.message),1)]),_:1},8,["for"]))])],2)):O("v-if",true)],2),Ke(c("div",{class:T(e.ns.e("input"))},[v(d,{id:e.inputId,ref:"inputRef",modelValue:e.inputValue,"onUpdate:modelValue":t[2]||(t[2]=C=>e.inputValue=C),type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:T({invalid:e.validateError}),onKeydown:dt(e.handleInputEnter,["enter"])},null,8,["id","modelValue","type","placeholder","aria-invalid","class","onKeydown"]),c("div",{class:T(e.ns.e("errormsg")),style:tt({visibility:e.editorErrorMessage?"visible":"hidden"})},H(e.editorErrorMessage),7)],2),[[Qe,e.showInput]])],10,tc),c("div",{class:T(e.ns.e("btns"))},[e.showCancelButton?(y(),N(f,{key:0,loading:e.cancelButtonLoading,"loading-icon":e.cancelButtonLoadingIcon,class:T([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:t[3]||(t[3]=C=>e.handleAction("cancel")),onKeydown:t[4]||(t[4]=dt(Ue(C=>e.handleAction("cancel"),["prevent"]),["enter"]))},{default:_(()=>[U(H(e.cancelButtonText||e.t("el.messagebox.cancel")),1)]),_:1},8,["loading","loading-icon","class","round","size"])):O("v-if",true),Ke(v(f,{ref:"confirmRef",type:"primary",loading:e.confirmButtonLoading,"loading-icon":e.confirmButtonLoadingIcon,class:T([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:t[5]||(t[5]=C=>e.handleAction("confirm")),onKeydown:t[6]||(t[6]=dt(Ue(C=>e.handleAction("confirm"),["prevent"]),["enter"]))},{default:_(()=>[U(H(e.confirmButtonText||e.t("el.messagebox.confirm")),1)]),_:1},8,["loading","loading-icon","class","round","disabled","size"]),[[Qe,e.showConfirmButton]])],2)],6)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,Qu)]),_:3},8,["z-index","overlay-class","mask"]),[[Qe,e.visible]])]),_:3})}var oc=$e(Ju,[["render",nc],["__file","index.vue"]]);const rt=new Map,ac=e=>{let t=document.body;return e.appendTo&&(he(e.appendTo)&&(t=document.querySelector(e.appendTo)),Zt(e.appendTo)&&(t=e.appendTo),Zt(t)||(t=document.body)),t},sc=(e,t,n=null)=>{const o=v(oc,e,Ne(e.message)||$t(e.message)?{default:Ne(e.message)?e.message:()=>e.message}:null);return o.appContext=n,Ct(o,t),ac(e).appendChild(t.firstElementChild),o.component},rc=()=>document.createElement("div"),lc=(e,t)=>{const n=rc();e.onVanish=()=>{Ct(null,n),rt.delete(a)},e.onAction=s=>{const l=rt.get(a);let r;e.showInput?r={value:a.inputValue,action:s}:r=s,e.callback?e.callback(r,o.proxy):s==="cancel"||s==="close"?e.distinguishCancelAndClose&&s!=="cancel"?l.reject("close"):l.reject("cancel"):l.resolve(r)};const o=sc(e,n,t),a=o.proxy;for(const s in e)Tt(e,s)&&!Tt(a.$props,s)&&(a[s]=e[s]);return a.visible=true,a};function Ge(e,t=null){if(!me)return Promise.reject();let n;return he(e)||$t(e)?e={message:e}:n=e.callback,new Promise((o,a)=>{const s=lc(e,t??Ge._context);rt.set(s,{options:e,callback:n,resolve:o,reject:a})})}const ic=["alert","confirm","prompt"],uc={alert:{closeOnPressEscape:false,closeOnClickModal:false},confirm:{showCancelButton:true},prompt:{showCancelButton:true,showInput:true}};ic.forEach(e=>{Ge[e]=cc(e)});function cc(e){return(t,n,o,a)=>{let s="";return nt(n)?(o=n,s=""):Eo(n)?s="":s=n,Ge(Object.assign({title:s,message:t,type:"",...uc[e]},o,{boxType:e}),a)}}Ge.close=()=>{rt.forEach((e,t)=>{t.doClose()}),rt.clear()};Ge._context=null;const Me=Ge;Me.install=e=>{Me._context=e._context,e.config.globalProperties.$msgbox=Me,e.config.globalProperties.$messageBox=Me,e.config.globalProperties.$alert=Me.alert,e.config.globalProperties.$confirm=Me.confirm,e.config.globalProperties.$prompt=Me.prompt};const dc=Me,fc={class:"todo-app"},pc={class:"todo-container"},vc={class:"todo-header"},mc={class:"button-group"},gc={class:"todo-stats"},hc={class:"search-filter-section"},yc={class:"filter-buttons"},bc={class:"todo-table-card"},_c={key:1,class:"pagination-section"},wc=z({__name:"todolist",setup(e){const t=I([]),n=I(false),o=I(false),a=I(false),s=I(false),l=I(false),r=I(""),d=I("all"),f=I(1),w=I(8),h=I({title:"",content:"",createdBy:""}),C=I({id:0,title:"",content:"",createdBy:"",completed:false}),M=b(()=>t.value.filter(E=>E.completed).length),p=b(()=>t.value.filter(E=>!E.completed).length),u=b(()=>{let E=t.value;if(d.value==="active"?E=E.filter(m=>!m.completed):d.value==="completed"&&(E=E.filter(m=>m.completed)),r.value.trim()){const m=r.value.toLowerCase().trim();E=E.filter(D=>D.title.toLowerCase().includes(m)||D.content.toLowerCase().includes(m))}return f.value=1,E}),S=b(()=>{const E=(f.value-1)*w.value,m=E+w.value;return u.value.slice(E,m)});function x(E){w.value=E,f.value=1}function A(E){f.value=E}function K(E){return new Date(E).toLocaleString("zh-CN")}function R(){a.value=true,De("onitodos/list").then(E=>{t.value=E,a.value=false,ie.success("刷新成功")}).catch(E=>{a.value=false,ie.error("刷新失败"),console.error(E)})}De("onitodos/list").then(E=>{t.value=E});async function F(){if(!h.value.title.trim()){ie.warning("请输入标题");return}o.value=true;try{await De("onitodos/add",{title:h.value.title,content:h.value.content,createdBy:h.value.createdBy}),ie.success("添加成功"),s.value=false,h.value={title:"",content:"",createdBy:""},R()}catch(E){ie.error("添加失败"),console.error(E)}finally{o.value=false}}function q(E){C.value={id:E.id,title:E.title,content:E.content,createdBy:E.createdBy,completed:E.completed},l.value=true}async function L(){if(!C.value.title.trim()){ie.warning("请输入标题");return}o.value=true;try{await De("onitodos/update",{id:C.value.id,title:C.value.title,content:C.value.content,createdBy:C.value.createdBy,completed:C.value.completed}),ie.success("更新成功"),l.value=false,R()}catch(E){ie.error("更新失败"),console.error(E)}finally{o.value=false}}async function j(E,m){try{await De("onitodos/update",{id:E.id,completed:m}),ie.success(m?"标记完成成功":"取消完成成功"),R()}catch(D){ie.error("操作失败"),console.error(D)}}async function te(E){try{await dc.confirm(`确定要删除待办事项 "${E.title}" 吗?`,"确认删除",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),await De("onitodos/delete",{id:E.id}),ie.success("删除成功"),R()}catch(m){m!=="cancel"&&(ie.error("删除失败"),console.error(m))}}return(E,m)=>{const D=$("el-icon"),Q=$("el-button"),se=$("el-statistic"),re=$("el-input"),V=$("el-table-column"),le=$("el-tag"),ce=$("el-table"),ne=$("el-empty"),Fe=$("el-pagination"),de=$("el-form-item"),be=$("el-form"),Ve=$("el-dialog"),zt=$("el-checkbox"),Ft=fa("loading");return y(),k("div",fc,[m[30]||(m[30]=c("div",{class:"bg-pattern"},null,-1)),c("div",pc,[c("div",vc,[m[20]||(m[20]=c("h2",{class:"todo-title"},[c("span",{class:"title-dot"},"♦"),c("span",{class:"title-text"},"ONITODO"),c("span",{class:"title-dot"},"♦")],-1)),c("div",mc,[v(Q,{type:"default",class:"cute-btn",onClick:R,loading:a.value},{default:_(()=>[v(D,null,{default:_(()=>[v(i($a))]),_:1}),m[18]||(m[18]=U(" 刷新 ",-1))]),_:1},8,["loading"]),v(Q,{type:"primary",class:"cute-btn primary",onClick:m[0]||(m[0]=B=>s.value=true)},{default:_(()=>[v(D,null,{default:_(()=>[v(i(Ia))]),_:1}),m[19]||(m[19]=U(" 新增待办 ",-1))]),_:1})])]),c("div",gc,[v(se,{title:"总计",value:t.value.length},null,8,["value"]),v(se,{title:"已完成",value:M.value},null,8,["value"]),v(se,{title:"未完成",value:p.value},null,8,["value"])]),c("div",hc,[v(re,{modelValue:r.value,"onUpdate:modelValue":m[1]||(m[1]=B=>r.value=B),placeholder:"🔍 搜索标题或内容...",class:"search-input cute-input",clearable:""},null,8,["modelValue"]),c("div",yc,[c("button",{class:T(["filter-btn",{active:d.value==="all"}]),onClick:m[2]||(m[2]=B=>d.value="all")}," 全部 ",2),c("button",{class:T(["filter-btn",{active:d.value==="active"}]),onClick:m[3]||(m[3]=B=>d.value="active")}," 未完成 ",2),c("button",{class:T(["filter-btn",{active:d.value==="completed"}]),onClick:m[4]||(m[4]=B=>d.value="completed")}," 已完成 ",2)])]),c("div",bc,[Ke((y(),N(ce,{data:S.value,stripe:"",style:{width:"100%"},class:"cute-table"},{default:_(()=>[v(V,{type:"index",label:"id",width:"80"}),v(V,{prop:"title",label:"标题","min-width":"150","show-overflow-tooltip":""},{default:_(({row:B})=>[c("span",{class:T({"completed-text":B.completed})},H(B.title),3)]),_:1}),v(V,{prop:"content",label:"内容","min-width":"150","show-overflow-tooltip":""}),v(V,{prop:"createdBy",label:"创建人",width:"80","show-overflow-tooltip":""}),v(V,{prop:"completed",label:"状态",width:"80"},{default:_(({row:B})=>[v(le,{type:B.completed?"success":"warning",size:"small",class:"cute-tag"},{default:_(()=>[U(H(B.completed?"已完成":"未完成"),1)]),_:2},1032,["type"])]),_:1}),v(V,{prop:"createdAt",label:"创建时间",width:"180"},{default:_(({row:B})=>[U(H(K(B.createdAt)),1)]),_:1}),v(V,{label:"操作",width:"200",fixed:"right"},{default:_(({row:B})=>[B.completed?(y(),N(Q,{key:1,size:"small",type:"warning",class:"cute-btn",onClick:Ye=>j(B,false)},{default:_(()=>[...m[22]||(m[22]=[U(" 取消 ",-1)])]),_:1},8,["onClick"])):(y(),N(Q,{key:0,size:"small",type:"success",class:"cute-btn",onClick:Ye=>j(B,true)},{default:_(()=>[...m[21]||(m[21]=[U(" 完成 ",-1)])]),_:1},8,["onClick"])),v(Q,{size:"small",type:"primary",class:"cute-btn",onClick:Ye=>q(B)},{default:_(()=>[...m[23]||(m[23]=[U(" 编辑 ",-1)])]),_:1},8,["onClick"]),v(Q,{size:"small",type:"danger",class:"cute-btn",onClick:Ye=>te(B)},{default:_(()=>[...m[24]||(m[24]=[U(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Ft,n.value]]),u.value.length===0&&!n.value?(y(),N(ne,{key:0,description:"暂无待办事项"})):O("v-if",true),u.value.length>8?(y(),k("div",_c,[v(Fe,{"current-page":f.value,"onUpdate:currentPage":m[5]||(m[5]=B=>f.value=B),"page-size":w.value,"onUpdate:pageSize":m[6]||(m[6]=B=>w.value=B),"page-sizes":[8,16,32,64],total:u.value.length,layout:"total, sizes, prev, pager, next, jumper",background:"",onSizeChange:x,onCurrentChange:A},null,8,["current-page","page-size","total"])])):O("v-if",true)])]),v(Ve,{modelValue:s.value,"onUpdate:modelValue":m[11]||(m[11]=B=>s.value=B),title:"新增待办事项",width:"500px",class:"cute-dialog"},{footer:_(()=>[v(Q,{onClick:m[10]||(m[10]=B=>s.value=false),class:"cute-btn"},{default:_(()=>[...m[25]||(m[25]=[U("取消",-1)])]),_:1}),v(Q,{type:"primary",onClick:F,loading:o.value,class:"cute-btn primary"},{default:_(()=>[...m[26]||(m[26]=[U(" 保存 ",-1)])]),_:1},8,["loading"])]),default:_(()=>[v(be,{model:h.value,"label-width":"80px"},{default:_(()=>[v(de,{label:"标题"},{default:_(()=>[v(re,{modelValue:h.value.title,"onUpdate:modelValue":m[7]||(m[7]=B=>h.value.title=B),placeholder:"请输入标题",class:"cute-input"},null,8,["modelValue"])]),_:1}),v(de,{label:"内容"},{default:_(()=>[v(re,{modelValue:h.value.content,"onUpdate:modelValue":m[8]||(m[8]=B=>h.value.content=B),type:"textarea",rows:4,placeholder:"请输入具体内容",class:"cute-input"},null,8,["modelValue"])]),_:1}),v(de,{label:"创建人"},{default:_(()=>[v(re,{modelValue:h.value.createdBy,"onUpdate:modelValue":m[9]||(m[9]=B=>h.value.createdBy=B),placeholder:"默认为:默认创建人",class:"cute-input"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),v(Ve,{modelValue:l.value,"onUpdate:modelValue":m[17]||(m[17]=B=>l.value=B),title:"编辑待办事项",width:"500px",class:"cute-dialog"},{footer:_(()=>[v(Q,{onClick:m[16]||(m[16]=B=>l.value=false),class:"cute-btn"},{default:_(()=>[...m[28]||(m[28]=[U("取消",-1)])]),_:1}),v(Q,{type:"primary",onClick:L,loading:o.value,class:"cute-btn primary"},{default:_(()=>[...m[29]||(m[29]=[U(" 保存 ",-1)])]),_:1},8,["loading"])]),default:_(()=>[v(be,{model:C.value,"label-width":"80px"},{default:_(()=>[v(de,{label:"标题"},{default:_(()=>[v(re,{modelValue:C.value.title,"onUpdate:modelValue":m[12]||(m[12]=B=>C.value.title=B),placeholder:"请输入标题",class:"cute-input"},null,8,["modelValue"])]),_:1}),v(de,{label:"内容"},{default:_(()=>[v(re,{modelValue:C.value.content,"onUpdate:modelValue":m[13]||(m[13]=B=>C.value.content=B),type:"textarea",rows:4,placeholder:"请输入具体内容",class:"cute-input"},null,8,["modelValue"])]),_:1}),v(de,{label:"创建人"},{default:_(()=>[v(re,{modelValue:C.value.createdBy,"onUpdate:modelValue":m[14]||(m[14]=B=>C.value.createdBy=B),placeholder:"请输入创建人",class:"cute-input"},null,8,["modelValue"])]),_:1}),v(de,{label:"状态"},{default:_(()=>[v(zt,{modelValue:C.value.completed,"onUpdate:modelValue":m[15]||(m[15]=B=>C.value.completed=B),class:"cute-checkbox"},{default:_(()=>[...m[27]||(m[27]=[U(" 已完成 ",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),Cc=it(wc,[["__scopeId","data-v-e2a5ab20"]]),kc=e=>{e.page({name:"同步机器人",path:"/onilogs",component:Ka,fields:["onilogs"]}),e.page({name:"火箭计算器",path:"/calculator",component:Fs}),e.page({name:"缺氧 TodoList",path:"/onitodos",component:Hs}),e.slot({type:"calculator",component:Rs}),e.slot({type:"onitodos",component:Cc})};export{kc as default};
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.filter-container[data-v-62639236]{background:#fff;padding:16px;margin-bottom:12px;border-radius:4px;box-shadow:0 2px 4px #0000001a}.log-tabs[data-v-62639236]{margin-bottom:16px}.filter-row[data-v-62639236]{display:flex;gap:12px;align-items:center}.filter-input[data-v-62639236]{flex:1}.button-group[data-v-62639236]{display:flex;gap:8px}.log-container[data-v-62639236]{width:100%;height:calc(100vh - 220px);overflow-y:auto;padding:12px;font-family:monospace;background:#1e1e1e;color:#d4d4d4;border-radius:4px}.log-line[data-v-62639236]{line-height:1.5;font-size:13px}pre[data-v-62639236]{margin:0;font-family:inherit;white-space:pre-wrap;word-break:break-all}.log-error[data-v-62639236]{color:#f44747}.log-warn[data-v-62639236]{color:#dcdcaa}.log-info[data-v-62639236]{color:#4fc1ff}.empty-state[data-v-62639236]{display:flex;justify-content:center;align-items:center;height:100%;color:gray;font-size:14px}[data-v-3e8f9409]{box-sizing:border-box}.rocket-calculator[data-v-3e8f9409]{max-width:800px;margin:0 auto;padding:20px;box-sizing:border-box;position:relative;min-height:100vh;overflow-x:hidden}.sci-fi-bg[data-v-3e8f9409]{background:linear-gradient(135deg,#0a0e27,#1a1f3a,#0f172a);color:#e0e7ff}.grid-overlay[data-v-3e8f9409]{position:fixed;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(0,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,255,.03) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0}.sci-fi-card[data-v-3e8f9409]{background:#0f172af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,255,255,.2);box-shadow:0 0 20px #00ffff1a,inset 0 0 20px #00000080;position:relative;overflow:visible;z-index:1}.sci-fi-card[data-v-3e8f9409] .k-card__body{padding:24px}.card-header-line[data-v-3e8f9409]{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#00ffff,#8b5cf6,transparent);animation:lineGlow-3e8f9409 3s ease-in-out infinite;z-index:1}@keyframes lineGlow-3e8f9409{0%,to{opacity:.5}50%{opacity:1}}.header-card[data-v-3e8f9409]{margin-bottom:24px;text-align:center;position:relative;z-index:10;margin-top:8px}.header-glow[data-v-3e8f9409]{position:absolute;top:-50%;left:50%;transform:translate(-50%);width:200%;height:100%;background:radial-gradient(ellipse,rgba(139,92,246,.15) 0%,transparent 70%);pointer-events:none;z-index:-1}.sci-fi-title[data-v-3e8f9409]{margin:0 0 8px;font-size:28px;font-weight:800;letter-spacing:4px;color:#0ff;background:linear-gradient(90deg,#0ff,#8b5cf6,#0ff);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:titleShine-3e8f9409 4s linear infinite;position:relative;z-index:2;text-shadow:0 0 30px rgba(0,255,255,.3);line-height:1.4}@keyframes titleShine-3e8f9409{0%{background-position:0% center}to{background-position:200% center}}.sci-fi-subtitle[data-v-3e8f9409]{margin:0;color:#64748b;font-size:13px;letter-spacing:2px;text-transform:uppercase;position:relative;z-index:2;line-height:1.5}.content-layout[data-v-3e8f9409]{display:flex;flex-direction:column;gap:24px;position:relative;z-index:1}.config-section[data-v-3e8f9409]{margin-bottom:20px;position:relative;z-index:1}.section-title[data-v-3e8f9409]{margin:0 0 20px;font-size:14px;color:#0ff;letter-spacing:2px;font-weight:600}.distance-control[data-v-3e8f9409]{width:100%}.distance-step-selector[data-v-3e8f9409]{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:16px}.step-btn[data-v-3e8f9409]{margin:0;background:#0000004d;border:1px solid rgba(0,255,255,.2);color:#94a3b8;padding:8px 4px;font-size:12px;font-weight:600;transition:all .2s ease;white-space:nowrap}.step-btn[data-v-3e8f9409]:hover{border-color:#00ffff80;color:#0ff;transform:translateY(-1px)}.step-btn.active[data-v-3e8f9409]{background:#00ffff26;border-color:#0ff;color:#0ff;box-shadow:0 0 15px #00ffff4d}.distance-input-wrapper[data-v-3e8f9409]{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#0000004d;border:1px solid rgba(139,92,246,.3);border-radius:4px}.distance-label[data-v-3e8f9409]{color:#64748b;font-size:13px}.distance-value[data-v-3e8f9409]{font-size:20px;font-weight:800;color:#8b5cf6}.unit[data-v-3e8f9409]{color:#8b5cf6;font-weight:600;font-size:14px}.modules-grid[data-v-3e8f9409]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.module-item[data-v-3e8f9409]{background:#00ffff0d;border:1px solid rgba(0,255,255,.1);padding:12px;border-radius:4px;transition:all .3s ease;display:flex;flex-direction:column;gap:8px}.module-item[data-v-3e8f9409]:hover{border-color:#00ffff4d;background:#00ffff14}.module-name[data-v-3e8f9409]{font-size:13px;color:#94a3b8}.module-input[data-v-3e8f9409]{width:100%}.module-input[data-v-3e8f9409] .el-input__wrapper{background:#0000004d;border:1px solid rgba(0,255,255,.2);box-shadow:none;padding:4px 6px}.module-input[data-v-3e8f9409] .el-input__inner{text-align:center;color:#0ff;font-weight:700;font-size:16px}.module-input[data-v-3e8f9409] .el-input-number__decrease,.module-input[data-v-3e8f9409] .el-input-number__increase{background:#0ff3;color:#0ff;border-color:#00ffff4d;font-weight:800;font-size:16px;transition:all .2s ease}.module-input[data-v-3e8f9409] .el-input-number__decrease:hover,.module-input[data-v-3e8f9409] .el-input-number__increase:hover{background:#0ff6;color:#fff}.module-input[data-v-3e8f9409] .el-input-number__decrease.is-disabled,.module-input[data-v-3e8f9409] .el-input-number__increase.is-disabled{background:#0003;color:#475569;border-color:#ffffff1a}.calculate-btn-wrapper[data-v-3e8f9409]{margin-top:24px;margin-bottom:0}.sci-fi-calculate-btn[data-v-3e8f9409]{width:100%;height:50px;background:linear-gradient(135deg,#0ff,#8b5cf6);border:none;color:#0a0e27;font-weight:800;font-size:16px;letter-spacing:2px;position:relative;overflow:hidden;transition:all .3s ease}.sci-fi-calculate-btn[data-v-3e8f9409]:hover{transform:translateY(-2px);box-shadow:0 10px 30px #00ffff4d}.btn-text[data-v-3e8f9409]{position:relative;z-index:1}.btn-glow[data-v-3e8f9409]{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:btnScan-3e8f9409 2s ease-in-out infinite}@keyframes btnScan-3e8f9409{0%{left:-100%}to{left:100%}}.sci-fi-radio-group[data-v-3e8f9409]{width:100%;display:flex}.sci-fi-radio-group[data-v-3e8f9409] .el-radio-button{flex:1}.sci-fi-radio-group[data-v-3e8f9409] .el-radio-button__inner{width:100%;background:#0000004d;border:1px solid rgba(0,255,255,.2);color:#94a3b8;font-weight:600;padding:12px 10px;transition:all .2s ease}.sci-fi-radio-group[data-v-3e8f9409] .el-radio-button__inner:hover{color:#0ff;border-color:#0ff6}.sci-fi-radio-group[data-v-3e8f9409] .el-radio-button__orig-radio:checked+.el-radio-button__inner{background:#00ffff26;border-color:#0ff;color:#0ff;box-shadow:0 0 15px #0ff3}.oxidizer-hint[data-v-3e8f9409]{display:flex;justify-content:space-around;margin-top:8px}.hint-item[data-v-3e8f9409]{font-size:12px;color:#64748b;transition:all .2s ease}.hint-item.active[data-v-3e8f9409]{color:#0ff;font-weight:600}.divider-line[data-v-3e8f9409]{height:1px;background:linear-gradient(90deg,transparent,rgba(0,255,255,.3),transparent);margin:24px 0}.result-header[data-v-3e8f9409]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:8px}.result-title[data-v-3e8f9409]{margin:0;font-size:18px;color:#0ff;letter-spacing:2px}.result-status[data-v-3e8f9409]{display:flex;align-items:center;gap:8px;font-size:12px;color:#67c23a;letter-spacing:1px}.status-dot[data-v-3e8f9409]{width:8px;height:8px;background:#67c23a;border-radius:50%;animation:statusPulse-3e8f9409 2s ease-in-out infinite}@keyframes statusPulse-3e8f9409{0%,to{box-shadow:0 0 #67c23a66}50%{box-shadow:0 0 0 8px #67c23a00}}.key-stats[data-v-3e8f9409]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat-item[data-v-3e8f9409]{background:#0000004d;border:1px solid rgba(255,255,255,.1);padding:16px;text-align:center;position:relative}.stat-item.primary[data-v-3e8f9409]{border-color:#0ff6;box-shadow:0 0 20px #00ffff1a}.stat-item.success[data-v-3e8f9409]{border-color:#67c23a66;box-shadow:0 0 20px #67c23a1a}.stat-item.warning[data-v-3e8f9409]{border-color:#e6a23c66;box-shadow:0 0 20px #e6a23c1a}.stat-label[data-v-3e8f9409]{font-size:12px;color:#64748b;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}.stat-value[data-v-3e8f9409]{font-size:24px;font-weight:800}.stat-item.primary .stat-value[data-v-3e8f9409]{color:#0ff}.stat-item.success .stat-value[data-v-3e8f9409]{color:#67c23a}.stat-item.warning .stat-value[data-v-3e8f9409]{color:#e6a23c}.stat-unit[data-v-3e8f9409]{font-size:14px;opacity:.7}.detail-title[data-v-3e8f9409]{margin:0 0 16px;font-size:14px;color:#8b5cf6;letter-spacing:2px}.detail-grid[data-v-3e8f9409]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-item[data-v-3e8f9409]{display:flex;justify-content:space-between;align-items:center;background:#0003;padding:12px 16px;border-left:3px solid #8b5cf6;gap:8px}.detail-label[data-v-3e8f9409]{font-size:13px;color:#94a3b8}.detail-value[data-v-3e8f9409]{font-size:16px;font-weight:700;color:#e0e7ff;text-align:right}.sci-fi-divider[data-v-3e8f9409]{border-color:#00ffff1a;margin:24px 0}.table-wrapper[data-v-3e8f9409]{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.sci-fi-table[data-v-3e8f9409]{background:#0003;min-width:500px}.sci-fi-table[data-v-3e8f9409] .el-table__header-wrapper{background:#00ffff0d}.sci-fi-table[data-v-3e8f9409] .el-table th{background:transparent;color:#0ff;border-color:#00ffff1a}.sci-fi-table[data-v-3e8f9409] .el-table td{border-color:#ffffff0d}.sci-fi-table[data-v-3e8f9409] .el-table--striped .el-table__body tr.el-table__row--striped{background:#0000001a}.empty-state[data-v-3e8f9409]{text-align:center;padding:60px 20px;position:relative}.scan-line[data-v-3e8f9409]{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(0,255,255,.5),transparent);animation:scanMove-3e8f9409 3s linear infinite}@keyframes scanMove-3e8f9409{0%{top:0;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}.empty-icon[data-v-3e8f9409]{font-size:48px;margin-bottom:16px}.empty-text[data-v-3e8f9409]{font-size:16px;color:#64748b;margin:0 0 8px;letter-spacing:1px}.empty-text.error[data-v-3e8f9409]{color:#f87171}.empty-hint[data-v-3e8f9409]{font-size:13px;color:#475569;margin:0 0 24px;line-height:1.5}.sci-fi-reset-btn[data-v-3e8f9409]{background:#8b5cf633;border:1px solid #8b5cf6;color:#8b5cf6}.sci-fi-reset-btn[data-v-3e8f9409]:hover{background:#8b5cf64d;color:#a78bfa}.sci-fi-form[data-v-3e8f9409] .el-form-item__label{color:#94a3b8;font-weight:600;padding-bottom:6px;line-height:1.4}.sci-fi-select[data-v-3e8f9409] .el-input__wrapper{background:#0000004d;border:1px solid rgba(0,255,255,.2);box-shadow:none}.sci-fi-select[data-v-3e8f9409] .el-input__wrapper:hover{border-color:#0ff6}.sci-fi-select[data-v-3e8f9409] .el-input__wrapper.is-focus{border-color:#0ff;box-shadow:0 0 10px #0ff3}@media screen and (max-width: 600px){.rocket-calculator[data-v-3e8f9409]{padding:12px}.sci-fi-title[data-v-3e8f9409]{font-size:20px;letter-spacing:2px}.sci-fi-card[data-v-3e8f9409] .k-card__body{padding:16px}.key-stats[data-v-3e8f9409],.modules-grid[data-v-3e8f9409],.detail-grid[data-v-3e8f9409]{grid-template-columns:1fr}.distance-step-selector[data-v-3e8f9409]{grid-template-columns:repeat(3,1fr)}}.scrollbar[data-v-7f2607d9]{background:linear-gradient(135deg,#0a0e27,#1a1f3a,#0f172a);color:#e0e7ff}
|
|
1
|
+
.filter-container[data-v-62639236]{background:#fff;padding:16px;margin-bottom:12px;border-radius:4px;box-shadow:0 2px 4px #0000001a}.log-tabs[data-v-62639236]{margin-bottom:16px}.filter-row[data-v-62639236]{display:flex;gap:12px;align-items:center}.filter-input[data-v-62639236]{flex:1}.button-group[data-v-62639236]{display:flex;gap:8px}.log-container[data-v-62639236]{width:100%;height:calc(100vh - 220px);overflow-y:auto;padding:12px;font-family:monospace;background:#1e1e1e;color:#d4d4d4;border-radius:4px}.log-line[data-v-62639236]{line-height:1.5;font-size:13px}pre[data-v-62639236]{margin:0;font-family:inherit;white-space:pre-wrap;word-break:break-all}.log-error[data-v-62639236]{color:#f44747}.log-warn[data-v-62639236]{color:#dcdcaa}.log-info[data-v-62639236]{color:#4fc1ff}.empty-state[data-v-62639236]{display:flex;justify-content:center;align-items:center;height:100%;color:gray;font-size:14px}[data-v-3e8f9409]{box-sizing:border-box}.rocket-calculator[data-v-3e8f9409]{max-width:800px;margin:0 auto;padding:20px;box-sizing:border-box;position:relative;min-height:100vh;overflow-x:hidden}.sci-fi-bg[data-v-3e8f9409]{background:linear-gradient(135deg,#0a0e27,#1a1f3a,#0f172a);color:#e0e7ff}.grid-overlay[data-v-3e8f9409]{position:fixed;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(0,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,255,.03) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0}.sci-fi-card[data-v-3e8f9409]{background:#0f172af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,255,255,.2);box-shadow:0 0 20px #00ffff1a,inset 0 0 20px #00000080;position:relative;overflow:visible;z-index:1}.sci-fi-card[data-v-3e8f9409] .k-card__body{padding:24px}.card-header-line[data-v-3e8f9409]{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#00ffff,#8b5cf6,transparent);animation:lineGlow-3e8f9409 3s ease-in-out infinite;z-index:1}@keyframes lineGlow-3e8f9409{0%,to{opacity:.5}50%{opacity:1}}.header-card[data-v-3e8f9409]{margin-bottom:24px;text-align:center;position:relative;z-index:10;margin-top:8px}.header-glow[data-v-3e8f9409]{position:absolute;top:-50%;left:50%;transform:translate(-50%);width:200%;height:100%;background:radial-gradient(ellipse,rgba(139,92,246,.15) 0%,transparent 70%);pointer-events:none;z-index:-1}.sci-fi-title[data-v-3e8f9409]{margin:0 0 8px;font-size:28px;font-weight:800;letter-spacing:4px;color:#0ff;background:linear-gradient(90deg,#0ff,#8b5cf6,#0ff);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:titleShine-3e8f9409 4s linear infinite;position:relative;z-index:2;text-shadow:0 0 30px rgba(0,255,255,.3);line-height:1.4}@keyframes titleShine-3e8f9409{0%{background-position:0% center}to{background-position:200% center}}.sci-fi-subtitle[data-v-3e8f9409]{margin:0;color:#64748b;font-size:13px;letter-spacing:2px;text-transform:uppercase;position:relative;z-index:2;line-height:1.5}.content-layout[data-v-3e8f9409]{display:flex;flex-direction:column;gap:24px;position:relative;z-index:1}.config-section[data-v-3e8f9409]{margin-bottom:20px;position:relative;z-index:1}.section-title[data-v-3e8f9409]{margin:0 0 20px;font-size:14px;color:#0ff;letter-spacing:2px;font-weight:600}.distance-control[data-v-3e8f9409]{width:100%}.distance-step-selector[data-v-3e8f9409]{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:16px}.step-btn[data-v-3e8f9409]{margin:0;background:#0000004d;border:1px solid rgba(0,255,255,.2);color:#94a3b8;padding:8px 4px;font-size:12px;font-weight:600;transition:all .2s ease;white-space:nowrap}.step-btn[data-v-3e8f9409]:hover{border-color:#00ffff80;color:#0ff;transform:translateY(-1px)}.step-btn.active[data-v-3e8f9409]{background:#00ffff26;border-color:#0ff;color:#0ff;box-shadow:0 0 15px #00ffff4d}.distance-input-wrapper[data-v-3e8f9409]{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#0000004d;border:1px solid rgba(139,92,246,.3);border-radius:4px}.distance-label[data-v-3e8f9409]{color:#64748b;font-size:13px}.distance-value[data-v-3e8f9409]{font-size:20px;font-weight:800;color:#8b5cf6}.unit[data-v-3e8f9409]{color:#8b5cf6;font-weight:600;font-size:14px}.modules-grid[data-v-3e8f9409]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.module-item[data-v-3e8f9409]{background:#00ffff0d;border:1px solid rgba(0,255,255,.1);padding:12px;border-radius:4px;transition:all .3s ease;display:flex;flex-direction:column;gap:8px}.module-item[data-v-3e8f9409]:hover{border-color:#00ffff4d;background:#00ffff14}.module-name[data-v-3e8f9409]{font-size:13px;color:#94a3b8}.module-input[data-v-3e8f9409]{width:100%}.module-input[data-v-3e8f9409] .el-input__wrapper{background:#0000004d;border:1px solid rgba(0,255,255,.2);box-shadow:none;padding:4px 6px}.module-input[data-v-3e8f9409] .el-input__inner{text-align:center;color:#0ff;font-weight:700;font-size:16px}.module-input[data-v-3e8f9409] .el-input-number__decrease,.module-input[data-v-3e8f9409] .el-input-number__increase{background:#0ff3;color:#0ff;border-color:#00ffff4d;font-weight:800;font-size:16px;transition:all .2s ease}.module-input[data-v-3e8f9409] .el-input-number__decrease:hover,.module-input[data-v-3e8f9409] .el-input-number__increase:hover{background:#0ff6;color:#fff}.module-input[data-v-3e8f9409] .el-input-number__decrease.is-disabled,.module-input[data-v-3e8f9409] .el-input-number__increase.is-disabled{background:#0003;color:#475569;border-color:#ffffff1a}.calculate-btn-wrapper[data-v-3e8f9409]{margin-top:24px;margin-bottom:0}.sci-fi-calculate-btn[data-v-3e8f9409]{width:100%;height:50px;background:linear-gradient(135deg,#0ff,#8b5cf6);border:none;color:#0a0e27;font-weight:800;font-size:16px;letter-spacing:2px;position:relative;overflow:hidden;transition:all .3s ease}.sci-fi-calculate-btn[data-v-3e8f9409]:hover{transform:translateY(-2px);box-shadow:0 10px 30px #00ffff4d}.btn-text[data-v-3e8f9409]{position:relative;z-index:1}.btn-glow[data-v-3e8f9409]{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:btnScan-3e8f9409 2s ease-in-out infinite}@keyframes btnScan-3e8f9409{0%{left:-100%}to{left:100%}}.sci-fi-radio-group[data-v-3e8f9409]{width:100%;display:flex}.sci-fi-radio-group[data-v-3e8f9409] .el-radio-button{flex:1}.sci-fi-radio-group[data-v-3e8f9409] .el-radio-button__inner{width:100%;background:#0000004d;border:1px solid rgba(0,255,255,.2);color:#94a3b8;font-weight:600;padding:12px 10px;transition:all .2s ease}.sci-fi-radio-group[data-v-3e8f9409] .el-radio-button__inner:hover{color:#0ff;border-color:#0ff6}.sci-fi-radio-group[data-v-3e8f9409] .el-radio-button__orig-radio:checked+.el-radio-button__inner{background:#00ffff26;border-color:#0ff;color:#0ff;box-shadow:0 0 15px #0ff3}.oxidizer-hint[data-v-3e8f9409]{display:flex;justify-content:space-around;margin-top:8px}.hint-item[data-v-3e8f9409]{font-size:12px;color:#64748b;transition:all .2s ease}.hint-item.active[data-v-3e8f9409]{color:#0ff;font-weight:600}.divider-line[data-v-3e8f9409]{height:1px;background:linear-gradient(90deg,transparent,rgba(0,255,255,.3),transparent);margin:24px 0}.result-header[data-v-3e8f9409]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:8px}.result-title[data-v-3e8f9409]{margin:0;font-size:18px;color:#0ff;letter-spacing:2px}.result-status[data-v-3e8f9409]{display:flex;align-items:center;gap:8px;font-size:12px;color:#67c23a;letter-spacing:1px}.status-dot[data-v-3e8f9409]{width:8px;height:8px;background:#67c23a;border-radius:50%;animation:statusPulse-3e8f9409 2s ease-in-out infinite}@keyframes statusPulse-3e8f9409{0%,to{box-shadow:0 0 #67c23a66}50%{box-shadow:0 0 0 8px #67c23a00}}.key-stats[data-v-3e8f9409]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat-item[data-v-3e8f9409]{background:#0000004d;border:1px solid rgba(255,255,255,.1);padding:16px;text-align:center;position:relative}.stat-item.primary[data-v-3e8f9409]{border-color:#0ff6;box-shadow:0 0 20px #00ffff1a}.stat-item.success[data-v-3e8f9409]{border-color:#67c23a66;box-shadow:0 0 20px #67c23a1a}.stat-item.warning[data-v-3e8f9409]{border-color:#e6a23c66;box-shadow:0 0 20px #e6a23c1a}.stat-label[data-v-3e8f9409]{font-size:12px;color:#64748b;margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}.stat-value[data-v-3e8f9409]{font-size:24px;font-weight:800}.stat-item.primary .stat-value[data-v-3e8f9409]{color:#0ff}.stat-item.success .stat-value[data-v-3e8f9409]{color:#67c23a}.stat-item.warning .stat-value[data-v-3e8f9409]{color:#e6a23c}.stat-unit[data-v-3e8f9409]{font-size:14px;opacity:.7}.detail-title[data-v-3e8f9409]{margin:0 0 16px;font-size:14px;color:#8b5cf6;letter-spacing:2px}.detail-grid[data-v-3e8f9409]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-item[data-v-3e8f9409]{display:flex;justify-content:space-between;align-items:center;background:#0003;padding:12px 16px;border-left:3px solid #8b5cf6;gap:8px}.detail-label[data-v-3e8f9409]{font-size:13px;color:#94a3b8}.detail-value[data-v-3e8f9409]{font-size:16px;font-weight:700;color:#e0e7ff;text-align:right}.sci-fi-divider[data-v-3e8f9409]{border-color:#00ffff1a;margin:24px 0}.table-wrapper[data-v-3e8f9409]{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.sci-fi-table[data-v-3e8f9409]{background:#0003;min-width:500px}.sci-fi-table[data-v-3e8f9409] .el-table__header-wrapper{background:#00ffff0d}.sci-fi-table[data-v-3e8f9409] .el-table th{background:transparent;color:#0ff;border-color:#00ffff1a}.sci-fi-table[data-v-3e8f9409] .el-table td{border-color:#ffffff0d}.sci-fi-table[data-v-3e8f9409] .el-table--striped .el-table__body tr.el-table__row--striped{background:#0000001a}.empty-state[data-v-3e8f9409]{text-align:center;padding:60px 20px;position:relative}.scan-line[data-v-3e8f9409]{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(0,255,255,.5),transparent);animation:scanMove-3e8f9409 3s linear infinite}@keyframes scanMove-3e8f9409{0%{top:0;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}.empty-icon[data-v-3e8f9409]{font-size:48px;margin-bottom:16px}.empty-text[data-v-3e8f9409]{font-size:16px;color:#64748b;margin:0 0 8px;letter-spacing:1px}.empty-text.error[data-v-3e8f9409]{color:#f87171}.empty-hint[data-v-3e8f9409]{font-size:13px;color:#475569;margin:0 0 24px;line-height:1.5}.sci-fi-reset-btn[data-v-3e8f9409]{background:#8b5cf633;border:1px solid #8b5cf6;color:#8b5cf6}.sci-fi-reset-btn[data-v-3e8f9409]:hover{background:#8b5cf64d;color:#a78bfa}.sci-fi-form[data-v-3e8f9409] .el-form-item__label{color:#94a3b8;font-weight:600;padding-bottom:6px;line-height:1.4}.sci-fi-select[data-v-3e8f9409] .el-input__wrapper{background:#0000004d;border:1px solid rgba(0,255,255,.2);box-shadow:none}.sci-fi-select[data-v-3e8f9409] .el-input__wrapper:hover{border-color:#0ff6}.sci-fi-select[data-v-3e8f9409] .el-input__wrapper.is-focus{border-color:#0ff;box-shadow:0 0 10px #0ff3}@media screen and (max-width: 600px){.rocket-calculator[data-v-3e8f9409]{padding:12px}.sci-fi-title[data-v-3e8f9409]{font-size:20px;letter-spacing:2px}.sci-fi-card[data-v-3e8f9409] .k-card__body{padding:16px}.key-stats[data-v-3e8f9409],.modules-grid[data-v-3e8f9409],.detail-grid[data-v-3e8f9409]{grid-template-columns:1fr}.distance-step-selector[data-v-3e8f9409]{grid-template-columns:repeat(3,1fr)}}.scrollbar[data-v-7f2607d9]{background:linear-gradient(135deg,#0a0e27,#1a1f3a,#0f172a);color:#e0e7ff}.todo-app[data-v-e2a5ab20]{min-height:100vh;position:relative;background:linear-gradient(135deg,#e0f4ff,#f0f8ff,#e8f5ff);padding:20px}.bg-pattern[data-v-e2a5ab20]{position:fixed;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle,#b8d4e8 1px,transparent 1px);background-size:25px 25px;opacity:.5;pointer-events:none;z-index:0}.todo-container[data-v-e2a5ab20]{position:relative;z-index:1;max-width:1000px;margin:0 auto}.todo-header[data-v-e2a5ab20]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.todo-title[data-v-e2a5ab20]{font-family:Comic Sans MS,cursive,sans-serif;font-size:48px;font-weight:700;color:#fff;text-shadow:2px 2px 0 #333,-2px -2px 0 #333,2px -2px 0 #333,-2px 2px 0 #333,0px 2px 0 #333,0px -2px 0 #333,2px 0px 0 #333,-2px 0px 0 #333,3px 3px 0 #ffd700,4px 4px 0 #333;letter-spacing:5px;display:inline-flex;align-items:center;gap:10px;margin:0}.title-dot[data-v-e2a5ab20]{color:#ff6b9d;font-size:16px;animation:bounce-e2a5ab20 .6s infinite alternate}@keyframes bounce-e2a5ab20{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.title-text[data-v-e2a5ab20]{background:linear-gradient(180deg,#fff,#f0f0f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.button-group[data-v-e2a5ab20]{display:flex;gap:10px}.cute-btn[data-v-e2a5ab20]{background:#fff;border:2px solid #333;color:#333;font-family:Comic Sans MS,cursive,sans-serif;border-radius:8px;box-shadow:3px 3px #333;transition:all .1s}.cute-btn[data-v-e2a5ab20]:hover{transform:translate(1px,1px);box-shadow:2px 2px #333}.cute-btn[data-v-e2a5ab20]:active{transform:translate(2px,2px);box-shadow:1px 1px #333}.cute-btn.primary[data-v-e2a5ab20]{background:linear-gradient(135deg,#ffb6c1,pink)}.todo-stats[data-v-e2a5ab20]{display:flex;gap:20px;margin-bottom:15px;padding:8px 15px;background:#fff;border:2px solid #333;border-radius:10px;box-shadow:4px 4px #333}.search-filter-section[data-v-e2a5ab20]{display:flex;gap:15px;margin-bottom:20px;align-items:center;flex-wrap:wrap}.search-input[data-v-e2a5ab20]{flex:1;min-width:250px}.filter-buttons[data-v-e2a5ab20]{display:flex;gap:10px}.filter-btn[data-v-e2a5ab20]{background:#fff;border:2px solid #333;color:#333;font-family:Comic Sans MS,cursive,sans-serif;padding:8px 20px;border-radius:8px;box-shadow:3px 3px #333;cursor:pointer;transition:all .1s}.filter-btn[data-v-e2a5ab20]:hover{transform:translate(1px,1px);box-shadow:2px 2px #333}.filter-btn[data-v-e2a5ab20]:active{transform:translate(2px,2px);box-shadow:1px 1px #333}.filter-btn.active[data-v-e2a5ab20]{background:linear-gradient(135deg,#87ceeb,#98d8c8)}.todo-table-card[data-v-e2a5ab20]{background:#fff;border:3px solid #333;border-radius:15px;box-shadow:8px 8px #333;overflow:hidden}.cute-table[data-v-e2a5ab20]{font-family:Comic Sans MS,cursive,sans-serif}.cute-table[data-v-e2a5ab20] .el-table__header th{background:linear-gradient(135deg,#87ceeb,#98d8c8);color:#333;font-weight:700}.completed-text[data-v-e2a5ab20]{text-decoration:line-through;color:#909399}.cute-tag[data-v-e2a5ab20]{font-family:Comic Sans MS,cursive,sans-serif;border:2px solid #333}[data-v-e2a5ab20] .el-dialog{border:3px solid #333;border-radius:15px;box-shadow:8px 8px #333}[data-v-e2a5ab20] .el-dialog__header{background:linear-gradient(135deg,#87ceeb,#98d8c8);border-bottom:3px solid #333;margin:0;padding:15px 20px}[data-v-e2a5ab20] .el-dialog__header .el-dialog__title{font-family:Comic Sans MS,cursive,sans-serif;font-weight:700;color:#333}.cute-input[data-v-e2a5ab20] .el-input__wrapper{border:2px solid #333;border-radius:8px;box-shadow:none}.cute-checkbox[data-v-e2a5ab20]{font-family:Comic Sans MS,cursive,sans-serif;color:#333}.cute-checkbox[data-v-e2a5ab20] .el-checkbox__input .el-checkbox__inner{border:2px solid #333;border-radius:4px;box-shadow:2px 2px #333}.cute-checkbox[data-v-e2a5ab20] .el-checkbox__input .el-checkbox__inner:hover{transform:translate(1px,1px);box-shadow:1px 1px #333}.cute-checkbox[data-v-e2a5ab20] .el-checkbox__input.is-checked .el-checkbox__inner{background:linear-gradient(135deg,#87ceeb,#98d8c8);border-color:#333}[data-v-e2a5ab20] .el-statistic__head{color:inherit;font-family:Comic Sans MS,cursive,sans-serif;font-size:14px}[data-v-e2a5ab20] .el-statistic__content{color:inherit;font-family:Comic Sans MS,cursive,sans-serif;font-size:20px}.pagination-section[data-v-e2a5ab20]{padding:20px;display:flex;justify-content:center;border-top:2px solid #333;background:linear-gradient(135deg,#f5f5f5,#fff)}[data-v-e2a5ab20] .el-pagination{font-family:Comic Sans MS,cursive,sans-serif}[data-v-e2a5ab20] .el-pagination button,[data-v-e2a5ab20] .el-pagination li{border:2px solid #333;border-radius:8px;box-shadow:2px 2px #333;transition:all .1s}[data-v-e2a5ab20] .el-pagination button:hover,[data-v-e2a5ab20] .el-pagination li:hover{transform:translate(1px,1px);box-shadow:1px 1px #333}[data-v-e2a5ab20] .el-pagination button.is-active,[data-v-e2a5ab20] .el-pagination li.is-active{background:linear-gradient(135deg,#87ceeb,#98d8c8);color:#333;font-weight:700}[data-v-e2a5ab20] .el-pagination .el-pager li{border-radius:8px}[data-v-e2a5ab20] .el-pagination .el-pagination__sizes .el-select .el-input__wrapper,[data-v-e2a5ab20] .el-pagination .el-pagination__jump .el-select .el-input__wrapper,[data-v-e2a5ab20] .el-pagination .el-pagination__sizes .el-input__wrapper,[data-v-e2a5ab20] .el-pagination .el-pagination__jump .el-input__wrapper{border:2px solid #333;border-radius:8px;box-shadow:2px 2px #333}
|
package/lib/index.js
CHANGED
|
@@ -306,12 +306,53 @@ var WikiBotService = class _WikiBotService extends import_koishi2.Service {
|
|
|
306
306
|
}
|
|
307
307
|
createBotProxy(bot, site) {
|
|
308
308
|
const self = this;
|
|
309
|
+
const METHODS_TO_SKIP = /* @__PURE__ */ new Set([
|
|
310
|
+
"cookieJar",
|
|
311
|
+
"setRequestOptions"
|
|
312
|
+
]);
|
|
309
313
|
return new Proxy(bot, {
|
|
310
314
|
get(target, prop) {
|
|
311
315
|
const originalMethod = target[prop];
|
|
312
316
|
if (typeof originalMethod !== "function") {
|
|
313
317
|
return originalMethod;
|
|
314
318
|
}
|
|
319
|
+
if (METHODS_TO_SKIP.has(prop)) {
|
|
320
|
+
return originalMethod.bind(target);
|
|
321
|
+
}
|
|
322
|
+
if (prop === "continuedQueryGen") {
|
|
323
|
+
return function(...args) {
|
|
324
|
+
const originalGen = originalMethod.apply(target, args);
|
|
325
|
+
return {
|
|
326
|
+
[Symbol.asyncIterator]() {
|
|
327
|
+
const it = originalGen[Symbol.asyncIterator]();
|
|
328
|
+
return {
|
|
329
|
+
async next() {
|
|
330
|
+
try {
|
|
331
|
+
return await it.next();
|
|
332
|
+
} catch (error) {
|
|
333
|
+
if (error.code === "assertuserfailed") {
|
|
334
|
+
logger.warn(
|
|
335
|
+
`检测到 ${site === "gg" ? "WIKIGG" : "bwiki"} 登录过期,正在自动重新登录...`
|
|
336
|
+
);
|
|
337
|
+
await self.reloginSite(site);
|
|
338
|
+
const newBot = site === "gg" ? self.ggbot : self.bwikibot;
|
|
339
|
+
if (!newBot) {
|
|
340
|
+
throw new Error(
|
|
341
|
+
`${site === "gg" ? "WIKIGG" : "bwiki"} 自动重新登录失败`
|
|
342
|
+
);
|
|
343
|
+
}
|
|
344
|
+
const newGen = newBot.continuedQueryGen(...args);
|
|
345
|
+
const newIt = newGen[Symbol.asyncIterator]();
|
|
346
|
+
return await newIt.next();
|
|
347
|
+
}
|
|
348
|
+
throw error;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
};
|
|
354
|
+
};
|
|
355
|
+
}
|
|
315
356
|
return async function(...args) {
|
|
316
357
|
try {
|
|
317
358
|
return await originalMethod.apply(target, args);
|
|
@@ -1623,6 +1664,217 @@ var UpdateCommands = class {
|
|
|
1623
1664
|
});
|
|
1624
1665
|
})(UpdateCommands || (UpdateCommands = {}));
|
|
1625
1666
|
|
|
1667
|
+
// src/plugins/todoList.ts
|
|
1668
|
+
var TodoList = class {
|
|
1669
|
+
constructor(ctx) {
|
|
1670
|
+
this.ctx = ctx;
|
|
1671
|
+
this.log = ctx.logger("oni-todolist");
|
|
1672
|
+
ctx.model.extend(
|
|
1673
|
+
"onitodos",
|
|
1674
|
+
{
|
|
1675
|
+
id: "unsigned",
|
|
1676
|
+
title: "string",
|
|
1677
|
+
content: "text",
|
|
1678
|
+
completed: "boolean",
|
|
1679
|
+
createdBy: "string",
|
|
1680
|
+
createdAt: "timestamp",
|
|
1681
|
+
updatedAt: "timestamp"
|
|
1682
|
+
},
|
|
1683
|
+
{
|
|
1684
|
+
primary: "id",
|
|
1685
|
+
autoInc: true
|
|
1686
|
+
}
|
|
1687
|
+
);
|
|
1688
|
+
this.registerCommands(ctx);
|
|
1689
|
+
this.registerConsoleEvents(ctx);
|
|
1690
|
+
}
|
|
1691
|
+
static {
|
|
1692
|
+
__name(this, "TodoList");
|
|
1693
|
+
}
|
|
1694
|
+
static inject = ["database", "console"];
|
|
1695
|
+
log;
|
|
1696
|
+
getCreatedBy(session) {
|
|
1697
|
+
return session?.userId || "默认创建人";
|
|
1698
|
+
}
|
|
1699
|
+
registerCommands(ctx) {
|
|
1700
|
+
ctx.command("todolist", "缺氧 TodoList", { authority: 1 }).alias("todo").action(async ({ session }) => {
|
|
1701
|
+
await session.execute("todo.list");
|
|
1702
|
+
});
|
|
1703
|
+
ctx.command("todo.list", "查看 TodoList", { authority: 1 }).alias("todo.l").action(async ({ session }) => {
|
|
1704
|
+
return "📋 请访问 https://klei.vip/onitodos 进行 TodoList 管理";
|
|
1705
|
+
});
|
|
1706
|
+
ctx.command("todo.add <title>", "添加待办事项", { authority: 1 }).alias("todo.a").option("content", "-c <content>").option("createdBy", "-u <createdBy>").action(async ({ session, options }, title) => {
|
|
1707
|
+
if (!title) {
|
|
1708
|
+
return "❌ 请提供标题!用法:todo.add <标题> [-c <内容>] [-u <创建人>]";
|
|
1709
|
+
}
|
|
1710
|
+
try {
|
|
1711
|
+
const todo = await ctx.database.create("onitodos", {
|
|
1712
|
+
title,
|
|
1713
|
+
content: options.content || "",
|
|
1714
|
+
completed: false,
|
|
1715
|
+
createdBy: options.createdBy || this.getCreatedBy(session),
|
|
1716
|
+
createdAt: /* @__PURE__ */ new Date(),
|
|
1717
|
+
updatedAt: /* @__PURE__ */ new Date()
|
|
1718
|
+
});
|
|
1719
|
+
this.log.info(`添加待办事项成功: ${title}`);
|
|
1720
|
+
return "✅ 已添加待办事项,请访问 https://klei.vip/onitodos 查看";
|
|
1721
|
+
} catch (err) {
|
|
1722
|
+
this.log.error("添加待办事项失败", err);
|
|
1723
|
+
return "❌ 添加待办事项失败,请查看日志";
|
|
1724
|
+
}
|
|
1725
|
+
});
|
|
1726
|
+
ctx.command("todo.edit <id>", "编辑待办事项", { authority: 1 }).alias("todo.e").option("title", "-t <title>").option("content", "-c <content>").option("createdBy", "-u <createdBy>").action(async ({ session, options }, idStr) => {
|
|
1727
|
+
const id = Number(idStr);
|
|
1728
|
+
if (!id || isNaN(id)) {
|
|
1729
|
+
return "❌ 请提供有效的 ID!";
|
|
1730
|
+
}
|
|
1731
|
+
try {
|
|
1732
|
+
const [todo] = await ctx.database.get("onitodos", { id });
|
|
1733
|
+
if (!todo) {
|
|
1734
|
+
return "❌ 未找到该 ID 的待办事项";
|
|
1735
|
+
}
|
|
1736
|
+
const updateData = {
|
|
1737
|
+
updatedAt: /* @__PURE__ */ new Date()
|
|
1738
|
+
};
|
|
1739
|
+
if (options.title) updateData.title = options.title;
|
|
1740
|
+
if (options.content !== void 0)
|
|
1741
|
+
updateData.content = options.content;
|
|
1742
|
+
if (options.createdBy !== void 0)
|
|
1743
|
+
updateData.createdBy = options.createdBy;
|
|
1744
|
+
await ctx.database.set("onitodos", { id }, updateData);
|
|
1745
|
+
this.log.info(`编辑待办事项成功: ID ${id}`);
|
|
1746
|
+
return "✅ 已编辑待办事项,请访问 https://klei.vip/onitodos 查看";
|
|
1747
|
+
} catch (err) {
|
|
1748
|
+
this.log.error("编辑待办事项失败", err);
|
|
1749
|
+
return "❌ 编辑待办事项失败,请查看日志";
|
|
1750
|
+
}
|
|
1751
|
+
});
|
|
1752
|
+
ctx.command("todo.complete <id>", "标记待办事项为完成", { authority: 1 }).alias("todo.c").action(async ({ session }, idStr) => {
|
|
1753
|
+
const id = Number(idStr);
|
|
1754
|
+
if (!id || isNaN(id)) {
|
|
1755
|
+
return "❌ 请提供有效的 ID!";
|
|
1756
|
+
}
|
|
1757
|
+
try {
|
|
1758
|
+
const [todo] = await ctx.database.get("onitodos", { id });
|
|
1759
|
+
if (!todo) {
|
|
1760
|
+
return "❌ 未找到该 ID 的待办事项";
|
|
1761
|
+
}
|
|
1762
|
+
await ctx.database.set(
|
|
1763
|
+
"onitodos",
|
|
1764
|
+
{ id },
|
|
1765
|
+
{ completed: true, updatedAt: /* @__PURE__ */ new Date() }
|
|
1766
|
+
);
|
|
1767
|
+
this.log.info(`标记待办事项完成成功: ID ${id}`);
|
|
1768
|
+
return "✅ 已标记完成,请访问 https://klei.vip/onitodos 查看";
|
|
1769
|
+
} catch (err) {
|
|
1770
|
+
this.log.error("标记待办事项完成失败", err);
|
|
1771
|
+
return "❌ 标记待办事项完成失败,请查看日志";
|
|
1772
|
+
}
|
|
1773
|
+
});
|
|
1774
|
+
ctx.command("todo.uncomplete <id>", "标记待办事项为未完成", { authority: 1 }).alias("todo.u").action(async ({ session }, idStr) => {
|
|
1775
|
+
const id = Number(idStr);
|
|
1776
|
+
if (!id || isNaN(id)) {
|
|
1777
|
+
return "❌ 请提供有效的 ID!";
|
|
1778
|
+
}
|
|
1779
|
+
try {
|
|
1780
|
+
const [todo] = await ctx.database.get("onitodos", { id });
|
|
1781
|
+
if (!todo) {
|
|
1782
|
+
return "❌ 未找到该 ID 的待办事项";
|
|
1783
|
+
}
|
|
1784
|
+
await ctx.database.set(
|
|
1785
|
+
"onitodos",
|
|
1786
|
+
{ id },
|
|
1787
|
+
{ completed: false, updatedAt: /* @__PURE__ */ new Date() }
|
|
1788
|
+
);
|
|
1789
|
+
this.log.info(`标记待办事项未完成成功: ID ${id}`);
|
|
1790
|
+
return "✅ 已标记未完成,请访问 https://klei.vip/onitodos 查看";
|
|
1791
|
+
} catch (err) {
|
|
1792
|
+
this.log.error("标记待办事项未完成失败", err);
|
|
1793
|
+
return "❌ 标记待办事项未完成失败,请查看日志";
|
|
1794
|
+
}
|
|
1795
|
+
});
|
|
1796
|
+
ctx.command("todo.delete <id>", "删除待办事项", { authority: 2 }).alias("todo.d").action(async ({ session }, idStr) => {
|
|
1797
|
+
const id = Number(idStr);
|
|
1798
|
+
if (!id || isNaN(id)) {
|
|
1799
|
+
return "❌ 请提供有效的 ID!";
|
|
1800
|
+
}
|
|
1801
|
+
try {
|
|
1802
|
+
const [todo] = await ctx.database.get("onitodos", { id });
|
|
1803
|
+
if (!todo) {
|
|
1804
|
+
return "❌ 未找到该 ID 的待办事项";
|
|
1805
|
+
}
|
|
1806
|
+
await ctx.database.remove("onitodos", { id });
|
|
1807
|
+
this.log.info(`删除待办事项成功: ID ${id}`);
|
|
1808
|
+
return "✅ 已删除待办事项,请访问 https://klei.vip/onitodos 查看";
|
|
1809
|
+
} catch (err) {
|
|
1810
|
+
this.log.error("删除待办事项失败", err);
|
|
1811
|
+
return "❌ 删除待办事项失败,请查看日志";
|
|
1812
|
+
}
|
|
1813
|
+
});
|
|
1814
|
+
ctx.command("todo.clear", "清空 TodoList", { authority: 2 }).action(async ({ session }) => {
|
|
1815
|
+
try {
|
|
1816
|
+
const result = await ctx.database.remove("onitodos", {});
|
|
1817
|
+
this.log.info(`清空 TodoList 成功,删除 ${result.removed} 条`);
|
|
1818
|
+
return "✅ 已清空 TodoList,请访问 https://klei.vip/onitodos 查看";
|
|
1819
|
+
} catch (err) {
|
|
1820
|
+
this.log.error("清空 TodoList 失败", err);
|
|
1821
|
+
return "❌ 清空 TodoList 失败,请查看日志";
|
|
1822
|
+
}
|
|
1823
|
+
});
|
|
1824
|
+
}
|
|
1825
|
+
registerConsoleEvents(ctx) {
|
|
1826
|
+
ctx.console.addListener(
|
|
1827
|
+
"onitodos/list",
|
|
1828
|
+
async () => {
|
|
1829
|
+
const todos = await ctx.database.get("onitodos", {});
|
|
1830
|
+
return todos;
|
|
1831
|
+
},
|
|
1832
|
+
{ authority: 1 }
|
|
1833
|
+
);
|
|
1834
|
+
ctx.console.addListener(
|
|
1835
|
+
"onitodos/add",
|
|
1836
|
+
async (data) => {
|
|
1837
|
+
const todo = await ctx.database.create("onitodos", {
|
|
1838
|
+
title: data.title,
|
|
1839
|
+
content: data.content || "",
|
|
1840
|
+
completed: false,
|
|
1841
|
+
createdBy: data.createdBy || "默认创建人",
|
|
1842
|
+
createdAt: /* @__PURE__ */ new Date(),
|
|
1843
|
+
updatedAt: /* @__PURE__ */ new Date()
|
|
1844
|
+
});
|
|
1845
|
+
this.log.info(`控制台添加待办事项成功: ${data.title}`);
|
|
1846
|
+
return todo;
|
|
1847
|
+
},
|
|
1848
|
+
{ authority: 1 }
|
|
1849
|
+
);
|
|
1850
|
+
ctx.console.addListener(
|
|
1851
|
+
"onitodos/update",
|
|
1852
|
+
async (data) => {
|
|
1853
|
+
const updateData = {
|
|
1854
|
+
updatedAt: /* @__PURE__ */ new Date()
|
|
1855
|
+
};
|
|
1856
|
+
if (data.title !== void 0) updateData.title = data.title;
|
|
1857
|
+
if (data.content !== void 0) updateData.content = data.content;
|
|
1858
|
+
if (data.completed !== void 0) updateData.completed = data.completed;
|
|
1859
|
+
if (data.createdBy !== void 0) updateData.createdBy = data.createdBy;
|
|
1860
|
+
await ctx.database.set("onitodos", { id: data.id }, updateData);
|
|
1861
|
+
this.log.info(`控制台更新待办事项成功: ID ${data.id}`);
|
|
1862
|
+
return { success: true };
|
|
1863
|
+
},
|
|
1864
|
+
{ authority: 1 }
|
|
1865
|
+
);
|
|
1866
|
+
ctx.console.addListener(
|
|
1867
|
+
"onitodos/delete",
|
|
1868
|
+
async (data) => {
|
|
1869
|
+
await ctx.database.remove("onitodos", { id: data.id });
|
|
1870
|
+
this.log.info(`控制台删除待办事项成功: ID ${data.id}`);
|
|
1871
|
+
return { success: true };
|
|
1872
|
+
},
|
|
1873
|
+
{ authority: 1 }
|
|
1874
|
+
);
|
|
1875
|
+
}
|
|
1876
|
+
};
|
|
1877
|
+
|
|
1626
1878
|
// src/index.ts
|
|
1627
1879
|
var name = "oni-sync-bot";
|
|
1628
1880
|
var Config = import_koishi11.Schema.intersect([
|
|
@@ -1640,6 +1892,7 @@ function apply(ctx, config) {
|
|
|
1640
1892
|
ctx.plugin(SyncCommands, config);
|
|
1641
1893
|
ctx.plugin(QueryCommands, config);
|
|
1642
1894
|
ctx.plugin(UpdateCommands, config);
|
|
1895
|
+
ctx.plugin(TodoList);
|
|
1643
1896
|
ctx.inject(["console"], (ctx2) => {
|
|
1644
1897
|
ctx2.console.addEntry({
|
|
1645
1898
|
dev: (0, import_path.resolve)(__dirname, "../client/index.ts"),
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Context, Logger } from "koishi";
|
|
2
|
+
declare module "koishi" {
|
|
3
|
+
interface Tables {
|
|
4
|
+
onitodos: OniTodoItem;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
declare module "@koishijs/plugin-console" {
|
|
8
|
+
interface Events {
|
|
9
|
+
"onitodos/list"(): Promise<OniTodoItem[]>;
|
|
10
|
+
"onitodos/add"(data: {
|
|
11
|
+
title: string;
|
|
12
|
+
content: string;
|
|
13
|
+
createdBy?: string;
|
|
14
|
+
}): Promise<OniTodoItem>;
|
|
15
|
+
"onitodos/update"(data: {
|
|
16
|
+
id: number;
|
|
17
|
+
title?: string;
|
|
18
|
+
content?: string;
|
|
19
|
+
completed?: boolean;
|
|
20
|
+
createdBy?: string;
|
|
21
|
+
}): Promise<{
|
|
22
|
+
success: boolean;
|
|
23
|
+
}>;
|
|
24
|
+
"onitodos/delete"(data: {
|
|
25
|
+
id: number;
|
|
26
|
+
}): Promise<{
|
|
27
|
+
success: boolean;
|
|
28
|
+
}>;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export interface OniTodoItem {
|
|
32
|
+
id: number;
|
|
33
|
+
title: string;
|
|
34
|
+
content: string;
|
|
35
|
+
completed: boolean;
|
|
36
|
+
createdBy: string;
|
|
37
|
+
createdAt: Date;
|
|
38
|
+
updatedAt: Date;
|
|
39
|
+
}
|
|
40
|
+
export declare class TodoList {
|
|
41
|
+
ctx: Context;
|
|
42
|
+
static readonly inject: string[];
|
|
43
|
+
log: Logger;
|
|
44
|
+
constructor(ctx: Context);
|
|
45
|
+
private getCreatedBy;
|
|
46
|
+
private registerCommands;
|
|
47
|
+
private registerConsoleEvents;
|
|
48
|
+
}
|
|
49
|
+
export declare function apply(ctx: Context): void;
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -1,5 +1,157 @@
|
|
|
1
1
|
# koishi-plugin-oni-sync-bot
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/koishi-plugin-oni-sync-bot)
|
|
4
|
+
[](https://koishi.chat)
|
|
4
5
|
|
|
5
|
-
缺氧Wiki
|
|
6
|
+
缺氧 Wiki 站镜像点同步插件 - 自动同步两个缺氧 Wiki 站点的内容。
|
|
7
|
+
|
|
8
|
+
## 功能特性
|
|
9
|
+
|
|
10
|
+
- 🚀 **自动登录** - 支持 WIKIGG 和 bwiki 双站点登录
|
|
11
|
+
- 🔄 **自动重连** - 登录过期时自动重新登录并重试
|
|
12
|
+
- 📄 **页面同步** - 单个页面同步到目标站点
|
|
13
|
+
- 📦 **模块同步** - 批量同步指定前缀的页面
|
|
14
|
+
- 🖼️ **图片同步** - 同步页面引用的图片文件
|
|
15
|
+
- 🔍 **页面查询** - 查询页面历史版本和当前版本
|
|
16
|
+
- 📊 **日志控制台** - 可视化日志查看和管理
|
|
17
|
+
- ⚡ **增量更新** - 定时检测并同步最近修改的内容
|
|
18
|
+
|
|
19
|
+
## 安装
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm install koishi-plugin-oni-sync-bot
|
|
23
|
+
# 或
|
|
24
|
+
yarn add koishi-plugin-oni-sync-bot
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## 配置
|
|
28
|
+
|
|
29
|
+
在 Koishi 控制台中配置以下参数:
|
|
30
|
+
|
|
31
|
+
| 参数 | 说明 | 默认值 |
|
|
32
|
+
| --------------- | ------------- | ------ |
|
|
33
|
+
| `ggUsername` | WIKIGG 用户名 | 1 |
|
|
34
|
+
| `ggPassword` | WIKIGG 密码 | 1 |
|
|
35
|
+
| `bwikiusername` | bwiki 用户名 | 1 |
|
|
36
|
+
| `bwikipassword` | bwiki 密码 | 1 |
|
|
37
|
+
|
|
38
|
+
## 命令列表
|
|
39
|
+
|
|
40
|
+
### 同步命令
|
|
41
|
+
|
|
42
|
+
| 命令 | 说明 |
|
|
43
|
+
| -------------------- | ---------------------- |
|
|
44
|
+
| `sync.page <标题>` | 同步单个页面到 bwiki |
|
|
45
|
+
| `sync.gg <标题>` | 同步单个页面到 WIKIGG |
|
|
46
|
+
| `sync.module <前缀>` | 同步指定前缀的所有页面 |
|
|
47
|
+
| `sync.img <标题>` | 同步页面引用的图片 |
|
|
48
|
+
|
|
49
|
+
### 管理命令
|
|
50
|
+
|
|
51
|
+
| 命令 | 说明 |
|
|
52
|
+
| --------- | ---------------------- |
|
|
53
|
+
| `relogin` | 手动重新登录两个机器人 |
|
|
54
|
+
|
|
55
|
+
## 使用示例
|
|
56
|
+
|
|
57
|
+
### 同步单个页面
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
/sync.page 缺氧
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 同步模块
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
/sync.module 缺氧:
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 同步图片
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
/sync.img 电解器.png
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### 手动重新登录
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
/relogin
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## 控制台功能
|
|
82
|
+
|
|
83
|
+
插件提供了可视化的控制台界面:
|
|
84
|
+
|
|
85
|
+
- 📋 **日志查看** - 按级别(全部/信息/警告/错误)筛选日志
|
|
86
|
+
- 🔍 **搜索功能** - 快速搜索日志内容
|
|
87
|
+
- ⏬ **自动滚动** - 新日志自动滚动到底部
|
|
88
|
+
- 🎯 **一键滚动** - 手动跳转到顶部或底部
|
|
89
|
+
|
|
90
|
+
## 技术特性
|
|
91
|
+
|
|
92
|
+
- ✅ **TypeScript** - 完整的类型支持
|
|
93
|
+
- 🎯 **面向对象** - 基于类的插件架构
|
|
94
|
+
- 🔌 **服务化设计** - 核心功能封装为独立服务
|
|
95
|
+
- 🧩 **模块化** - 功能拆分为独立子插件
|
|
96
|
+
- 🔄 **自动重试** - 登录失败自动重试
|
|
97
|
+
- 🔐 **自动重连** - 登录过期自动重新登录
|
|
98
|
+
|
|
99
|
+
## 项目结构
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
koishi-plugin-oni-sync-bot/
|
|
103
|
+
├── src/
|
|
104
|
+
│ ├── services/ # 服务层
|
|
105
|
+
│ │ └── wikiBotService.ts # Wiki 机器人服务
|
|
106
|
+
│ ├── plugins/ # 插件层
|
|
107
|
+
│ │ ├── command.ts # 基础命令插件
|
|
108
|
+
│ │ ├── queryCommands.ts # 查询命令插件
|
|
109
|
+
│ │ ├── syncCommands.ts # 同步命令插件
|
|
110
|
+
│ │ ├── updateCommands.ts # 更新命令插件
|
|
111
|
+
│ │ └── consoleLogProvider.ts # 日志控制台插件
|
|
112
|
+
│ ├── sync/ # 同步逻辑
|
|
113
|
+
│ │ ├── pageSync.ts # 页面同步
|
|
114
|
+
│ │ ├── moduleSync.ts # 模块同步
|
|
115
|
+
│ │ └── imgSync.ts # 图片同步
|
|
116
|
+
│ ├── utils/ # 工具函数
|
|
117
|
+
│ │ └── tools.ts # 通用工具
|
|
118
|
+
│ ├── config/ # 配置
|
|
119
|
+
│ │ └── index.ts # 配置定义
|
|
120
|
+
│ ├── client/ # 前端
|
|
121
|
+
│ │ ├── page.vue # 日志页面
|
|
122
|
+
│ │ └── index.ts # 入口
|
|
123
|
+
│ └── index.ts # 主入口
|
|
124
|
+
├── package.json
|
|
125
|
+
└── tsconfig.json
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## 开发
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
# 创建KOISHI项目
|
|
132
|
+
yarn create koishi
|
|
133
|
+
|
|
134
|
+
# 克隆项目
|
|
135
|
+
git clone <https://github.com/Charles-LF/oni-sync-bot.git>
|
|
136
|
+
|
|
137
|
+
# 安装依赖
|
|
138
|
+
yarn install
|
|
139
|
+
|
|
140
|
+
# 构建
|
|
141
|
+
yarn build
|
|
142
|
+
|
|
143
|
+
# 开发模式
|
|
144
|
+
yarn dev
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## License
|
|
148
|
+
|
|
149
|
+
MIT License
|
|
150
|
+
|
|
151
|
+
## 贡献
|
|
152
|
+
|
|
153
|
+
欢迎提交 Issue 和 Pull Request!
|
|
154
|
+
|
|
155
|
+
## 支持
|
|
156
|
+
|
|
157
|
+
如有问题,请在 GitHub 上提交 Issue。
|