build(frontend): 同步 web/app 构建产物与 ServersPage 调整
与 axs 全量重传前的本地工作区对齐。
This commit is contained in:
@@ -780,20 +780,6 @@ function registerOnboardingJob(
|
||||
showScriptSubmitToast('新服务器初始化已在后台执行(sudo + 路径探测)')
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
void loadBtServers()
|
||||
offBatchComplete = onScriptExecutionComplete((alert) => {
|
||||
if (alert.taskKind !== 'server_batch') return
|
||||
invalidateCachedQuery(CACHE_KEYS.serverCategories)
|
||||
void Promise.all([loadServers(true), loadUnsetPathServers(true), loadCategories(), loadStats(true)])
|
||||
})
|
||||
})
|
||||
|
||||
let offBatchComplete: (() => void) | null = null
|
||||
onBeforeUnmount(() => {
|
||||
offBatchComplete?.()
|
||||
})
|
||||
|
||||
defineOptions({ name: 'ServersPage' })
|
||||
|
||||
const dataTablePageOptions = [...DATA_TABLE_ITEMS_PER_PAGE_OPTIONS]
|
||||
@@ -935,6 +921,10 @@ const unsetSelectedItems = ref<Array<ServerApiItem | number>>([])
|
||||
const unsetSelectedIds = computed(() => new Set(normalizeServerIds(unsetSelectedItems.value)))
|
||||
const selectAllUnsetLoading = ref(false)
|
||||
|
||||
// 须在 batchSelection / useBtPanelBatchBootstrap 之前声明,避免 setup TDZ
|
||||
const selectedItems = ref<Array<ServerApiItem | number>>([])
|
||||
const selectedIds = computed(() => new Set(normalizeServerIds(selectedItems.value)))
|
||||
|
||||
type BatchScope = 'main' | 'unset'
|
||||
const batchScope = ref<BatchScope>('main')
|
||||
|
||||
@@ -1368,10 +1358,6 @@ watch(serverFormVisible, (open, wasOpen) => {
|
||||
if (wasOpen && !open) closeServerForm()
|
||||
})
|
||||
|
||||
// ── Batch selection (Vuetify returns IDs when item-value="id", objects when return-object) ──
|
||||
const selectedItems = ref<Array<ServerApiItem | number>>([])
|
||||
const selectedIds = computed(() => new Set(normalizeServerIds(selectedItems.value)))
|
||||
|
||||
// ── Table config ──
|
||||
const headers = SERVER_DATA_TABLE_HEADERS
|
||||
|
||||
@@ -2002,6 +1988,19 @@ usePageActivateRefresh((silent) => {
|
||||
refreshServersPage(silent)
|
||||
void loadBtServers()
|
||||
})
|
||||
|
||||
let offBatchComplete: (() => void) | null = null
|
||||
onMounted(() => {
|
||||
void loadBtServers()
|
||||
offBatchComplete = onScriptExecutionComplete((alert) => {
|
||||
if (alert.taskKind !== 'server_batch') return
|
||||
invalidateCachedQuery(CACHE_KEYS.serverCategories)
|
||||
void Promise.all([loadServers(true), loadUnsetPathServers(true), loadCategories(), loadStats(true)])
|
||||
})
|
||||
})
|
||||
onBeforeUnmount(() => {
|
||||
offBatchComplete?.()
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as e,t}from"./VSelect-Cbn9r5RK.js";import{n,t as r}from"./VRow-T5Ep28lo.js";import{$ as i,Ar as a,Er as o,Nr as s,Or as c,Tr as l,Xt as u,Yr as d,_i as f,b as p,g as m,h,in as g,jr as _,qr as v,ri as y,u as b,ui as x,v as S,xi as C,xr as w}from"./index-BLJOBTmm.js";import{t as T}from"./usePageActivateRefresh-C3mDVA86.js";import{t as E}from"./useSnackbar-u_XK4ZNm.js";import{n as D,t as O}from"./dataTable-esDY4cOk.js";import{n as k}from"./paginatedFetch-DuACCi8_.js";import{i as A,t as j}from"./VCard-2669QFs6.js";import{t as M}from"./VDataTableServer-Cmhoc0QQ.js";var N={class:`font-weight-medium`},P={class:`text-body-2`},F={class:`text-caption text-medium-emphasis`},I=s({name:`AlertsPage`,__name:`AlertsPage`,setup(s){let I=E(),L=x(!1),R=x([]),z=x(0),B=x(1),V=x(20),H=O,U=x(null),W=x(null),G=x([{label:`今日告警`,value:`0`,color:`blue`,icon:`mdi-alert`},{label:`活跃告警`,value:`0`,color:`orange`,icon:`mdi-bell-ring`},{label:`已恢复`,value:`0`,color:`green`,icon:`mdi-check-circle`},{label:`Top 服务器`,value:`—`,color:`red`,icon:`mdi-server`}]),K=[{label:`CPU`,value:`cpu`},{label:`内存`,value:`memory`},{label:`磁盘`,value:`disk`},{label:`连接`,value:`connection`}],q=[{label:`活跃`,value:`active`},{label:`已恢复`,value:`recovered`}],J=D([{title:`类型`,key:`alert_type`,width:100},{title:`服务器`,key:`server_name`},{title:`详情`,key:`value`},{title:`状态`,key:`is_recovery`,width:100},{title:`时间`,key:`created_at`,width:160}]);async function Y(){try{let e=await g.get(`/alert-history/stats`);G.value[0].value=String(e.today||0),G.value[1].value=String(e.active||0),G.value[2].value=String(e.recovered||0),G.value[3].value=e.top_server||`—`}catch{I(`加载统计失败`,`error`)}}function X(e){B.value=e,Q()}function Z(e){V.value=e,B.value=1,Q()}async function Q(e=!1){e||(L.value=!0);try{let e=await k(`/alert-history/`,{type:U.value||void 0,status:W.value||void 0},B.value,V.value);R.value=e.items,z.value=e.total,V.value===-1&&(B.value=1)}catch{R.value=[],z.value=0,I(`加载告警列表失败`,`error`)}finally{e||(L.value=!1)}}function $(e){return e===`cpu`||e===`CPU`?`error`:e===`memory`||e===`内存`?`warning`:e===`disk`||e===`磁盘`?`info`:`primary`}function ee(e){return e===`cpu`||e===`CPU`?`mdi-chip`:e===`memory`||e===`内存`?`mdi-memory`:e===`disk`||e===`磁盘`?`mdi-harddisk`:`mdi-lan-disconnect`}async function te(e=!1){await Promise.all([Y(),Q(e)])}return T(e=>te(e)),(s,g)=>(v(),o(e,{fluid:``,class:`pa-6`},{default:y(()=>[_(r,{class:`mb-4`},{default:y(()=>[(v(!0),c(w,null,d(G.value,e=>(v(),o(n,{cols:`12`,sm:`6`,lg:`3`,key:e.label},{default:y(()=>[_(b,{elevation:`0`,lines:`two`,rounded:`lg`,border:``},{default:y(()=>[_(h,null,{append:y(()=>[_(i,{color:e.color,size:`30`},{default:y(()=>[a(C(e.icon),1)]),_:2},1032,[`color`])]),default:y(()=>[_(m,{class:`text-body-small`},{default:y(()=>[a(C(e.label),1)]),_:2},1024),_(m,null,{default:y(()=>[a(C(e.value),1)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}),_(j,{elevation:`0`,border:``,rounded:`lg`},{default:y(()=>[_(A,{class:`d-flex align-center`},{default:y(()=>[g[4]||=a(` 告警历史 `,-1),_(S),_(t,{modelValue:U.value,"onUpdate:modelValue":[g[0]||=e=>U.value=e,g[1]||=e=>{B.value=1,Q()}],items:K,"item-title":`label`,"item-value":`value`,label:`类型`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`140px`},clearable:``},null,8,[`modelValue`]),_(t,{modelValue:W.value,"onUpdate:modelValue":[g[2]||=e=>W.value=e,g[3]||=e=>{B.value=1,Q()}],items:q,"item-title":`label`,"item-value":`value`,label:`状态`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`140px`},class:`ml-3`,clearable:``},null,8,[`modelValue`])]),_:1}),_(M,{items:R.value,headers:f(J),"items-length":z.value,loading:L.value,page:B.value,"items-per-page":V.value,"items-per-page-options":f(H),hover:``,density:`comfortable`,"onUpdate:page":X,"onUpdate:itemsPerPage":Z},{"item.alert_type":y(({item:e})=>[_(p,{color:$(e.alert_type),size:`small`,variant:`tonal`,label:``},{prepend:y(()=>[_(i,{size:`12`},{default:y(()=>[a(C(ee(e.alert_type)),1)]),_:2},1024)]),default:y(()=>[a(` `+C(e.alert_type),1)]),_:2},1032,[`color`])]),"item.server_name":y(({item:e})=>[l(`span`,N,C(e.server_name),1)]),"item.value":y(({item:e})=>[l(`span`,P,C(e.value),1)]),"item.is_recovery":y(({item:e})=>[e.is_recovery?(v(),o(p,{key:0,color:`success`,size:`small`,variant:`tonal`,label:``},{default:y(()=>[...g[5]||=[a(`已恢复`,-1)]]),_:1})):(v(),o(p,{key:1,color:`error`,size:`small`,variant:`tonal`,label:``},{default:y(()=>[...g[6]||=[a(`告警中`,-1)]]),_:1}))]),"item.created_at":y(({item:e})=>[l(`span`,F,C(f(u)(e.created_at)),1)]),"no-data":y(()=>[...g[7]||=[l(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`,`items-per-page-options`])]),_:1})]),_:1}))}});export{I as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as e,t}from"./VSelect-Cbn9r5RK.js";import{Ar as n,At as r,Dr as i,Er as a,L as o,Nr as s,Tr as c,Xt as l,_i as u,b as d,br as f,in as p,jr as m,qr as h,ri as g,ui as _,v,xi as y}from"./index-BLJOBTmm.js";import{t as b}from"./usePageActivateRefresh-C3mDVA86.js";import{t as x}from"./useSnackbar-u_XK4ZNm.js";import{n as S}from"./dataTable-esDY4cOk.js";import{i as C,t as w}from"./VCard-2669QFs6.js";import{t as T}from"./VTextField-CmS6JUIm.js";import{t as E}from"./VDataTableServer-Cmhoc0QQ.js";import{a as D,n as O,r as k,t as A}from"./auditNormalize-xrm2MK_4.js";var j=new Set([`batch_install_agent`,`batch_upgrade_agent`,`batch_uninstall_agent`,`batch_detect_path`,`batch_health_check`,`batch_update_category`,`batch_server_op`]);function M(e){return j.has(e)}function N(e){let t=(e||``).trim();if(!t.startsWith(`{`))return null;try{let e=JSON.parse(t);return typeof e.job_id!=`number`||!e.summary?null:e}catch{return null}}function P(e){let t=[e.summary],n=e.failures||[];if(n.length){let e=n.slice(0,3).map(e=>e.server_name).join(`、`);t.push(`失败: ${e}${n.length>3?`…`:``}`)}return t.join(` · `)}var F={class:`font-weight-medium`},I={class:`text-body-2`},L={class:`d-flex align-center ga-2 flex-wrap`},R={class:`text-body-2 text-medium-emphasis`,style:{"max-width":`360px`}},z={class:`text-caption text-medium-emphasis`},B={class:`text-caption text-medium-emphasis`},V=s({name:`AuditPage`,__name:`AuditPage`,setup(s){let j=x(),V=_(!1),H=_([]),U=_(0),W=_(1),G=_(null),K=_(``),q=_(``),J=O,Y=S([{title:`操作`,key:`action`,width:100},{title:`用户`,key:`admin_username`,width:100},{title:`目标`,key:`target`,width:140},{title:`详情`,key:`detail`},{title:`IP`,key:`ip_address`,width:120},{title:`时间`,key:`created_at`,width:160}]);async function X(e=!1){e||(V.value=!0);try{let e=(W.value-1)*50,t=await p.get(`/audit/`,{limit:50,offset:e,action:G.value||void 0,admin_username:K.value||void 0,date_from:q.value||void 0});H.value=A(t.items||[]),U.value=t.total||0}catch{H.value=[],e||j(`加载审计日志失败`,`error`)}finally{e||(V.value=!1)}}function Z(e){return e.startsWith(`create`)||e===`login`?`success`:e.startsWith(`update`)?`info`:e.startsWith(`delete`)||e===`logout`?`error`:e.includes(`execute`)||e.includes(`push`)||e.includes(`retry`)?`warning`:`primary`}function Q(e){return M(e.action)?N(e.detail):null}function $(e){let t=Q(e);return t?P(t):(e.detail||``).trim()||`—`}function ee(e){r(e.job_id,e.summary)}return b(e=>X(e)),(r,s)=>(h(),a(e,{fluid:``,class:`pa-6`},{default:g(()=>[m(w,{elevation:`0`,border:``,rounded:`lg`},{default:g(()=>[m(C,{class:`d-flex align-center`},{default:g(()=>[s[7]||=n(` 审计日志 `,-1),m(v),m(t,{modelValue:G.value,"onUpdate:modelValue":[s[0]||=e=>G.value=e,s[1]||=e=>{W.value=1,X()}],items:u(J),"item-title":`label`,"item-value":`value`,label:`操作类型`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`200px`},clearable:``},null,8,[`modelValue`,`items`]),m(T,{modelValue:K.value,"onUpdate:modelValue":[s[2]||=e=>K.value=e,s[3]||=e=>{W.value=1,X()}],"prepend-inner-icon":`mdi-account`,label:`用户`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`140px`},class:`ml-3`,clearable:``},null,8,[`modelValue`]),m(T,{modelValue:q.value,"onUpdate:modelValue":[s[4]||=e=>q.value=e,s[5]||=e=>{W.value=1,X()}],"prepend-inner-icon":`mdi-calendar`,label:`日期`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`160px`},class:`ml-3`,type:`date`,clearable:``},null,8,[`modelValue`])]),_:1}),m(E,{items:H.value,headers:u(Y),"items-length":U.value,loading:V.value,page:W.value,"items-per-page":50,hover:``,density:`compact`,"onUpdate:page":s[6]||=e=>{W.value=e,X()}},{"item.action":g(({item:e})=>[m(d,{color:Z(e.action),size:`small`,variant:`tonal`,label:``},{default:g(()=>[n(y(u(k)(e.action)),1)]),_:2},1032,[`color`])]),"item.admin_username":g(({item:e})=>[c(`span`,F,y(e.admin_username),1)]),"item.target":g(({item:e})=>[c(`span`,I,y(u(D)(e)),1)]),"item.detail":g(({item:e})=>[c(`div`,L,[c(`span`,R,y($(e)),1),Q(e)?(h(),a(o,{key:0,size:`x-small`,variant:`tonal`,color:`primary`,onClick:f(t=>ee(Q(e)),[`stop`])},{default:g(()=>[...s[8]||=[n(` 查看结果 `,-1)]]),_:1},8,[`onClick`])):i(``,!0)])]),"item.ip_address":g(({item:e})=>[c(`span`,z,y(e.ip_address||`—`),1)]),"item.created_at":g(({item:e})=>[c(`span`,B,y(u(l)(e.created_at)),1)]),"no-data":g(()=>[...s[9]||=[c(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1})]),_:1}))}});export{V as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{t as e}from"./VDataTable-CfnXhyyK.js";import{Er as t,Nr as n,Tr as r,jr as i,qr as a,ri as o,ui as s}from"./index-BLJOBTmm.js";import{s as c}from"./btpanel-VPU3jo35.js";import{n as l,t as u}from"./useBtPanelPageLoad-h__c31XN.js";var d=n({name:`BtPanelCrontabPage`,__name:`BtPanelCrontabPage`,setup(n){let d=s(!1),f=s([]),p=[{title:`ID`,key:`id`,width:70},{title:`名称`,key:`name`},{title:`周期`,key:`type`},{title:`状态`,key:`status`,width:90},{title:`备注`,key:`save`}];return u(async e=>{d.value=!0;try{let t=await c(e);Array.isArray(t)?f.value=t:f.value=t.data??[]}catch(e){window.$snackbar?.(e instanceof Error?e.message:`加载失败`,`error`)}finally{d.value=!1}}),(n,s)=>(a(),t(l,{title:`宝塔 · 计划任务`,subtitle:`只读查看子机宝塔 Crontab(F1)`},{default:o(()=>[i(e,{headers:p,items:f.value,loading:d.value,density:`compact`},null,8,[`items`,`loading`]),s[0]||=r(`p`,{class:`text-caption text-medium-emphasis mt-3`},` 此处仅展示宝塔面板内计划任务,与 Nexus「调度」页无关。 `,-1)]),_:1}))}});export{d as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{t as e}from"./VDataTable-CfnXhyyK.js";import{Ar as t,Er as n,L as r,Nr as i,jr as a,li as o,qr as s,ri as c,ui as l}from"./index-BLJOBTmm.js";import{t as u}from"./VTextField-CmS6JUIm.js";import{i as d,n as f,t as p}from"./VExpansionPanels-CuqE9c3z.js";import{a as m,c as h,d as g,l as _}from"./btpanel-VPU3jo35.js";import{n as v,t as y}from"./useBtPanelPageLoad-h__c31XN.js";var b=i({name:`BtPanelDatabasesPage`,__name:`BtPanelDatabasesPage`,setup(i){let b=l(!1),x=l([]),S=o({name:``,password:``}),C=o({id:0,name:``,password:``}),w=[{title:`ID`,key:`id`,width:70},{title:`库名`,key:`name`},{title:`用户`,key:`username`},{title:`备注`,key:`ps`},{title:`操作`,key:`actions`,sortable:!1,width:80}],{serverId:T,run:E}=y(async e=>{b.value=!0;try{x.value=(await g(e)).data??[]}catch(e){window.$snackbar?.(e instanceof Error?e.message:`加载失败`,`error`)}finally{b.value=!1}});async function D(){let e=T.value;if(!(!e||!S.name)){b.value=!0;try{await m(e,{name:S.name,password:S.password,db_user:S.name,codeing:`utf8mb4`}),window.$snackbar?.(`已创建`,`success`),await E()}catch(e){window.$snackbar?.(e instanceof Error?e.message:`创建失败`,`error`)}finally{b.value=!1}}}async function O(){let e=T.value;if(!(!e||!C.id)){b.value=!0;try{await _(e,{...C}),window.$snackbar?.(`密码已更新`,`success`)}catch(e){window.$snackbar?.(e instanceof Error?e.message:`失败`,`error`)}finally{b.value=!1}}}async function k(e){let t=T.value;if(t){b.value=!0;try{await h(t,e.id),window.$snackbar?.(`备份任务已提交`,`success`)}catch(e){window.$snackbar?.(e instanceof Error?e.message:`备份失败`,`error`)}finally{b.value=!1}}}return(i,o)=>(s(),n(v,{title:`宝塔 · 数据库`,subtitle:`列表 / 创建 / 改密 / 备份(D1–D4)`},{default:c(()=>[a(e,{headers:w,items:x.value,loading:b.value,density:`compact`},{"item.actions":c(({item:e})=>[a(r,{size:`x-small`,variant:`text`,onClick:t=>k(e)},{default:c(()=>[...o[5]||=[t(`备份`,-1)]]),_:1},8,[`onClick`])]),_:1},8,[`items`,`loading`]),a(p,{class:`mt-4`,variant:`accordion`},{default:c(()=>[a(f,{title:`创建数据库`},{default:c(()=>[a(d,null,{default:c(()=>[a(u,{modelValue:S.name,"onUpdate:modelValue":o[0]||=e=>S.name=e,label:`库名`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),a(u,{modelValue:S.password,"onUpdate:modelValue":o[1]||=e=>S.password=e,label:`密码`,type:`password`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),a(r,{color:`primary`,loading:b.value,onClick:D},{default:c(()=>[...o[6]||=[t(`创建`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1}),a(f,{title:`修改密码`},{default:c(()=>[a(d,null,{default:c(()=>[a(u,{modelValue:C.id,"onUpdate:modelValue":o[2]||=e=>C.id=e,modelModifiers:{number:!0},label:`ID`,type:`number`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),a(u,{modelValue:C.name,"onUpdate:modelValue":o[3]||=e=>C.name=e,label:`库名`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),a(u,{modelValue:C.password,"onUpdate:modelValue":o[4]||=e=>C.password=e,label:`新密码`,type:`password`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),a(r,{variant:`tonal`,loading:b.value,onClick:O},{default:c(()=>[...o[7]||=[t(`修改`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1})]),_:1}))}});export{b as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{t as e}from"./VDataTable-CfnXhyyK.js";import{n as t,t as n}from"./VRow-T5Ep28lo.js";import{Ar as r,Er as i,L as a,Nr as o,Tr as s,jr as c,qr as l,ri as u,ui as d,y as f}from"./index-BLJOBTmm.js";import{t as p}from"./VTextField-CmS6JUIm.js";import{f as m,r as h,u as g}from"./btpanel-VPU3jo35.js";import{n as _,t as v}from"./useBtPanelPageLoad-h__c31XN.js";var y={class:`d-flex flex-wrap ga-2 align-center`},b=o({name:`BtPanelDomainsPage`,__name:`BtPanelDomainsPage`,setup(o){let b=d(!1),x=d(null),S=d(``),C=d(``),w=d(`80`),T=d([]),E=[{title:`ID`,key:`id`,width:70},{title:`域名`,key:`name`},{title:`端口`,key:`port`,width:80},{title:`操作`,key:`actions`,sortable:!1,width:80}],{serverId:D}=v(()=>{});async function O(){let e=D.value;if(!(!e||!x.value)){b.value=!0;try{let t=await m(e,x.value);T.value=t.data??t??[]}catch(e){window.$snackbar?.(e instanceof Error?e.message:`加载失败`,`error`)}finally{b.value=!1}}}async function k(){let e=D.value;if(!(!e||!x.value||!S.value||!C.value)){b.value=!0;try{await h(e,{id:x.value,webname:S.value,domain:C.value,port:w.value}),window.$snackbar?.(`已添加`,`success`),C.value=``,await O()}catch(e){window.$snackbar?.(e instanceof Error?e.message:`添加失败`,`error`)}finally{b.value=!1}}}async function A(e){let t=D.value;if(!(!t||!x.value||!S.value)){b.value=!0;try{await g(t,{id:x.value,webname:S.value,domain:e.name,port:String(e.port)}),await O()}catch(e){window.$snackbar?.(e instanceof Error?e.message:`删除失败`,`error`)}finally{b.value=!1}}}return(o,d)=>(l(),i(_,{title:`宝塔 · 域名管理`,subtitle:`绑定域名增删(C10)`},{default:u(()=>[c(n,{class:`mb-4`,dense:``},{default:u(()=>[c(t,{cols:`12`,md:`3`},{default:u(()=>[c(p,{modelValue:x.value,"onUpdate:modelValue":d[0]||=e=>x.value=e,modelModifiers:{number:!0},label:`网站 ID`,type:`number`,density:`compact`},null,8,[`modelValue`])]),_:1}),c(t,{cols:`12`,md:`3`},{default:u(()=>[c(p,{modelValue:S.value,"onUpdate:modelValue":d[1]||=e=>S.value=e,label:`网站名`,density:`compact`},null,8,[`modelValue`])]),_:1}),c(t,{cols:`12`,md:`3`},{default:u(()=>[c(a,{variant:`tonal`,loading:b.value,onClick:O},{default:u(()=>[...d[4]||=[r(`加载域名`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1}),c(e,{headers:E,items:T.value,loading:b.value,density:`compact`},{"item.actions":u(({item:e})=>[c(a,{size:`x-small`,variant:`text`,color:`error`,onClick:t=>A(e)},{default:u(()=>[...d[5]||=[r(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1},8,[`items`,`loading`]),c(f,{class:`my-4`}),s(`div`,y,[c(p,{modelValue:C.value,"onUpdate:modelValue":d[2]||=e=>C.value=e,label:`新域名`,density:`compact`,"hide-details":``,style:{"max-width":`280px`}},null,8,[`modelValue`]),c(p,{modelValue:w.value,"onUpdate:modelValue":d[3]||=e=>w.value=e,label:`端口`,density:`compact`,"hide-details":``,style:{"max-width":`100px`}},null,8,[`modelValue`]),c(a,{color:`primary`,loading:b.value,onClick:k},{default:u(()=>[...d[6]||=[r(`添加域名`,-1)]]),_:1},8,[`loading`])])]),_:1}))}});export{b as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{t as e}from"./VDataTable-CfnXhyyK.js";import{_ as t}from"./VSelect-Cbn9r5RK.js";import{Ar as n,Er as r,L as i,Nr as a,Or as o,Tr as s,Wr as c,_i as l,b as u,jr as d,qr as f,ri as p,ui as m,v as h,wr as g,xi as _}from"./index-BLJOBTmm.js";import{t as v}from"./VTextField-CmS6JUIm.js";import{n as y,r as b}from"./status-B1UCDMY7.js";import{t as x}from"./useBtPanelLogin-D8CNxXmL.js";import{T as S}from"./btpanel-VPU3jo35.js";var C={class:`d-flex flex-wrap align-center ga-3 mb-4`},w={key:1,class:`text-medium-emphasis text-caption`},T={class:`text-caption text-truncate d-inline-block`,style:{"max-width":`220px`}},E=a({name:`BtPanelLoginPage`,__name:`BtPanelLoginPage`,setup(a){let E=m(!1),D=m(``),O=m([]),k=m([]),{loadingId:A,openBtLogin:j}=x(),M=[{title:`名称`,key:`name`,minWidth:120},{title:`地址`,key:`domain`,minWidth:120},{title:`状态`,key:`status`,width:88,sortable:!0},{title:`分类`,key:`category`,minWidth:80},{title:`API`,key:`configured`,width:110,sortable:!1},{title:`引导`,key:`bootstrap_state`,width:100,sortable:!1},{title:`面板地址`,key:`base_url`,minWidth:160,sortable:!1},{title:`操作`,key:`actions`,width:200,sortable:!1,align:`end`}],N={pending:`等待获取`,installing:`安装中`,ready:`已完成`,failed:`SSH 失败`,disabled:`已关闭`};function P(e){return N[e]??e}function F(e){return e.configured||e.bootstrap_state===`ready`?`success`:e.bootstrap_state===`failed`?`error`:e.bootstrap_state===`installing`?`warning`:`default`}let I=g(()=>{let e=D.value.trim().toLowerCase();return e?O.value.filter(t=>[t.name,t.domain,t.category??``,t.base_url??``,b(t.status)].join(` `).toLowerCase().includes(e)):O.value});async function L(){E.value=!0;try{O.value=await S(),k.value=k.value.filter(e=>O.value.some(t=>t.id===e))}catch(e){window.$snackbar?.(e instanceof Error?e.message:`加载服务器列表失败`,`error`)}finally{E.value=!1}}async function R(e){let t=!e.configured;await j(e.id,{needsBootstrap:t}),t&&await L()}return c(()=>{L()}),(a,c)=>(f(),r(t,{fluid:``,class:`pa-6`},{default:p(()=>[s(`div`,C,[c[2]||=s(`div`,null,[s(`h1`,{class:`text-h6 font-weight-bold`},`宝塔 · 服务器列表`),s(`p`,{class:`text-caption text-medium-emphasis mb-0`},` 批量获取 API 请在「服务器」页勾选后使用批量栏;配置完成后可一键登录面板 `)],-1),d(h),d(v,{modelValue:D.value,"onUpdate:modelValue":c[0]||=e=>D.value=e,density:`compact`,"hide-details":``,clearable:``,"prepend-inner-icon":`mdi-magnify`,label:`搜索名称 / IP / 分类`,style:{"max-width":`320px`,"min-width":`200px`}},null,8,[`modelValue`])]),d(e,{modelValue:k.value,"onUpdate:modelValue":c[1]||=e=>k.value=e,headers:M,items:I.value,loading:E.value,density:`compact`,"item-value":`id`,"show-select":``,hover:``},{"item.status":p(({item:e})=>[d(u,{color:l(y)(e.status),size:`x-small`,variant:`tonal`,label:``},{default:p(()=>[n(_(l(b)(e.status)),1)]),_:2},1032,[`color`])]),"item.configured":p(({item:e})=>[d(u,{size:`x-small`,color:e.configured?`success`:`warning`,variant:`tonal`},{default:p(()=>[n(_(e.configured?`API 已配置`:`未配置`),1)]),_:2},1032,[`color`])]),"item.bootstrap_state":p(({item:e})=>[e.bootstrap_state?(f(),r(u,{key:0,size:`x-small`,color:F(e),variant:`tonal`},{default:p(()=>[n(_(P(e.bootstrap_state)),1)]),_:2},1032,[`color`])):(f(),o(`span`,w,`—`))]),"item.base_url":p(({item:e})=>[s(`span`,T,_(e.base_url||`—`),1)]),"item.actions":p(({item:e})=>[d(i,{size:`small`,variant:`tonal`,color:`primary`,"prepend-icon":`mdi-open-in-new`,loading:l(A)===e.id,title:e.configured?`打开宝塔临时登录`:`将自动获取 API 后打开面板`,onClick:t=>R(e)},{default:p(()=>[...c[3]||=[n(` 一键登录 `,-1)]]),_:1},8,[`loading`,`title`,`onClick`]),d(i,{size:`small`,variant:`text`,class:`ml-1`,to:`/btpanel/settings?server_id=${e.id}`},{default:p(()=>[...c[4]||=[n(` 连接配置 `,-1)]]),_:1},8,[`to`])]),_:1},8,[`modelValue`,`items`,`loading`])]),_:1}))}});export{E as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{n as e,t}from"./VRow-T5Ep28lo.js";import{Ar as n,Dr as r,Er as i,L as a,Nr as o,Or as s,_i as c,jr as l,qr as u,ri as d,ui as f,xi as p}from"./index-BLJOBTmm.js";import{t as m}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{i as h,n as g,t as _}from"./VCard-2669QFs6.js";import{S as v,b as y,x as b}from"./btpanel-VPU3jo35.js";import{n as x,t as S}from"./useBtPanelPageLoad-h__c31XN.js";var C={key:0,class:`bt-json`},w={key:1,class:`text-medium-emphasis`},T={key:0,class:`bt-json`},E={key:0,class:`bt-json`},D=m(o({name:`BtPanelMonitorPage`,__name:`BtPanelMonitorPage`,setup(o){let m=f(!1),D=f(null),O=f(null),k=f(null),{run:A}=S(async e=>{m.value=!0;try{let[t,n,r]=await Promise.all([v(e),y(e),b(e)]);D.value=t,O.value=n,k.value=r}catch(e){D.value=null,O.value=null,k.value=null,window.$snackbar?.(e instanceof Error?e.message:`加载失败`,`error`)}finally{m.value=!1}});return(o,f)=>(u(),i(x,{title:`宝塔 · 系统监控`,subtitle:`GetSystemTotal / GetDiskInfo / GetNetWork(B1–B3)`},{default:d(()=>[l(t,null,{default:d(()=>[l(e,{cols:`12`,md:`6`},{default:d(()=>[l(_,{variant:`outlined`,rounded:`lg`,loading:m.value},{default:d(()=>[l(h,{class:`text-subtitle-1`},{default:d(()=>[...f[0]||=[n(`系统概览`,-1)]]),_:1}),l(g,null,{default:d(()=>[D.value?(u(),s(`pre`,C,p(JSON.stringify(D.value,null,2)),1)):(u(),s(`span`,w,`暂无数据`))]),_:1})]),_:1},8,[`loading`])]),_:1}),l(e,{cols:`12`,md:`6`},{default:d(()=>[l(_,{variant:`outlined`,rounded:`lg`,loading:m.value},{default:d(()=>[l(h,{class:`text-subtitle-1`},{default:d(()=>[...f[1]||=[n(`实时负载 / 网络`,-1)]]),_:1}),l(g,null,{default:d(()=>[k.value?(u(),s(`pre`,T,p(JSON.stringify(k.value,null,2)),1)):r(``,!0)]),_:1})]),_:1},8,[`loading`])]),_:1}),l(e,{cols:`12`},{default:d(()=>[l(_,{variant:`outlined`,rounded:`lg`,loading:m.value},{default:d(()=>[l(h,{class:`text-subtitle-1`},{default:d(()=>[...f[2]||=[n(`磁盘分区`,-1)]]),_:1}),l(g,null,{default:d(()=>[O.value?(u(),s(`pre`,E,p(JSON.stringify(O.value,null,2)),1)):r(``,!0)]),_:1})]),_:1},8,[`loading`])]),_:1})]),_:1}),l(a,{size:`small`,variant:`tonal`,class:`mt-3`,loading:m.value,onClick:c(A)},{default:d(()=>[...f[3]||=[n(`刷新`,-1)]]),_:1},8,[`loading`,`onClick`])]),_:1}))}}),[[`__scopeId`,`data-v-f30462f1`]]);export{D as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{n as e,t}from"./VRow-T5Ep28lo.js";import{Ar as n,Er as r,L as i,Nr as a,Or as o,Yr as s,jr as c,qr as l,ri as u,ui as d,xi as f,xr as p}from"./index-BLJOBTmm.js";import{i as m,o as h,t as g}from"./VCard-2669QFs6.js";import{h as _}from"./btpanel-VPU3jo35.js";import{n as v,t as y}from"./useBtPanelPageLoad-h__c31XN.js";var b=a({name:`BtPanelServicesPage`,__name:`BtPanelServicesPage`,setup(a){let b=[`nginx`,`mysql`,`redis`,`php-fpm`],x=d(!1),{serverId:S}=y(()=>{});async function C(e,t){let n=S.value;if(n&&window.confirm(`确认对 ${e} 执行 ${t}?`)){x.value=!0;try{await _(n,e,t),window.$snackbar?.(`${e} ${t} 已提交`,`success`)}catch(e){window.$snackbar?.(e instanceof Error?e.message:`操作失败`,`error`)}finally{x.value=!1}}}return(a,d)=>(l(),r(v,{title:`宝塔 · 服务管理`,subtitle:`Nginx / MySQL / Redis / PHP 启停重启(H1)`},{default:u(()=>[c(t,null,{default:u(()=>[(l(),o(p,null,s(b,t=>c(e,{key:t,cols:`12`,sm:`6`,md:`4`},{default:u(()=>[c(g,{variant:`outlined`,rounded:`lg`},{default:u(()=>[c(m,{class:`text-subtitle-2`},{default:u(()=>[n(f(t),1)]),_:2},1024),c(h,null,{default:u(()=>[c(i,{size:`small`,variant:`tonal`,color:`success`,loading:x.value,onClick:e=>C(t,`start`)},{default:u(()=>[...d[0]||=[n(`启动`,-1)]]),_:1},8,[`loading`,`onClick`]),c(i,{size:`small`,variant:`tonal`,color:`warning`,loading:x.value,onClick:e=>C(t,`stop`)},{default:u(()=>[...d[1]||=[n(`停止`,-1)]]),_:1},8,[`loading`,`onClick`]),c(i,{size:`small`,variant:`tonal`,color:`primary`,loading:x.value,onClick:e=>C(t,`restart`)},{default:u(()=>[...d[2]||=[n(`重启`,-1)]]),_:1},8,[`loading`,`onClick`])]),_:2},1024)]),_:2},1024)]),_:2},1024)),64))]),_:1})]),_:1}))}});export{b as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{t as e}from"./VSelect-Cbn9r5RK.js";import{Ar as t,Er as n,L as r,Nr as i,br as a,jr as o,li as s,qr as c,ri as l,ui as u}from"./index-BLJOBTmm.js";import{n as d,t as f}from"./VCard-2669QFs6.js";import{t as p}from"./VTextField-CmS6JUIm.js";import{t as m}from"./VForm-FzRhKPQb.js";import{m as h,o as g}from"./btpanel-VPU3jo35.js";import{n as _,t as v}from"./useBtPanelPageLoad-h__c31XN.js";var y=i({name:`BtPanelSiteCreatePage`,__name:`BtPanelSiteCreatePage`,setup(i){let y=u(!1),b=u([`74`,`80`,`82`]),x=s({webname:``,path:``,version:`74`,port:`80`,ps:``,type_id:0,type:`PHP`,ftp:!1,sql:!1}),{serverId:S}=v(async e=>{try{let t=await h(e);Array.isArray(t)&&(b.value=t.map(e=>e?.version).filter(e=>!!e&&e!==`00`))}catch{}});async function C(){let e=S.value;if(!(!e||!x.webname||!x.path)){y.value=!0;try{await g(e,{...x}),window.$snackbar?.(`创建请求已提交`,`success`)}catch(e){window.$snackbar?.(e instanceof Error?e.message:`创建失败`,`error`)}finally{y.value=!1}}}return(i,s)=>(c(),n(_,{title:`宝塔 · 创建网站`,subtitle:`AddSite(C4)`},{default:l(()=>[o(f,{"max-width":`640`,variant:`outlined`,rounded:`lg`},{default:l(()=>[o(d,null,{default:l(()=>[o(m,{onSubmit:a(C,[`prevent`])},{default:l(()=>[o(p,{modelValue:x.webname,"onUpdate:modelValue":s[0]||=e=>x.webname=e,label:`主域名`,required:``},null,8,[`modelValue`]),o(p,{modelValue:x.path,"onUpdate:modelValue":s[1]||=e=>x.path=e,label:`根目录`,hint:`如 /www/wwwroot/example.com`,"persistent-hint":``},null,8,[`modelValue`]),o(e,{modelValue:x.version,"onUpdate:modelValue":s[2]||=e=>x.version=e,items:b.value,label:`PHP 版本`},null,8,[`modelValue`,`items`]),o(p,{modelValue:x.port,"onUpdate:modelValue":s[3]||=e=>x.port=e,label:`端口`},null,8,[`modelValue`]),o(p,{modelValue:x.ps,"onUpdate:modelValue":s[4]||=e=>x.ps=e,label:`备注`},null,8,[`modelValue`]),o(r,{type:`submit`,color:`primary`,loading:y.value},{default:l(()=>[...s[5]||=[t(`创建`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1})]),_:1}))}});export{y as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{t as e}from"./VDataTable-CfnXhyyK.js";import{Ar as t,Er as n,L as r,Nr as i,b as a,jr as o,qr as s,ri as c,ui as l,xi as u}from"./index-BLJOBTmm.js";import{_ as d,p as f,v as p}from"./btpanel-VPU3jo35.js";import{n as m,t as h}from"./useBtPanelPageLoad-h__c31XN.js";var g=i({name:`BtPanelSitesPage`,__name:`BtPanelSitesPage`,setup(i){let g=l(!1),_=l([]),v=[{title:`ID`,key:`id`,width:70},{title:`域名`,key:`name`},{title:`路径`,key:`path`},{title:`备注`,key:`ps`},{title:`状态`,key:`status`,width:90},{title:`操作`,key:`actions`,sortable:!1,width:100}],{run:y,serverId:b}=h(async e=>{g.value=!0;try{_.value=(await f(e)).data??[]}catch(e){window.$snackbar?.(e instanceof Error?e.message:`加载失败`,`error`)}finally{g.value=!1}});async function x(e,t){let n=b.value;if(n){g.value=!0;try{t?await d(n,e.id,e.name):await p(n,e.id,e.name),window.$snackbar?.(t?`已启用`:`已停用`,`success`),await y()}catch(e){window.$snackbar?.(e instanceof Error?e.message:`操作失败`,`error`)}finally{g.value=!1}}}return(i,l)=>(s(),n(m,{title:`宝塔 · 网站列表`,subtitle:`站点列表与启停(C1 / C6)`},{default:c(()=>[o(e,{headers:v,items:_.value,loading:g.value,density:`compact`,"item-value":`id`},{"item.status":c(({item:e})=>[o(a,{size:`x-small`,color:e.status===`1`?`success`:`warning`,variant:`tonal`},{default:c(()=>[t(u(e.status===`1`?`运行`:`停用`),1)]),_:2},1032,[`color`])]),"item.actions":c(({item:e})=>[e.status===`1`?(s(),n(r,{key:1,size:`x-small`,variant:`text`,color:`warning`,onClick:t=>x(e,!1)},{default:c(()=>[...l[1]||=[t(`停用`,-1)]]),_:1},8,[`onClick`])):(s(),n(r,{key:0,size:`x-small`,variant:`text`,color:`success`,onClick:t=>x(e,!0)},{default:c(()=>[...l[0]||=[t(`启用`,-1)]]),_:1},8,[`onClick`]))]),_:1},8,[`items`,`loading`])]),_:1}))}});export{g as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{t as e}from"./VDataTable-CfnXhyyK.js";import{Ar as t,Er as n,L as r,Nr as i,Tr as a,jr as o,li as s,qr as c,ri as l,ui as u,xi as d}from"./index-BLJOBTmm.js";import{t as f}from"./VTextField-CmS6JUIm.js";import{t as p}from"./VTextarea-Cictv6kG.js";import{i as m,n as h,t as g}from"./VExpansionPanels-CuqE9c3z.js";import{g as _,i as v,y}from"./btpanel-VPU3jo35.js";import{n as b,t as x}from"./useBtPanelPageLoad-h__c31XN.js";var S=i({name:`BtPanelSslPage`,__name:`BtPanelSslPage`,setup(i){let S=u(!1),C=u([]),w=s({siteName:``,key:``,csr:``}),T=[{title:`ID`,key:`id`,width:70},{title:`网站`,key:`name`},{title:`SSL`,key:`ssl`},{title:`操作`,key:`actions`,sortable:!1,width:100}],{serverId:E,run:D}=x(async e=>{S.value=!0;try{C.value=(await y(e)).data??[]}catch(e){window.$snackbar?.(e instanceof Error?e.message:`加载失败`,`error`)}finally{S.value=!1}});function O(e){return!e.ssl||e.ssl===-1?`无`:typeof e.ssl==`object`?e.ssl.subject||e.ssl.notAfter||`已配置`:String(e.ssl)}async function k(e){let t=E.value;if(t){S.value=!0;try{await v(t,{domains:e.name,id:e.id,auth_type:`http`}),window.$snackbar?.(`已提交申请`,`success`),await D()}catch(e){window.$snackbar?.(e instanceof Error?e.message:`申请失败`,`error`)}finally{S.value=!1}}}async function A(){let e=E.value;if(!(!e||!w.siteName)){S.value=!0;try{await _(e,{siteName:w.siteName,key:w.key,csr:w.csr}),window.$snackbar?.(`证书已上传`,`success`),await D()}catch(e){window.$snackbar?.(e instanceof Error?e.message:`上传失败`,`error`)}finally{S.value=!1}}}return(i,s)=>(c(),n(b,{title:`宝塔 · SSL 证书`,subtitle:`站点证书查看 / 上传 / Let's Encrypt(C15)`},{default:l(()=>[o(e,{headers:T,items:C.value,loading:S.value,density:`compact`},{"item.ssl":l(({item:e})=>[a(`span`,null,d(O(e)),1)]),"item.actions":l(({item:e})=>[o(r,{size:`x-small`,variant:`text`,onClick:t=>k(e)},{default:l(()=>[...s[3]||=[t(`申请 LE`,-1)]]),_:1},8,[`onClick`])]),_:1},8,[`items`,`loading`]),o(g,{class:`mt-4`,variant:`accordion`},{default:l(()=>[o(h,{title:`上传证书(SetSSL)`},{default:l(()=>[o(m,null,{default:l(()=>[o(f,{modelValue:w.siteName,"onUpdate:modelValue":s[0]||=e=>w.siteName=e,label:`网站名`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),o(p,{modelValue:w.csr,"onUpdate:modelValue":s[1]||=e=>w.csr=e,label:`证书 PEM`,rows:`4`,class:`mb-2`},null,8,[`modelValue`]),o(p,{modelValue:w.key,"onUpdate:modelValue":s[2]||=e=>w.key=e,label:`私钥 PEM`,rows:`4`,class:`mb-2`},null,8,[`modelValue`]),o(r,{color:`primary`,loading:S.value,onClick:A},{default:l(()=>[...s[4]||=[t(`上传`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1})]),_:1}))}});export{S as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{Nr as e,Or as t,Wr as n,ln as r,qr as i}from"./index-BLJOBTmm.js";var a=e({name:`CredentialsPage`,__name:`CredentialsPage`,setup(e){let a=r();return n(()=>{a.replace({path:`/servers`,query:{credentials:`1`}})}),(e,n)=>(i(),t(`div`))}});export{a as default};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardPage-ClsEVbTK.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/index-BLJOBTmm.js","assets/chunk-DK3Fl9T5.js","assets/index-BNJe_ogF.css","assets/VCard-2669QFs6.js","assets/VCard-BCYbpv-w.css","assets/VSelect-Cbn9r5RK.js","assets/VTextField-CmS6JUIm.js","assets/VTextField-Bl91kSVs.css","assets/VSelect-BmvHN1-i.css","assets/VDataTable-CfnXhyyK.js","assets/VTable-B_OR9EEL.js","assets/VTable-Dq_7MYoa.css","assets/VDataTable-D61zAwkI.css","assets/VDialog-Bemlp6A9.js","assets/VDialog-DP-kc9Gx.css","assets/VRow-T5Ep28lo.js","assets/VRow-DIr3-SqU.css","assets/VSkeletonLoader-Dy9Q-xQn.js","assets/VSkeletonLoader-CkAIsbz1.css","assets/StatCardsRow-CFdO8DHZ.js","assets/StatCardsRow-snFLCRnD.css","assets/usePageActivateRefresh-C3mDVA86.js","assets/useSnackbar-u_XK4ZNm.js","assets/auditNormalize-xrm2MK_4.js","assets/status-B1UCDMY7.js","assets/DashboardPage-DmG38yGr.css"])))=>i.map(i=>d[i]);
|
||||
import{$t as e,Ar as t,Dr as n,Er as r,Gr as i,I as a,L as o,Nr as s,Or as c,Qt as ee,Tr as l,Wr as u,b as d,bi as f,br as p,cn as m,en as h,in as g,jr as _,ln as v,qr as y,ri as b,ti as x,tn as S,ui as C,wr as w,xi as T}from"./index-BLJOBTmm.js";import{t as E}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as D}from"./VCard-2669QFs6.js";import{t as O}from"./VTextField-CmS6JUIm.js";import{t as k}from"./VForm-FzRhKPQb.js";var A={class:`login-page`},j={key:0,class:`login-center`},te={key:2,class:`text-center mt-4`},M=E(s({name:`LoginPage`,__name:`LoginPage`,setup(s){let E=m(),M=v(),N=e(),P=C(`checking`),F=C(``),I=C(``),L=C(``),R=C(!1),z=C(!1),B=C(``),V=C(!1),H=C(0),U=C(null),W=C([]),G=C(0),K=null,q=w(()=>P.value===`checking`?{backgroundColor:`#0a0a12`}:W.value.length===0?{backgroundImage:`linear-gradient(135deg, #1a237e 0%, #0d47a1 40%, #1565c0 100%)`}:{backgroundImage:`url(${W.value[G.value]})`});async function J(){try{let e=await g.get(`/settings/bing-wallpapers`);e?.urls?.length&&(W.value=e.urls,G.value=Math.floor(Math.random()*e.urls.length))}catch{}}function Y(){K&&clearInterval(K),!(W.value.length<=1)&&(K=setInterval(()=>{G.value=(G.value+1)%W.value.length},36e5))}async function X(){P.value=`checking`;try{return await g.get(`/auth/login-access`),P.value=`form`,!0}catch{return P.value=`blocked`,!1}}function Z(){P.value===`form`&&ee(()=>import(`./DashboardPage-ClsEVbTK.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]))}x(P,e=>{e===`form`&&Z()}),u(async()=>{await X(),await J(),Y()}),i(()=>{K&&clearInterval(K),$&&clearInterval($)});let Q=C(Date.now()),$=null,ne=w(()=>{if(!U.value)return 0;let e=new Date(U.value).getTime()-Q.value;return Math.max(0,Math.ceil(e/6e4))});x(U,e=>{$&&=(clearInterval($),null),e&&($=setInterval(()=>{Q.value=Date.now()},3e4))});async function re(){if(!F.value||!I.value){B.value=`请输入用户名和密码`;return}z.value=!0,B.value=``;try{await N.login(F.value,I.value,V.value?L.value:void 0);let e=E.query.redirect||`/`,t=e.startsWith(`/`)&&!e.startsWith(`//`)?e:`/`;await M.replace(t)}catch(e){if(e instanceof S)V.value=!0,B.value=e.message;else if(e instanceof h){if(e.status===403){P.value=`blocked`;return}e.status===429?(U.value=new Date(Date.now()+900*1e3).toISOString(),B.value=`登录尝试过多,账户已锁定 15 分钟`):(H.value++,B.value=e.message)}else B.value=`网络错误,请重试`}finally{z.value=!1}}return(e,i)=>(y(),c(`div`,A,[l(`div`,{class:`wallpaper-bg`,style:f(q.value)},null,4),i[6]||=l(`div`,{class:`wallpaper-overlay`},null,-1),P.value===`form`?(y(),c(`div`,j,[_(D,{elevation:`0`,rounded:`xl`,class:`login-card pa-10`,border:``},{default:b(()=>[B.value?(y(),r(a,{key:0,type:`error`,density:`compact`,class:`mb-4`,closable:``,"onClick:close":i[0]||=e=>B.value=``,rounded:`lg`,variant:`tonal`},{default:b(()=>[t(T(B.value),1)]),_:1})):n(``,!0),U.value?(y(),r(a,{key:1,type:`warning`,density:`compact`,class:`mb-4`,rounded:`lg`,variant:`tonal`},{default:b(()=>[t(` 账户已锁定,请 `+T(ne.value)+` 分钟后重试 `,1)]),_:1})):n(``,!0),_(k,{onSubmit:p(re,[`prevent`])},{default:b(()=>[_(O,{modelValue:F.value,"onUpdate:modelValue":i[1]||=e=>F.value=e,label:`用户名`,variant:`outlined`,density:`comfortable`,"prepend-inner-icon":`mdi-account-outline`,disabled:z.value,class:`mb-4`,autocomplete:`username`,rounded:`lg`,"hide-details":`auto`},null,8,[`modelValue`,`disabled`]),_(O,{modelValue:I.value,"onUpdate:modelValue":i[2]||=e=>I.value=e,label:`密码`,variant:`outlined`,density:`comfortable`,"prepend-inner-icon":`mdi-lock-outline`,"append-inner-icon":R.value?`mdi-eye`:`mdi-eye-off`,type:R.value?`text`:`password`,"onClick:appendInner":i[3]||=e=>R.value=!R.value,disabled:z.value,class:`mb-4`,autocomplete:`current-password`,rounded:`lg`,"hide-details":`auto`},null,8,[`modelValue`,`append-inner-icon`,`type`,`disabled`]),V.value?(y(),r(O,{key:0,modelValue:L.value,"onUpdate:modelValue":i[4]||=e=>L.value=e,label:`TOTP 验证码`,variant:`outlined`,density:`comfortable`,"prepend-inner-icon":`mdi-shield-key-outline`,disabled:z.value,class:`mb-4`,autocomplete:`one-time-code`,rounded:`lg`,"hide-details":`auto`},null,8,[`modelValue`,`disabled`])):n(``,!0),_(o,{type:`submit`,color:`primary`,variant:`flat`,block:``,size:`large`,loading:z.value,disabled:!!U.value,rounded:`lg`,class:`mt-2`,height:`48`},{default:b(()=>[...i[5]||=[t(` 登录 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1}),H.value>0&&!U.value?(y(),c(`div`,te,[_(d,{size:`small`,variant:`tonal`,color:`warning`,label:``},{default:b(()=>[t(` 已失败 `+T(H.value)+` 次 `,1)]),_:1})])):n(``,!0)]),_:1})])):n(``,!0)]))}}),[[`__scopeId`,`data-v-5c1d22f2`]]);export{M as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{_ as e,t}from"./VSelect-Cbn9r5RK.js";import{Ar as n,Dr as r,Er as i,L as a,Nr as o,Tr as s,Xt as c,_i as l,b as u,in as d,jr as f,qr as p,ri as m,ui as h,v as g,xi as _}from"./index-BLJOBTmm.js";import{t as v}from"./usePageActivateRefresh-C3mDVA86.js";import{t as y}from"./useSnackbar-u_XK4ZNm.js";import{n as b}from"./dataTable-esDY4cOk.js";import{i as x,n as S,o as C,t as w}from"./VCard-2669QFs6.js";import{t as T}from"./VDataTableServer-Cmhoc0QQ.js";import{t as E}from"./VDialog-Bemlp6A9.js";import{t as D}from"./usePageAutoRefresh-PnKFBS7x.js";var O={class:`font-weight-medium text-truncate d-inline-block`,style:{"max-width":`240px`}},k={class:`text-medium-emphasis`},A={class:`text-medium-emphasis`},j={class:`text-caption text-medium-emphasis`},M={class:`text-caption text-medium-emphasis`},N=o({name:`RetriesPage`,__name:`RetriesPage`,setup(o){let N=y(),P=h(!1),F=h([]),I=h(0),L=h(1),R=h(null),z=h(!1),B=h(null),V=[{label:`待重试`,value:`pending`},{label:`重试中`,value:`retrying`},{label:`成功`,value:`success`},{label:`失败`,value:`failed`}],H=b([{title:`状态`,key:`status`,width:100},{title:`任务`,key:`operation`},{title:`服务器`,key:`server_name`},{title:`次数`,key:`retry_count`,width:100},{title:`下次重试`,key:`next_retry_at`,width:140},{title:`创建时间`,key:`created_at`,width:160},{title:``,key:`actions`,width:120,align:`end`}]);async function U(e=!1){e||(P.value=!0);try{let e=(await d.getList(`/retries/`,{limit:200})).items||[];R.value&&(e=e.filter(e=>e.status===R.value)),I.value=e.length;let t=(L.value-1)*20;F.value=e.slice(t,t+20)}catch(t){e||(F.value=[],I.value=0,N(t instanceof Error?t.message:`加载重试队列失败`,`error`))}finally{e||(P.value=!1)}}async function W(e){try{await d.post(`/retries/${e.id}/retry`),U(),N(`重试已触发`)}catch(e){N(e.message||`操作失败`,`error`)}}function G(e){B.value=e.id,z.value=!0}async function K(){if(B.value)try{await d.delete(`/retries/${B.value}`),z.value=!1,U(),N(`已删除`)}catch(e){N(e.message||`删除失败`,`error`)}}function q(e){return e===`success`?`success`:e===`failed`?`error`:e===`retrying`?`warning`:`info`}function J(e){return e===`pending`?`待重试`:e===`retrying`?`重试中`:e===`success`?`成功`:e===`failed`?`失败`:e}function Y(e){return e.source_path&&e.target_path?`${e.source_path} → ${e.target_path}`:e.source_path||e.target_path||`文件推送`}return D(()=>U(!0),15e3),v(e=>U(e)),(o,d)=>(p(),i(e,{fluid:``,class:`pa-6`},{default:m(()=>[f(w,{elevation:`0`,border:``,rounded:`lg`},{default:m(()=>[f(x,{class:`d-flex align-center text-h6`},{default:m(()=>[d[5]||=n(` 重试队列 `,-1),f(g),f(t,{modelValue:R.value,"onUpdate:modelValue":[d[0]||=e=>R.value=e,d[1]||=e=>{L.value=1,U()}],items:V,"item-title":`label`,"item-value":`value`,label:`状态筛选`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`160px`},clearable:``},null,8,[`modelValue`])]),_:1}),f(T,{items:F.value,headers:l(H),"items-length":I.value,loading:P.value,page:L.value,"items-per-page":20,hover:``,density:`comfortable`,"onUpdate:page":d[2]||=e=>{L.value=e,U()}},{"item.status":m(({item:e})=>[f(u,{color:q(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:m(()=>[n(_(J(e.status)),1)]),_:2},1032,[`color`])]),"item.operation":m(({item:e})=>[s(`span`,O,_(Y(e)),1)]),"item.server_name":m(({item:e})=>[s(`span`,k,_(e.server_name||`—`),1)]),"item.retry_count":m(({item:e})=>[s(`span`,A,_(e.retry_count||0)+` / `+_(e.max_retries||3),1)]),"item.next_retry_at":m(({item:e})=>[s(`span`,j,_(l(c)(e.next_retry_at)),1)]),"item.created_at":m(({item:e})=>[s(`span`,M,_(l(c)(e.created_at)),1)]),"item.actions":m(({item:e})=>[e.status===`pending`||e.status===`failed`?(p(),i(a,{key:0,variant:`text`,size:`x-small`,color:`primary`,density:`compact`,onClick:t=>W(e)},{default:m(()=>[...d[6]||=[n(` 重试 `,-1)]]),_:1},8,[`onClick`])):r(``,!0),f(a,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>G(e)},{default:m(()=>[...d[7]||=[n(` 删除 `,-1)]]),_:1},8,[`onClick`])]),"no-data":m(()=>[...d[8]||=[s(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1}),f(E,{modelValue:z.value,"onUpdate:modelValue":d[4]||=e=>z.value=e,"max-width":`400`},{default:m(()=>[f(w,{border:``},{default:m(()=>[f(x,null,{default:m(()=>[...d[9]||=[n(`确认删除`,-1)]]),_:1}),f(S,null,{default:m(()=>[...d[10]||=[n(`确定要删除此重试任务吗?`,-1)]]),_:1}),f(C,null,{default:m(()=>[f(g),f(a,{variant:`text`,onClick:d[3]||=e=>z.value=!1},{default:m(()=>[...d[11]||=[n(`取消`,-1)]]),_:1}),f(a,{color:`error`,variant:`flat`,onClick:K},{default:m(()=>[...d[12]||=[n(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}});export{N as default};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{n as e,t}from"./VRow-T5Ep28lo.js";import{$ as n,$r as r,Ar as i,Dr as a,Er as o,Ir as s,L as c,Nr as l,Or as u,Q as d,Tr as f,Yr as p,_i as m,b as h,bi as g,jr as _,qr as v,ri as y,ui as b,wr as x,xi as S,xr as C}from"./index-BLJOBTmm.js";import{t as w}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as T}from"./VCard-2669QFs6.js";import{t as E}from"./VCheckbox-bMDc490B.js";import{t as D}from"./VTextField-CmS6JUIm.js";import{o as O}from"./labels-C-A2d08W.js";import{i as k}from"./useServerCategories-CiOYPqx0.js";var A={class:`server-category-picker`},j={class:`d-flex align-center flex-wrap ga-2 mb-2`},M={key:0,class:`text-center text-medium-emphasis py-4`},N={class:`d-flex align-center px-1 mb-1`},P={class:`text-caption text-medium-emphasis ml-1`},F={class:`d-flex align-center ga-2`},I={class:`text-body-2 font-weight-medium text-truncate`},L={class:`text-caption text-medium-emphasis text-truncate`},R=w(l({__name:`ServerCategoryPicker`,props:s({servers:{},loading:{type:Boolean,default:!1},maxHeight:{default:`280px`}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:[`update:modelValue`],setup(s){let l=r(s,`modelValue`),w=s,R=b(``),z=x(()=>new Set(l.value)),B=x(()=>{let e=R.value.trim().toLowerCase();return e?w.servers.filter(t=>t.name.toLowerCase().includes(e)||(t.domain||``).toLowerCase().includes(e)||(t.category||``).toLowerCase().includes(e)):w.servers}),V=x(()=>k(B.value).map(e=>({...e,servers:[...e.servers].sort((e,t)=>e.name.localeCompare(t.name,`zh`))}))),H=x(()=>{let e=B.value;return e.length>0&&e.every(e=>z.value.has(e.id))});function U(e){return e.servers.filter(e=>z.value.has(e.id)).length}function W(e){let t=V.value.find(t=>t.category===e);return!t||t.servers.length===0?!1:t.servers.every(e=>z.value.has(e.id))}function G(e){l.value=[...e]}function K(e){let t=new Set(l.value);t.has(e)?t.delete(e):t.add(e),G(t)}function q(e){let t=V.value.find(t=>t.category===e);if(!t)return;let n=new Set(l.value),r=t.servers.every(e=>n.has(e.id));for(let e of t.servers)r?n.delete(e.id):n.add(e.id);G(n)}function J(){let e=B.value,t=new Set(l.value),n=e.length>0&&e.every(e=>t.has(e.id));for(let r of e)n?t.delete(r.id):t.add(r.id);G(t)}return(r,b)=>(v(),u(`div`,A,[f(`div`,j,[_(E,{"model-value":H.value,label:`全选`,density:`compact`,"hide-details":``,"onUpdate:modelValue":J},null,8,[`model-value`]),_(D,{modelValue:R.value,"onUpdate:modelValue":b[0]||=e=>R.value=e,"prepend-inner-icon":`mdi-magnify`,label:`搜索服务器`,density:`compact`,"hide-details":``,variant:`outlined`,rounded:``,style:{"max-width":`220px`},clearable:``},null,8,[`modelValue`]),l.value.length>0?(v(),o(h,{key:0,size:`small`,color:`primary`,variant:`tonal`,label:``},{default:y(()=>[i(` 已选 `+S(l.value.length)+` 台 `,1)]),_:1})):a(``,!0),s.loading?(v(),o(d,{key:1,indeterminate:``,size:`18`,width:`2`})):a(``,!0)]),f(`div`,{class:`picker-scroll`,style:g({maxHeight:s.maxHeight})},[!s.loading&&V.value.length===0?(v(),u(`div`,M,` 暂无服务器 `)):a(``,!0),(v(!0),u(C,null,p(V.value,r=>(v(),u(`div`,{key:r.category,class:`mb-3`},[f(`div`,N,[_(c,{size:`x-small`,variant:`text`,color:W(r.category)?`primary`:`default`,onClick:e=>q(r.category)},{default:y(()=>[_(n,{size:`16`,class:`mr-1`},{default:y(()=>[i(S(W(r.category)?`mdi-checkbox-marked`:`mdi-checkbox-blank-outline`),1)]),_:2},1024),i(` `+S(r.label),1)]),_:2},1032,[`color`,`onClick`]),f(`span`,P,` (`+S(U(r))+`/`+S(r.servers.length)+`) `,1)]),_(t,{dense:``},{default:y(()=>[(v(!0),u(C,null,p(r.servers,t=>(v(),o(e,{key:t.id,cols:`12`,sm:`6`},{default:y(()=>[_(T,{color:z.value.has(t.id)?`primary`:void 0,variant:z.value.has(t.id)?`tonal`:`outlined`,rounded:`lg`,class:`pa-2 cursor-pointer`,onClick:e=>K(t.id)},{default:y(()=>[f(`div`,F,[_(n,{color:m(O)(t.is_online),size:`10`},{default:y(()=>[...b[1]||=[i(`mdi-circle`,-1)]]),_:1},8,[`color`]),f(`span`,I,S(t.name),1)]),f(`div`,L,S(t.domain),1)]),_:2},1032,[`color`,`variant`,`onClick`])]),_:2},1024))),128))]),_:2},1024)]))),128))],4)]))}}),[[`__scopeId`,`data-v-55970572`]]);export{R as t};
|
||||
@@ -0,0 +1 @@
|
||||
import{Ar as e,Er as t,L as n,Lt as r,Nr as i,Or as a,Tr as o,Yr as s,_ as c,_i as l,ai as u,g as d,h as f,in as p,jr as m,qr as h,ri as g,u as _,ui as v,v as y,wt as b,xi as x,xr as S}from"./index-BLJOBTmm.js";import{t as C}from"./useSnackbar-u_XK4ZNm.js";import{i as w,n as T,o as E,t as D}from"./VCard-2669QFs6.js";import{t as O}from"./VTextField-CmS6JUIm.js";import{t as k}from"./apiError-DBJO4IPD.js";import{t as A}from"./VDialog-Bemlp6A9.js";function j(e={}){let t=C(),n=v(!1),i=v(!1),a=v({domain:``,port:22,name:``}),o=v(!1),s=v([]),c=v(``);function l(){a.value={domain:``,port:22,name:``},n.value=!0}function u(e,t){s.value=e,c.value=t||``,o.value=!0}function d(e){e.onboarding_job_id&&(r(e.onboarding_job_id,e.onboarding_label||`新服务器初始化`,1,`onboard`,`0/1`,`running`),b(`新服务器初始化已在后台执行(sudo + 路径探测)`))}async function f(){let r=a.value.domain.trim();if(!r){t(`请填写 IP 或域名`,`error`);return}i.value=!0;try{let i={domain:r,port:a.value.port||22},o=a.value.name.trim();o&&(i.name=o);let s=await p.post(`/servers/add-by-ip`,i);s.success&&s.server?(n.value=!1,d(s),t(`添加成功:${s.matched_preset} (${s.matched_username})`),await e.onSuccess?.(s)):(n.value=!1,u(s.errors||[],s.message),await e.onPendingFailure?.())}catch(e){t(k(e,`添加失败`),`error`)}finally{i.value=!1}}return{showQuickAdd:n,quickAddLoading:i,quickAddForm:a,showPollFailure:o,pollFailureErrors:s,pollFailureMessage:c,openQuickAdd:l,submitQuickAdd:f,showFailureDialog:u}}var M={key:1,class:`text-medium-emphasis`},N=i({__name:`ServerQuickAddDialogs`,props:{onSuccess:{type:Function},onPendingFailure:{type:Function}},setup(r,{expose:i}){let p=r,{showQuickAdd:v,quickAddLoading:b,quickAddForm:C,showPollFailure:k,pollFailureErrors:N,pollFailureMessage:P,openQuickAdd:F,submitQuickAdd:I,showFailureDialog:L}=j({onSuccess:e=>p.onSuccess?.(e),onPendingFailure:()=>p.onPendingFailure?.()});return i({open:F,showFailure:L}),(r,i)=>(h(),a(S,null,[m(A,{modelValue:l(v),"onUpdate:modelValue":i[4]||=e=>u(v)?v.value=e:null,"max-width":`480`,persistent:``},{default:g(()=>[m(D,{border:``},{default:g(()=>[m(w,null,{default:g(()=>[...i[7]||=[e(`快速添加服务器(仅 IP)`,-1)]]),_:1}),m(T,null,{default:g(()=>[i[8]||=o(`p`,{class:`text-body-2 text-medium-emphasis mb-3`},` 将按顺序轮询凭据管理中的全部密码预设与 SSH 密钥预设尝试登录,首个成功即加入服务器列表。 `,-1),m(O,{modelValue:l(C).domain,"onUpdate:modelValue":i[0]||=e=>l(C).domain=e,label:`IP 或域名`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`192.168.1.10`,rules:[e=>!!e?.trim()||`必填`]},null,8,[`modelValue`,`rules`]),m(O,{modelValue:l(C).port,"onUpdate:modelValue":i[1]||=e=>l(C).port=e,modelModifiers:{number:!0},label:`SSH 端口`,variant:`outlined`,density:`compact`,type:`number`,class:`mb-2`},null,8,[`modelValue`]),m(O,{modelValue:l(C).name,"onUpdate:modelValue":i[2]||=e=>l(C).name=e,label:`显示名称(可选)`,variant:`outlined`,density:`compact`,hint:`留空则使用 IP`,"persistent-hint":``},null,8,[`modelValue`])]),_:1}),m(E,null,{default:g(()=>[m(y),m(n,{variant:`text`,disabled:l(b),onClick:i[3]||=e=>v.value=!1},{default:g(()=>[...i[9]||=[e(`取消`,-1)]]),_:1},8,[`disabled`]),m(n,{color:`primary`,variant:`flat`,loading:l(b),onClick:l(I)},{default:g(()=>[...i[10]||=[e(`开始轮询`,-1)]]),_:1},8,[`loading`,`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),m(A,{modelValue:l(k),"onUpdate:modelValue":i[6]||=e=>u(k)?k.value=e:null,"max-width":`560`},{default:g(()=>[m(D,{border:``},{default:g(()=>[m(w,{class:`text-error`},{default:g(()=>[...i[11]||=[e(`SSH 连接失败`,-1)]]),_:1}),m(T,null,{default:g(()=>[i[12]||=o(`p`,{class:`text-body-2 mb-3`},`已尝试全部凭据预设,均未登录成功。该服务器已加入「连接失败列表」,可稍后重试。`,-1),l(N).length?(h(),t(_,{key:0,density:`compact`,class:`bg-grey-lighten-4 rounded`},{default:g(()=>[(h(!0),a(S,null,s(l(N),(n,r)=>(h(),t(f,{key:r},{default:g(()=>[m(d,{class:`text-body-2`},{default:g(()=>[e(` [`+x(n.preset_type===`password`?`密码`:n.preset_type===`system`?`系统`:`密钥`)+`] `+x(n.preset_name)+` (`+x(n.username)+`) `,1)]),_:2},1024),m(c,{class:`text-error`},{default:g(()=>[e(x(n.error),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(h(),a(`p`,M,x(l(P)),1))]),_:1}),m(E,null,{default:g(()=>[m(y),m(n,{color:`primary`,variant:`flat`,onClick:i[5]||=e=>k.value=!1},{default:g(()=>[...i[13]||=[e(`知道了`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])],64))}});export{N as t};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{n as e,t}from"./VRow-T5Ep28lo.js";import{$ as n,C as r,Ct as i,Dr as a,Er as o,L as s,Nr as c,Or as l,St as u,Tr as d,Xt as f,Yr as p,Zt as m,br as h,in as g,jr as _,qr as v,ri as y,ui as b,xi as x,xr as S,xt as C,yi as w,yr as T}from"./index-BLJOBTmm.js";import{t as E}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as D,t as O}from"./VCard-2669QFs6.js";import{t as k}from"./VSkeletonLoader-Dy9Q-xQn.js";var A={cpu:`cpu_avg`,mem:`mem_avg`,disk:`disk_avg`,online:null};function j(e,t){if(t===`online`)return e.map(e=>e.online_count);let n=A[t];return e.map(e=>e[n])}function M(e){let t=e.filter(e=>e!=null),n=e.length?e[e.length-1]:null,r=e.length>1?e[e.length-2]:null,i=n!=null&&r!=null?Math.round((n-r)*10)/10:null;if(!t.length)return{current:n,previous:r,delta:i,min:null,max:null,avg:null};let a=t.reduce((e,t)=>e+t,0);return{current:n,previous:r,delta:i,min:Math.min(...t),max:Math.max(...t),avg:Math.round(a/t.length)}}function N(e,t,n){let r=e.slice(t,n+1);return{cpu:M(j(r,`cpu`)),mem:M(j(r,`mem`)),disk:M(j(r,`disk`)),online:M(j(r,`online`))}}function P(e){let t=new Map(e.map(e=>[e.key,e.value])),n=(e,n)=>{let r=Number(t.get(e));return Number.isFinite(r)&&r>0?r:n};return{cpu:n(`cpu_alert_threshold`,80),mem:n(`mem_alert_threshold`,80),disk:n(`disk_alert_threshold`,80)}}function F(e){let t=m(e);return t?f(t.toISOString()):e}function I(e,t=`%`){return e==null?`—`:e===0?`0${t}`:`${e>0?`+`:``}${e}${t}`}function L(e){let t=m(e);return t?t.getTime():null}function R(e,t){if(!e.length)return-1;let n=0,r=1/0;return e.forEach((e,i)=>{let a=L(e.recorded_at);if(a==null)return;let o=Math.abs(a-t);o<r&&(r=o,n=i)}),r<=301e3?n:-1}function z(e,t,n){return e<=0?{startIdx:0,endIdx:0}:{startIdx:Math.max(0,Math.floor(t/100*(e-1))),endIdx:Math.min(e-1,Math.ceil(n/100*(e-1)))}}var B=[`total`,`online`,`offline`,`unset-path-offline`,`unset-path`,`alerts`];function V(){return[{subtitle:`服务器总数`,title:`0`,icon:`mdi-server-network`,color:`blue`},{subtitle:`在线`,title:`0`,icon:`mdi-check-circle-outline`,color:`green`},{subtitle:`离线`,title:`0`,icon:`mdi-alert-circle-outline`,color:`orange`},{subtitle:`未设路径·离线`,title:`0`,icon:`mdi-folder-alert-outline`,color:`deep-orange`},{subtitle:`未设路径`,title:`0`,icon:`mdi-folder-off-outline`,color:`amber`},{subtitle:`告警中`,title:`0`,icon:`mdi-bell-alert-outline`,color:`red`}]}function H(e,t){switch(e){case`total`:return String(t.total);case`online`:return String(t.online);case`offline`:return String(t.offline_list??t.offline);case`unset-path-offline`:return String(t.unset_path_offline??0);case`unset-path`:return String(t.unset_path??0);case`alerts`:return String(t.alerts??0);default:return`0`}}function U(e,t){e.value.forEach((e,n)=>{let r=B[n];r&&(e.title=H(r,t))})}async function W(){let{data:e}=await u(C.serverStats,()=>g.get(`/servers/stats`));return e}async function G(e){i(C.serverStats);let t=await W();return U(e,t),t}function K(){return{statItems:b(V())}}var q={class:`stat-cards-row`},J={key:0,class:`d-flex justify-end align-center mb-2`},Y={class:`text-caption text-medium-emphasis mb-1`,style:{"font-size":`14px`,"letter-spacing":`0.5px`,"text-transform":`uppercase`}},X=E(c({__name:`StatCardsRow`,props:{items:{},loading:{type:Boolean,default:!1},refreshing:{type:Boolean,default:!1},showRefresh:{type:Boolean,default:!0}},emits:[`click`,`refresh`],setup(i,{emit:c}){let u=c;function f(e){e.clickable===!1||!e.key||u(`click`,e.key)}return(c,m)=>(v(),l(`div`,q,[i.showRefresh?(v(),l(`div`,J,[_(s,{icon:`mdi-refresh`,size:`small`,variant:`text`,loading:i.refreshing,disabled:i.loading,title:`刷新统计`,"aria-label":`刷新统计`,onClick:m[0]||=e=>u(`refresh`)},null,8,[`loading`,`disabled`])])):a(``,!0),i.loading?(v(),o(k,{key:1,type:`heading`,class:`mb-1`})):(v(),o(t,{key:2},{default:y(()=>[(v(!0),l(S,null,p(i.items,(t,a)=>(v(),o(e,{key:t.key??a,cols:`6`,sm:i.items.length>4?4:3,lg:i.items.length>4?2:3},{default:y(()=>[_(O,{elevation:`0`,rounded:`xl`,border:``,class:w([`stat-card`,{"stat-card--clickable":t.clickable!==!1&&t.key,"stat-card--active":t.active,"stat-card--refreshing":i.refreshing}]),role:t.clickable!==!1&&t.key?`button`:void 0,tabindex:t.clickable!==!1&&t.key?0:void 0,onClick:e=>f(t),onKeydown:T(h(e=>f(t),[`prevent`]),[`enter`])},{default:y(()=>[_(D,{class:`pa-4 d-flex align-center justify-space-between`},{default:y(()=>[d(`div`,null,[d(`div`,Y,x(t.subtitle),1),d(`div`,{class:w([`font-weight-bold`,`text-`+t.color]),style:{"font-size":`36px`,"line-height":`1.1`}},x(t.title),3)]),_(r,{color:t.color,size:`48`,rounded:`lg`,class:`stat-icon`},{default:y(()=>[_(n,{icon:t.icon,size:`24`,color:`white`},null,8,[`icon`])]),_:2},1032,[`color`])]),_:2},1024)]),_:2},1032,[`class`,`role`,`tabindex`,`onClick`,`onKeydown`])]),_:2},1032,[`sm`,`lg`]))),128))]),_:1}))]))}}),[[`__scopeId`,`data-v-c6013623`]]);export{G as a,R as c,z as d,P as f,W as i,I as l,B as n,K as o,L as p,U as r,N as s,X as t,F as u};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{d as e,f as t}from"./VSelect-Cbn9r5RK.js";import{Lr as n,Nn as r,On as i,Qr as a,Sn as o,i as s,jr as c,qn as l,sr as u,ui as d,yn as f}from"./index-BLJOBTmm.js";import{l as p,m,u as h}from"./VTextField-CmS6JUIm.js";var g=r({...u(h(),[`direction`]),...u(t(),[`inline`])},`VCheckbox`),_=i()({name:`VCheckbox`,inheritAttrs:!1,props:g(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(t,{attrs:r,slots:i}){let u=f(t,`modelValue`),{isFocused:h,focus:g,blur:_}=m(t),v=d(),y=a();return o(()=>{let[a,o]=l(r),s=p.filterProps(t),d=e.filterProps(t);return c(p,n({ref:v,class:[`v-checkbox`,t.class]},a,s,{modelValue:u.value,"onUpdate:modelValue":e=>u.value=e,id:t.id||`checkbox-${y}`,focused:h.value,style:t.style}),{...i,default:({id:t,messagesId:r,isDisabled:a,isReadonly:s,isValid:l})=>c(e,n(d,{id:t.value,"aria-describedby":r.value,disabled:a.value,readonly:s.value},o,{error:l.value===!1,modelValue:u.value,"onUpdate:modelValue":e=>u.value=e,onFocus:g,onBlur:_}),i)})}),s({},v)}});export{_ as t};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{_ as e,a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as ee,n as l,o as u,p as d,r as f,s as p,u as m,v as h,y as g}from"./VDataTable-CfnXhyyK.js";import{Jr as te,Lr as _,Nn as v,On as y,Sn as b,Tr as x,hi as S,jr as C,kn as w,mi as T,sr as ne,wr as E,xr as D,y as O}from"./index-BLJOBTmm.js";import{t as k}from"./VTable-B_OR9EEL.js";var A=v({itemsLength:{type:[Number,String],required:!0},...h(),...l(),...a()},`VDataTableServer`),j=y()({name:`VDataTableServer`,props:A(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:expanded":e=>!0,"update:groupBy":e=>!0},setup(a,{attrs:l,slots:h}){let{groupBy:v}=p(a),{initialSortOrder:y,sortBy:A,multiSort:j,mustSort:M}=r(a),{page:N,itemsPerPage:P}=e(a),{disableSort:F}=S(a),I=E(()=>parseInt(a.itemsLength,10)),{columns:L,headers:R}=ee(a,{groupBy:v,showSelect:T(()=>a.showSelect),showExpand:T(()=>a.showExpand)}),{items:z}=s(a,L),{toggleSort:B}=i({initialSortOrder:y,sortBy:A,multiSort:j,mustSort:M,page:N}),{opened:V,isGroupOpen:H,toggleGroup:re,extractRows:U}=n({groupBy:v,sortBy:A,disableSort:F}),{pageCount:W,setItemsPerPage:G,prevPage:K,nextPage:q,setPage:J}=g({page:N,itemsPerPage:P,itemsLength:I}),{flatItems:Y}=c(z,v,V,()=>!!h[`group-summary`]),{isSelected:X,select:ie,selectAll:ae,toggleSelect:Z,someSelected:oe,allSelected:se}=d(a,{allItems:z,currentPage:z}),{isExpanded:ce,toggleExpand:le}=u(a),Q=E(()=>U(z.value));f({page:N,itemsPerPage:P,sortBy:A,groupBy:v,search:T(()=>a.search)}),te(`v-data-table`,{toggleSort:B,sortBy:A}),w({VDataTableRows:{hideNoData:T(()=>a.hideNoData),noDataText:T(()=>a.noDataText),loading:T(()=>a.loading),loadingText:T(()=>a.loadingText)}});let $=E(()=>({page:N.value,itemsPerPage:P.value,sortBy:A.value,pageCount:W.value,toggleSort:B,setItemsPerPage:G,prevPage:K,nextPage:q,setPage:J,someSelected:oe.value,allSelected:se.value,isSelected:X,select:ie,selectAll:ae,toggleSelect:Z,isExpanded:ce,toggleExpand:le,isGroupOpen:H,toggleGroup:re,items:Q.value.map(e=>e.raw),internalItems:Q.value,groupedItems:Y.value,columns:L.value,headers:R.value}));b(()=>{let e=o.filterProps(a),n=m.filterProps(ne(a,[`multiSort`])),r=t.filterProps(a),i=k.filterProps(a);return C(k,_({class:[`v-data-table`,{"v-data-table--loading":a.loading},a.class],style:a.style},i,{fixedHeader:a.fixedHeader||a.sticky}),{top:()=>h.top?.($.value),default:()=>h.default?h.default($.value):x(D,null,[h.colgroup?.($.value),!a.hideDefaultHeader&&x(`thead`,{key:`thead`,class:`v-data-table__thead`,role:`rowgroup`},[C(m,_(n,{multiSort:!!a.multiSort}),h)]),h.thead?.($.value),!a.hideDefaultBody&&x(`tbody`,{class:`v-data-table__tbody`,role:`rowgroup`},[h[`body.prepend`]?.($.value),h.body?h.body($.value):C(t,_(l,r,{items:Y.value}),h),h[`body.append`]?.($.value)]),h.tbody?.($.value),h.tfoot?.($.value)]),bottom:()=>h.bottom?h.bottom($.value):!a.hideDefaultFooter&&x(D,null,[C(O,null,null),C(o,e,{prepend:h[`footer.prepend`]})])})})}});export{j as t};
|
||||
@@ -0,0 +1 @@
|
||||
import{Lr as e,Nn as t,On as n,P as r,Rr as i,Sn as a,a as o,i as s,jr as c,o as l,s as u,sr as d,ti as f,tt as p,ui as m,yn as h}from"./index-BLJOBTmm.js";var g=t({fullscreen:Boolean,scrollable:Boolean,...d(l({captureFocus:!0,origin:`center center`,scrollStrategy:`block`,transition:{component:r},zIndex:2400,retainFocus:!0}),[`disableInitialFocus`])},`VDialog`),_=n()({name:`VDialog`,props:g(),emits:{"update:modelValue":e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(t,{emit:n,slots:r}){let l=h(t,`modelValue`),{scopeId:d}=u(),g=m();function _(){n(`afterEnter`),(t.scrim||t.retainFocus)&&g.value?.contentEl&&!g.value.contentEl.contains(document.activeElement)&&g.value.contentEl.focus({preventScroll:!0})}function v(){n(`afterLeave`)}return f(l,async e=>{e||(await i(),g.value.activatorEl?.focus({preventScroll:!0}))}),a(()=>{let n=o.filterProps(t),i=e({"aria-haspopup":`dialog`},t.activatorProps),a=e({tabindex:-1},t.contentProps);return c(o,e({ref:g,class:[`v-dialog`,{"v-dialog--fullscreen":t.fullscreen,"v-dialog--scrollable":t.scrollable},t.class],style:t.style},n,{modelValue:l.value,"onUpdate:modelValue":e=>l.value=e,"aria-modal":`true`,activatorProps:i,contentProps:a,height:t.fullscreen?void 0:t.height,width:t.fullscreen?void 0:t.width,maxHeight:t.fullscreen?void 0:t.maxHeight,maxWidth:t.fullscreen?void 0:t.maxWidth,role:`dialog`,onAfterEnter:_,onAfterLeave:v},d),{activator:r.activator,default:(...e)=>c(p,{root:`VDialog`},{default:()=>[r.default?.(...e)]})})}),s({},g)}});export{_ as t};
|
||||
@@ -0,0 +1 @@
|
||||
import{$ as e,A as t,Fr as n,Jr as r,Mn as i,Nn as a,On as o,Sn as s,Tr as c,X as l,Z as u,at as d,bi as f,c as p,cr as m,dn as h,fn as g,ft as _,gt as v,ht as y,ii as b,it as x,jr as S,kn as C,l as w,mi as T,mt as E,ot as D,pt as O,rt as k,tt as A,ut as j,vr as M,wr as N,xn as P,yi as F,z as I}from"./index-BLJOBTmm.js";var L=Symbol.for(`vuetify:v-expansion-panel`),R=a({...i(),...p()},`VExpansionPanelText`),z=o()({name:`VExpansionPanelText`,props:R(),setup(e,{slots:r}){let i=n(L);if(!i)throw Error(`[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel`);let{hasContent:a,onAfterLeave:o}=w(e,i.isSelected);return s(()=>S(t,{onAfterLeave:o},{default:()=>[b(c(`div`,{class:F([`v-expansion-panel-text`,e.class]),style:f(e.style)},[r.default&&a.value&&c(`div`,{class:`v-expansion-panel-text__wrapper`},[r.default?.()])]),[[M,i.isSelected.value]])]})),{}}}),B=a({color:String,expandIcon:{type:P,default:`$expand`},collapseIcon:{type:P,default:`$collapse`},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...i(),...l()},`VExpansionPanelTitle`),V=o()({name:`VExpansionPanelTitle`,directives:{vRipple:I},props:B(),setup(t,{slots:r}){let i=n(L);if(!i)throw Error(`[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel`);let{backgroundColorClasses:a,backgroundColorStyles:o}=j(()=>t.color),{dimensionStyles:l}=u(t),d=N(()=>({collapseIcon:t.collapseIcon,disabled:i.disabled.value,expanded:i.isSelected.value,expandIcon:t.expandIcon,readonly:t.readonly})),p=T(()=>i.isSelected.value?t.collapseIcon:t.expandIcon);return s(()=>b(c(`button`,{class:F([`v-expansion-panel-title`,{"v-expansion-panel-title--active":i.isSelected.value,"v-expansion-panel-title--focusable":t.focusable,"v-expansion-panel-title--static":t.static},a.value,t.class]),style:f([o.value,l.value,t.style]),type:`button`,tabindex:i.disabled.value?-1:void 0,disabled:i.disabled.value,"aria-expanded":i.isSelected.value,onClick:t.readonly?void 0:i.toggle},[c(`span`,{class:`v-expansion-panel-title__overlay`},null),r.default?.(d.value),!t.hideActions&&S(A,{defaults:{VIcon:{icon:p.value}}},{default:()=>[c(`span`,{class:`v-expansion-panel-title__icon`},[r.actions?.(d.value)??S(e,null,null)])]})]),[[I,t.ripple]])),{}}}),H=a({title:String,text:String,bgColor:String,...y(),...k(),...O(),..._(),...B(),...R()},`VExpansionPanel`),U=o()({name:`VExpansionPanel`,props:H(),emits:{"group:selected":e=>!0},setup(e,{slots:t}){let n=D(e,L),{backgroundColorClasses:i,backgroundColorStyles:a}=j(()=>e.bgColor),{elevationClasses:o}=v(e),{roundedClasses:l}=E(e),u=T(()=>n?.disabled.value||e.disabled),d=N(()=>n.group.items.value.reduce((e,t,r)=>(n.group.selected.value.includes(t.id)&&e.push(r),e),[])),p=N(()=>{let e=n.group.items.value.findIndex(e=>e.id===n.id);return!n.isSelected.value&&d.value.some(t=>t-e===1)}),m=N(()=>{let e=n.group.items.value.findIndex(e=>e.id===n.id);return!n.isSelected.value&&d.value.some(t=>t-e===-1)});return r(L,n),s(()=>{let r=!!(t.text||e.text),s=!!(t.title||e.title),d=V.filterProps(e),h=z.filterProps(e);return S(e.tag,{class:F([`v-expansion-panel`,{"v-expansion-panel--active":n.isSelected.value,"v-expansion-panel--before-active":p.value,"v-expansion-panel--after-active":m.value,"v-expansion-panel--disabled":u.value},l.value,i.value,e.class]),style:f([a.value,e.style])},{default:()=>[c(`div`,{class:F([`v-expansion-panel__shadow`,...o.value])},null),S(A,{defaults:{VExpansionPanelTitle:{...d},VExpansionPanelText:{...h}}},{default:()=>[s&&S(V,{key:`title`},{default:()=>[t.title?t.title():e.title]}),r&&S(z,{key:`text`},{default:()=>[t.text?t.text():e.text]}),t.default?.()]})]})}),{groupItem:n}}}),W=[`default`,`accordion`,`inset`,`popout`],G=a({flat:Boolean,...x(),...m(H(),[`bgColor`,`collapseIcon`,`color`,`eager`,`elevation`,`expandIcon`,`focusable`,`hideActions`,`readonly`,`ripple`,`static`]),...O(),...h(),...i(),..._(),variant:{type:String,default:`default`,validator:e=>W.includes(e)}},`VExpansionPanels`),K=o()({name:`VExpansionPanels`,props:G(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let{next:n,prev:r}=d(e,L),{themeClasses:i}=g(e),{roundedClasses:a}=E(e),o=T(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return C({VExpansionPanel:{bgColor:T(()=>e.bgColor),collapseIcon:T(()=>e.collapseIcon),color:T(()=>e.color),eager:T(()=>e.eager),elevation:T(()=>e.elevation),expandIcon:T(()=>e.expandIcon),focusable:T(()=>e.focusable),hideActions:T(()=>e.hideActions),readonly:T(()=>e.readonly),ripple:T(()=>e.ripple),static:T(()=>e.static)}}),s(()=>S(e.tag,{class:F([`v-expansion-panels`,{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},i.value,a.value,o.value,e.class]),style:f(e.style)},{default:()=>[t.default?.({prev:r,next:n})]})),{next:n,prev:r}}});export{z as i,U as n,V as r,K as t};
|
||||
@@ -0,0 +1 @@
|
||||
import{Mn as e,Nn as t,On as n,Sn as r,Tr as i,bi as a,i as o,ui as s,yi as c}from"./index-BLJOBTmm.js";import{d as l,f as u}from"./VTextField-CmS6JUIm.js";var d=t({...e(),...u()},`VForm`),f=n()({name:`VForm`,props:d(),emits:{"update:modelValue":e=>!0,submit:e=>!0},setup(e,{slots:t,emit:n}){let u=l(e),d=s();function f(e){e.preventDefault(),u.reset()}function p(e){let t=e,r=u.validate();t.then=r.then.bind(r),t.catch=r.catch.bind(r),t.finally=r.finally.bind(r),n(`submit`,t),t.defaultPrevented||r.then(({valid:e})=>{e&&d.value?.submit()}),t.preventDefault()}return r(()=>i(`form`,{ref:d,class:c([`v-form`,e.class]),style:a(e.style),novalidate:!0,onReset:f,onSubmit:p},[t.default?.({get errors(){return u.errors.value},get isDisabled(){return u.isDisabled.value},get isReadonly(){return u.isReadonly.value},get isValidating(){return u.isValidating.value},get isValid(){return u.isValid.value},get items(){return u.items.value},validate:u.validate,reset:u.reset,resetValidation:u.resetValidation})])),o(u,d)}});export{f as t};
|
||||
@@ -0,0 +1 @@
|
||||
import{Hn as e,Mn as t,Nn as n,On as r,Pr as i,_t as a,ft as o,hr as s,ir as c,mn as l,vi as u,wr as d}from"./index-BLJOBTmm.js";var f=l.reduce((e,t)=>(e[t]={type:[Boolean,String,Number],default:!1},e),{}),p=l.reduce((e,t)=>{let n=`offset`+u(t);return e[n]={type:[String,Number],default:null},e},{}),m={col:c(f),offset:c(p),order:[`order`,`orderSm`,`orderMd`,`orderLg`,`orderXl`,`orderXxl`]};function h(e){if(typeof e==`string`&&e.includes(`/`)){let[t,n]=e.split(`/`);return{cols:Number(t),size:Number(n)}}return{cols:e}}function g(e,t,n){if(n==null||n===!1)return{};let{cols:r,size:i}=h(n),a=t.replace(e,``).toLowerCase();return e===`offset`?{className:`v-col--offset-${a}-${r}`,variables:[{[`--v-col-offset-base-${a}`]:i}]}:e===`order`?{className:`order-${a}-${r}`}:{className:r===``||r===!0?`v-col--${a}`:`v-col--cols-${a}-${r}`,variables:[{[`--v-col-size-base-${a}`]:i}]}}var _=[`auto`,`start`,`end`,`center`,`baseline`,`stretch`],v=e=>_.includes(e),y=n({cols:{type:[Boolean,String,Number],default:!1},...f,offset:{type:[String,Number],default:null},...p,order:{type:[String,Number],default:null},orderSm:{type:[String,Number],default:null},orderMd:{type:[String,Number],default:null},orderLg:{type:[String,Number],default:null},orderXl:{type:[String,Number],default:null},orderXxl:{type:[String,Number],default:null},alignSelf:{type:String,default:null,validator:v},...t(),...o()},`VCol`),b=r()({name:`VCol`,props:y(),setup(e,{slots:t}){let n=d(()=>h(e.cols).size),r=d(()=>h(e.offset).size),a=d(()=>{let t=[`v-col`],n=[],r;for(r in m)m[r].forEach(i=>{let a=e[i],{className:o,variables:s}=g(r,i,a);o&&t.push(o),s&&n.push(...s)});let{cols:i}=h(e.cols),{cols:a}=h(e.offset);return t.push({[`v-col--cols-${i}`]:i,[`v-col--offset-${a}`]:a,[`order-${e.order}`]:e.order,[`align-self-${e.alignSelf}`]:e.alignSelf}),{classes:t,variables:n}});return()=>i(e.tag,{class:[a.value.classes,e.class],style:[{"--v-col-size-base":n.value},{"--v-col-offset-base":r.value},a.value.variables,e.style]},t.default?.())}}),x=[`start`,`end`,`center`],S=[`space-between`,`space-around`,`space-evenly`],C=[...x,`baseline`,`stretch`],w=e=>C.includes(e),T=[...x,...S],E=e=>T.includes(e),D=[...x,...S,`stretch`],O=e=>D.includes(e),k={align:[`align`,`alignSm`,`alignMd`,`alignLg`,`alignXl`,`alignXxl`],justify:[`justify`,`justifySm`,`justifyMd`,`justifyLg`,`justifyXl`,`justifyXxl`],alignContent:[`alignContent`,`alignContentSm`,`alignContentMd`,`alignContentLg`,`alignContentXl`,`alignContentXxl`]},A={align:`align`,justify:`justify`,alignContent:`align-content`};function j(e,t,n){let r=A[e];if(n!=null){if(t){let n=t.replace(e,``);r+=`-${n}`}return r+=`-${n}`,r.toLowerCase()}}var M=n({dense:Boolean,align:{type:String,default:null,validator:w},alignSm:{type:String,default:null,validator:w},alignMd:{type:String,default:null,validator:w},alignLg:{type:String,default:null,validator:w},alignXl:{type:String,default:null,validator:w},alignXxl:{type:String,default:null,validator:w},justify:{type:String,default:null,validator:E},justifySm:{type:String,default:null,validator:E},justifyMd:{type:String,default:null,validator:E},justifyLg:{type:String,default:null,validator:E},justifyXl:{type:String,default:null,validator:E},justifyXxl:{type:String,default:null,validator:E},alignContent:{type:String,default:null,validator:O},alignContentSm:{type:String,default:null,validator:O},alignContentMd:{type:String,default:null,validator:O},alignContentLg:{type:String,default:null,validator:O},alignContentXl:{type:String,default:null,validator:O},alignContentXxl:{type:String,default:null,validator:O},noGutters:Boolean,gap:[Number,String,Array],size:[Number,String],...t(),...a(),...o()},`VRow`),N=r()({name:`VRow`,props:M(),setup(t,{slots:n}){t.dense&&s(`dense`,`density="comfortable"`);let r=d(()=>{let e=[],n;for(n in k)k[n].forEach(r=>{let i=t[r],a=j(n,r,i);a&&e.push(a)});return e.push({"v-row--no-gutters":t.noGutters,"v-row--density-default":t.density===`default`&&!t.noGutters&&!t.dense,"v-row--density-compact":t.density===`compact`,"v-row--density-comfortable":t.density===`comfortable`||t.dense,[`align-${t.align}`]:t.align,[`justify-${t.justify}`]:t.justify,[`align-content-${t.alignContent}`]:t.alignContent}),e}),a=d(()=>Array.isArray(t.gap)?e(t.gap[0]||0):e(t.gap)),o=d(()=>Array.isArray(t.gap)?e(t.gap[1]||0):a.value);return()=>i(t.tag,{class:[`v-row`,r.value,t.class],style:[{"--v-col-gap-x":a.value,"--v-col-gap-y":o.value,"--v-row-columns":t.size},t.style]},n.default?.())}});export{b as n,N as t};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{Lr as e,Nn as t,On as n,Sn as r,Tr as i,X as a,Z as o,_n as s,dn as c,fn as l,gt as u,ht as d,lr as f,ut as p,wr as m,xr as h,yi as g}from"./index-BLJOBTmm.js";var _={actions:`button@2`,article:`heading, paragraph`,avatar:`avatar`,button:`button`,card:`image, heading`,"card-avatar":`image, list-item-avatar`,chip:`chip`,"date-picker":`list-item, heading, divider, date-picker-options, date-picker-days, actions`,"date-picker-options":`text, avatar@2`,"date-picker-days":`avatar@28`,divider:`divider`,heading:`heading`,image:`image`,"list-item":`text`,"list-item-avatar":`avatar, text`,"list-item-two-line":`sentences`,"list-item-avatar-two-line":`avatar, sentences`,"list-item-three-line":`paragraph`,"list-item-avatar-three-line":`avatar, paragraph`,ossein:`ossein`,paragraph:`text@3`,sentences:`text@2`,subtitle:`text`,table:`table-heading, table-thead, table-tbody, table-tfoot`,"table-heading":`chip, text`,"table-thead":`heading@6`,"table-tbody":`table-row-divider@6`,"table-row-divider":`table-row, divider`,"table-row":`text@6`,"table-tfoot":`text@2, avatar@2`,text:`text`};function v(e,t=[]){return i(`div`,{class:g([`v-skeleton-loader__bone`,`v-skeleton-loader__${e}`])},[t])}function y(e){let[t,n]=e.split(`@`);return Array.from({length:n}).map(()=>b(t))}function b(e){let t=[];if(!e)return t;let n=_[e];if(e!==n){if(e.includes(`,`))return x(e);if(e.includes(`@`))return y(e);n.includes(`,`)?t=x(n):n.includes(`@`)?t=y(n):n&&t.push(b(n))}return[v(e,t)]}function x(e){return e.replace(/\s/g,``).split(`,`).map(b)}var S=t({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:`$vuetify.loading`},type:{type:[String,Array],default:`ossein`},...a(),...d(),...c()},`VSkeletonLoader`),C=n()({name:`VSkeletonLoader`,inheritAttrs:!1,props:S(),setup(t,{attrs:n,slots:a}){let{backgroundColorClasses:c,backgroundColorStyles:d}=p(()=>t.color),{dimensionStyles:g}=o(t),{elevationClasses:_}=u(t),{themeClasses:v}=l(t),{t:y}=s(),x=m(()=>b(f(t.type).join(`,`)));return r(()=>{let r=!a.default||t.loading,o=t.boilerplate||!r?{}:{ariaLive:`polite`,ariaLabel:y(t.loadingText),role:`alert`};return r?i(`div`,e({class:[`v-skeleton-loader`,{"v-skeleton-loader--boilerplate":t.boilerplate},v.value,c.value,_.value],style:[d.value,g.value]},o,n),[x.value]):i(h,null,[a.default?.()])}),{}}});export{C as t};
|
||||
@@ -0,0 +1 @@
|
||||
import{m as e,p as t}from"./VSelect-Cbn9r5RK.js";import{$ as n,K as r,Lr as i,M as a,Nn as o,On as s,Q as c,Qr as l,Sn as u,Tr as d,W as f,bi as p,fr as m,i as h,jr as g,mi as _,qn as v,tt as y,ui as b,xr as x,yi as S,yn as C}from"./index-BLJOBTmm.js";import{l as w,m as T,u as E}from"./VTextField-CmS6JUIm.js";var D=o({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...E(),...e()},`VSwitch`),O=s()({name:`VSwitch`,inheritAttrs:!1,props:D(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,{attrs:o,slots:s}){let E=C(e,`indeterminate`),D=C(e,`modelValue`),{loaderClasses:O}=r(e),{isFocused:k,focus:A,blur:j}=T(e),M=b(),N=b(),P=m&&window.matchMedia(`(forced-colors: active)`).matches,F=_(()=>typeof e.loading==`string`&&e.loading!==``?e.loading:e.color),I=l(),L=_(()=>e.id||`switch-${I}`);function R(){E.value&&=!1}function z(e){e.stopPropagation(),e.preventDefault(),M.value?.input?.click()}return u(()=>{let[r,l]=v(o),u=w.filterProps(e),m=t.filterProps(e);return g(w,i({ref:N,class:[`v-switch`,{"v-switch--flat":e.flat},{"v-switch--inset":e.inset},{"v-switch--indeterminate":E.value},O.value,e.class]},r,u,{modelValue:D.value,"onUpdate:modelValue":e=>D.value=e,id:L.value,focused:k.value,style:e.style}),{...s,default:({id:r,messagesId:o,isDisabled:u,isReadonly:h,isValid:_})=>{let v={model:D,isValid:_};return g(t,i({ref:M},m,{modelValue:D.value,"onUpdate:modelValue":[e=>D.value=e,R],id:r.value,"aria-describedby":o.value,type:`checkbox`,"aria-checked":E.value?`mixed`:void 0,disabled:u.value,readonly:h.value,onFocus:A,onBlur:j},l),{...s,default:({backgroundColorClasses:e,backgroundColorStyles:t})=>d(`div`,{class:S([`v-switch__track`,P?void 0:e.value]),style:p(t.value),onClick:z},[s[`track-true`]&&d(`div`,{key:`prepend`,class:`v-switch__track-true`},[s[`track-true`](v)]),s[`track-false`]&&d(`div`,{key:`append`,class:`v-switch__track-false`},[s[`track-false`](v)])]),input:({inputNode:t,icon:r,backgroundColorClasses:i,backgroundColorStyles:o})=>d(x,null,[t,d(`div`,{class:S([`v-switch__thumb`,{"v-switch__thumb--filled":r||e.loading},e.inset||P?void 0:i.value]),style:p(e.inset?void 0:o.value)},[s.thumb?g(y,{defaults:{VIcon:{icon:r,size:`x-small`}}},{default:()=>[s.thumb({...v,icon:r})]}):g(a,null,{default:()=>[e.loading?g(f,{name:`v-switch`,active:!0,color:_.value===!1?void 0:F.value},{default:e=>s.loader?s.loader(e):g(c,{active:e.isActive,color:e.color,indeterminate:!0,size:`16`,width:`2`},null)}):r&&g(n,{key:String(r),icon:r,size:`x-small`},null)]})])])})}})}),h({},N)}});export{O as t};
|
||||
@@ -0,0 +1 @@
|
||||
import{Hn as e,Mn as t,Nn as n,On as r,Sn as i,Tr as a,_t as o,bi as s,dn as c,fn as l,ft as u,jr as d,vt as f,yi as p}from"./index-BLJOBTmm.js";var m=n({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,striped:{type:String,default:null,validator:e=>[`even`,`odd`].includes(e)},...t(),...o(),...u(),...c()},`VTable`),h=r()({name:`VTable`,props:m(),setup(t,{slots:n,emit:r}){let{themeClasses:o}=l(t),{densityClasses:c}=f(t);return i(()=>d(t.tag,{class:p([`v-table`,{"v-table--fixed-height":!!t.height,"v-table--fixed-header":t.fixedHeader,"v-table--fixed-footer":t.fixedFooter,"v-table--has-top":!!n.top,"v-table--has-bottom":!!n.bottom,"v-table--hover":t.hover,"v-table--striped-even":t.striped===`even`,"v-table--striped-odd":t.striped===`odd`},o.value,c.value,t.class]),style:s(t.style)},{default:()=>[n.top?.(),n.default?a(`div`,{class:`v-table__wrapper`,style:{height:e(t.height)}},[a(`table`,null,[n.default()])]):n.wrapper?.(),n.bottom?.()]})),{}}});export{m as n,h as t};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{an as e,en as t}from"./index-BLJOBTmm.js";function n(n,r){return n instanceof t?e(n.detail??n.message,n.message||r):n instanceof Error&&n.message.trim()||r}export{n as t};
|
||||
@@ -0,0 +1 @@
|
||||
import{nn as e}from"./index-BLJOBTmm.js";function t(){return e(`/btpanel/servers`)}function n(t,n){return e(`/btpanel/servers/${t}/config${n?.refreshBtInstalled?`?refresh_bt_installed=true`:``}`)}function r(t,n){return e(`/btpanel/servers/${t}/config`,{method:`PUT`,body:JSON.stringify(n)})}function i(){return e(`/btpanel/settings`)}function a(t){return e(`/btpanel/settings`,{method:`PUT`,body:JSON.stringify(t)})}function o(t){return e(`/btpanel/servers/${t}/bootstrap`,{method:`POST`,body:`{}`})}function s(t,n){return e(`/btpanel/servers/batch-bootstrap`,{method:`POST`,body:JSON.stringify({server_ids:t,all_unconfigured:n?.allUnconfigured??!1})})}function c(t){return e(`/btpanel/servers/${t}/system/total`)}function l(t){return e(`/btpanel/servers/${t}/system/disk`)}function u(t){return e(`/btpanel/servers/${t}/system/network`)}function d(t){return e(`/btpanel/servers/${t}/sites`)}function f(t,n,r){return e(`/btpanel/servers/${t}/sites/start`,{method:`POST`,body:JSON.stringify({site_id:n,name:r})})}function p(t,n,r){return e(`/btpanel/servers/${t}/sites/stop`,{method:`POST`,body:JSON.stringify({site_id:n,name:r})})}function m(t){return e(`/btpanel/servers/${t}/sites/php-versions`)}function h(t,n){return e(`/btpanel/servers/${t}/sites`,{method:`POST`,body:JSON.stringify(n)})}function g(t,n){return e(`/btpanel/servers/${t}/sites/${n}/domains`)}function _(t,n){return e(`/btpanel/servers/${t}/domains`,{method:`POST`,body:JSON.stringify(n)})}function v(t,n){return e(`/btpanel/servers/${t}/domains/delete`,{method:`POST`,body:JSON.stringify(n)})}function y(t){return e(`/btpanel/servers/${t}/ssl/sites`)}function b(t,n){return e(`/btpanel/servers/${t}/ssl/set`,{method:`POST`,body:JSON.stringify(n)})}function x(t,n){return e(`/btpanel/servers/${t}/ssl/apply`,{method:`POST`,body:JSON.stringify(n)})}function S(t){return e(`/btpanel/servers/${t}/databases`)}function C(t,n){return e(`/btpanel/servers/${t}/databases`,{method:`POST`,body:JSON.stringify(n)})}function w(t,n){return e(`/btpanel/servers/${t}/databases/password`,{method:`POST`,body:JSON.stringify(n)})}function T(t,n){return e(`/btpanel/servers/${t}/databases/backup`,{method:`POST`,body:JSON.stringify({id:n})})}function E(t){return e(`/btpanel/servers/${t}/crontab`)}function D(t,n,r){return e(`/btpanel/servers/${t}/services`,{method:`POST`,body:JSON.stringify({name:n,type:r})})}export{n as C,a as D,r as E,c as S,t as T,f as _,C as a,l as b,T as c,S as d,g as f,b as g,D as h,x as i,w as l,m,o as n,h as o,d as p,_ as r,E as s,s as t,v as u,p as v,i as w,u as x,y};
|
||||
@@ -0,0 +1 @@
|
||||
import{p as e,s as t}from"./initMonaco-BlrdAkYv.js";import{_ as n,a as r,c as i,d as a,f as o,g as s,h as c,i as l,l as u,m as d,n as f,o as p,p as m,r as h,s as g,t as _,u as v,v as y}from"./lspLanguageFeatures-tWyqNP_B.js";var b=120*1e3,x=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>b&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=t({moduleId:`vs/language/css/cssWorker`,createWorker:()=>new Worker(new URL(`/app/assets/css.worker-CvXBzhp8.js`,``+import.meta.url),{type:`module`}),label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}};function S(t){let n=[],s=[],c=new x(t);n.push(c);let g=(...e)=>c.getLanguageServiceWorker(...e);function y(){let{languageId:n,modeConfiguration:c}=t;w(s),c.completionItems&&s.push(e.registerCompletionItemProvider(n,new _(g,[`/`,`-`,`:`]))),c.hovers&&s.push(e.registerHoverProvider(n,new a(g))),c.documentHighlights&&s.push(e.registerDocumentHighlightProvider(n,new p(g))),c.definitions&&s.push(e.registerDefinitionProvider(n,new f(g))),c.references&&s.push(e.registerReferenceProvider(n,new o(g))),c.documentSymbols&&s.push(e.registerDocumentSymbolProvider(n,new u(g))),c.rename&&s.push(e.registerRenameProvider(n,new m(g))),c.colors&&s.push(e.registerColorProvider(n,new l(g))),c.foldingRanges&&s.push(e.registerFoldingRangeProvider(n,new v(g))),c.diagnostics&&s.push(new h(n,g,t.onDidChange)),c.selectionRanges&&s.push(e.registerSelectionRangeProvider(n,new d(g))),c.documentFormattingEdits&&s.push(e.registerDocumentFormattingEditProvider(n,new r(g))),c.documentRangeFormattingEdits&&s.push(e.registerDocumentRangeFormattingEditProvider(n,new i(g)))}return y(),n.push(C(s)),C(n)}function C(e){return{dispose:()=>w(e)}}function w(e){for(;e.length;)e.pop().dispose()}export{_ as CompletionAdapter,f as DefinitionAdapter,h as DiagnosticsAdapter,l as DocumentColorAdapter,r as DocumentFormattingEditProvider,p as DocumentHighlightAdapter,g as DocumentLinkAdapter,i as DocumentRangeFormattingEditProvider,u as DocumentSymbolAdapter,v as FoldingRangeAdapter,a as HoverAdapter,o as ReferenceAdapter,m as RenameAdapter,d as SelectionRangeAdapter,x as WorkerManager,c as fromPosition,s as fromRange,S as setupMode,n as toRange,y as toTextEdit};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
import{Ft as e,Rt as t,Vr as n}from"./index-BLJOBTmm.js";import{t as r}from"./usePageAutoRefresh-PnKFBS7x.js";var i=8e3,a=3e4;function o(o,s){let{runningItems:c}=t();r(async()=>{s?.enabled&&!s.enabled()||await o(!0)},()=>c.value.length>0?i:a);let l=e(()=>{s?.enabled&&!s.enabled()||o(!1)});n(()=>{l()})}function s(e){return e.replace(/\b\d{1,3}(?:\.\d{1,3}){3}\b/g,`<ip>`).replace(/:\d{2,5}\b/g,`:<port>`).replace(/\/[^\s'"]+/g,`/<path>`).replace(/\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi,`<uuid>`).replace(/\s+/g,` `).trim()}function c(e){let t=e.trim();return!t||t===`—`?`未知错误`:s(t.split(`
|
||||
`)[0]?.trim()||t).slice(0,200)||`未知错误`}function l(e){let t=new Map;for(let n of e){if(!n.failed)continue;let e=c(n.summary),r=t.get(e);r?r.push(n):t.set(e,[n])}return[...t.entries()].map(([e,t])=>({errorKey:e,rows:t.sort((e,t)=>e.serverName.localeCompare(t.serverName,`zh`)),count:t.length})).sort((e,t)=>t.count-e.count||e.errorKey.localeCompare(t.errorKey,`zh`))}export{o as n,l as t};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{p as e}from"./initMonaco-BlrdAkYv.js";var t=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`menuitem`,`meta`,`param`,`source`,`track`,`wbr`],n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:[`<!--`,`-->`]},brackets:[[`<!--`,`-->`],[`<`,`>`],[`{`,`}`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`}],onEnterRules:[{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:e.IndentAction.Indent}}],folding:{markers:{start:RegExp(`^\\s*<!--\\s*#region\\b.*-->`),end:RegExp(`^\\s*<!--\\s*#endregion\\b.*-->`)}}},r={defaultToken:``,tokenPostfix:`.html`,ignoreCase:!0,tokenizer:{root:[[/<!DOCTYPE/,`metatag`,`@doctype`],[/<!--/,`comment`,`@comment`],[/(<)((?:[\w\-]+:)?[\w\-]+)(\s*)(\/>)/,[`delimiter`,`tag`,``,`delimiter`]],[/(<)(script)/,[`delimiter`,{token:`tag`,next:`@script`}]],[/(<)(style)/,[`delimiter`,{token:`tag`,next:`@style`}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,[`delimiter`,{token:`tag`,next:`@otherTag`}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,[`delimiter`,{token:`tag`,next:`@otherTag`}]],[/</,`delimiter`],[/[^<]+/]],doctype:[[/[^>]+/,`metatag.content`],[/>/,`metatag`,`@pop`]],comment:[[/-->/,`comment`,`@pop`],[/[^-]+/,`comment.content`],[/./,`comment.content`]],otherTag:[[/\/?>/,`delimiter`,`@pop`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/]],script:[[/type/,`attribute.name`,`@scriptAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,[`delimiter`,`tag`,{token:`delimiter`,next:`@pop`}]]],scriptAfterType:[[/=/,`delimiter`,`@scriptAfterTypeEquals`],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptAfterTypeEquals:[[/"module"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.text/javascript`}],[/'module'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.text/javascript`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptWithCustomType:[[/>/,{token:`delimiter`,next:`@scriptEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptEmbedded:[[/<\/script/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}],[/[^<]+/,``]],style:[[/type/,`attribute.name`,`@styleAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,[`delimiter`,`tag`,{token:`delimiter`,next:`@pop`}]]],styleAfterType:[[/=/,`delimiter`,`@styleAfterTypeEquals`],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleWithCustomType:[[/>/,{token:`delimiter`,next:`@styleEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleEmbedded:[[/<\/style/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}],[/[^<]+/,``]]}};export{n as conf,r as language};
|
||||
@@ -0,0 +1 @@
|
||||
import{p as e,s as t}from"./initMonaco-BlrdAkYv.js";import{_ as n,a as r,c as i,d as a,f as o,g as s,h as c,i as l,l as u,m as d,n as f,o as p,p as m,r as h,s as g,t as _,u as v,v as y}from"./lspLanguageFeatures-tWyqNP_B.js";var b=120*1e3,x=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>b&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=t({moduleId:`vs/language/html/htmlWorker`,createWorker:()=>new Worker(new URL(`/app/assets/html.worker-BO6WuOEO.js`,``+import.meta.url),{type:`module`}),createData:{languageSettings:this._defaults.options,languageId:this._defaults.languageId},label:this._defaults.languageId}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}},S=class extends _{constructor(e){super(e,[`.`,`:`,`<`,`"`,`=`,`/`])}};function C(t){let n=new x(t),o=(...e)=>n.getLanguageServiceWorker(...e),s=t.languageId;e.registerCompletionItemProvider(s,new S(o)),e.registerHoverProvider(s,new a(o)),e.registerDocumentHighlightProvider(s,new p(o)),e.registerLinkProvider(s,new g(o)),e.registerFoldingRangeProvider(s,new v(o)),e.registerDocumentSymbolProvider(s,new u(o)),e.registerSelectionRangeProvider(s,new d(o)),e.registerRenameProvider(s,new m(o)),s===`html`&&(e.registerDocumentFormattingEditProvider(s,new r(o)),e.registerDocumentRangeFormattingEditProvider(s,new i(o)))}function w(t){let n=[],o=[],s=new x(t);n.push(s);let c=(...e)=>s.getLanguageServiceWorker(...e);function l(){let{languageId:n,modeConfiguration:s}=t;E(o),s.completionItems&&o.push(e.registerCompletionItemProvider(n,new S(c))),s.hovers&&o.push(e.registerHoverProvider(n,new a(c))),s.documentHighlights&&o.push(e.registerDocumentHighlightProvider(n,new p(c))),s.links&&o.push(e.registerLinkProvider(n,new g(c))),s.documentSymbols&&o.push(e.registerDocumentSymbolProvider(n,new u(c))),s.rename&&o.push(e.registerRenameProvider(n,new m(c))),s.foldingRanges&&o.push(e.registerFoldingRangeProvider(n,new v(c))),s.selectionRanges&&o.push(e.registerSelectionRangeProvider(n,new d(c))),s.documentFormattingEdits&&o.push(e.registerDocumentFormattingEditProvider(n,new r(c))),s.documentRangeFormattingEdits&&o.push(e.registerDocumentRangeFormattingEditProvider(n,new i(c)))}return l(),n.push(T(o)),T(n)}function T(e){return{dispose:()=>E(e)}}function E(e){for(;e.length;)e.pop().dispose()}export{_ as CompletionAdapter,f as DefinitionAdapter,h as DiagnosticsAdapter,l as DocumentColorAdapter,r as DocumentFormattingEditProvider,p as DocumentHighlightAdapter,g as DocumentLinkAdapter,i as DocumentRangeFormattingEditProvider,u as DocumentSymbolAdapter,v as FoldingRangeAdapter,a as HoverAdapter,o as ReferenceAdapter,m as RenameAdapter,d as SelectionRangeAdapter,x as WorkerManager,c as fromPosition,s as fromRange,w as setupMode,C as setupMode1,n as toRange,y as toTextEdit};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{conf as e,language as t}from"./typescript-CAM5fKE9.js";var n=e,r={defaultToken:`invalid`,tokenPostfix:`.js`,keywords:`break.case.catch.class.continue.const.constructor.debugger.default.delete.do.else.export.extends.false.finally.for.from.function.get.if.import.in.instanceof.let.new.null.return.set.static.super.switch.symbol.this.throw.true.try.typeof.undefined.var.void.while.with.yield.async.await.of`.split(`.`),typeKeywords:[],operators:t.operators,symbols:t.symbols,escapes:t.escapes,digits:t.digits,octaldigits:t.octaldigits,binarydigits:t.binarydigits,hexdigits:t.hexdigits,regexpctl:t.regexpctl,regexpesc:t.regexpesc,tokenizer:t.tokenizer};export{n as conf,r as language};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{p as e}from"./initMonaco-BlrdAkYv.js";var t=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`menuitem`,`meta`,`param`,`source`,`track`,`wbr`],n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,brackets:[[`<!--`,`-->`],[`<`,`>`],[`{{`,`}}`],[`{%`,`%}`],[`{`,`}`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`%`,close:`%`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`<`,close:`>`},{open:`"`,close:`"`},{open:`'`,close:`'`}],onEnterRules:[{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:e.IndentAction.Indent}}]},r={defaultToken:``,tokenPostfix:``,builtinTags:`if.else.elseif.endif.render.assign.capture.endcapture.case.endcase.comment.endcomment.cycle.decrement.for.endfor.include.increment.layout.raw.endraw.render.tablerow.endtablerow.unless.endunless`.split(`.`),builtinFilters:`abs.append.at_least.at_most.capitalize.ceil.compact.date.default.divided_by.downcase.escape.escape_once.first.floor.join.json.last.lstrip.map.minus.modulo.newline_to_br.plus.prepend.remove.remove_first.replace.replace_first.reverse.round.rstrip.size.slice.sort.sort_natural.split.strip.strip_html.strip_newlines.times.truncate.truncatewords.uniq.upcase.url_decode.url_encode.where`.split(`.`),constants:[`true`,`false`],operators:[`==`,`!=`,`>`,`<`,`>=`,`<=`],symbol:/[=><!]+/,identifier:/[a-zA-Z_][\w]*/,tokenizer:{root:[[/\{\%\s*comment\s*\%\}/,`comment.start.liquid`,`@comment`],[/\{\{/,{token:`@rematch`,switchTo:`@liquidState.root`}],[/\{\%/,{token:`@rematch`,switchTo:`@liquidState.root`}],[/(<)([\w\-]+)(\/>)/,[`delimiter.html`,`tag.html`,`delimiter.html`]],[/(<)([:\w]+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/(<\/)([\w\-]+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/</,`delimiter.html`],[/\{/,`delimiter.html`],[/[^<{]+/]],comment:[[/\{\%\s*endcomment\s*\%\}/,`comment.end.liquid`,`@pop`],[/./,`comment.content.liquid`]],otherTag:[[/\{\{/,{token:`@rematch`,switchTo:`@liquidState.otherTag`}],[/\{\%/,{token:`@rematch`,switchTo:`@liquidState.otherTag`}],[/\/?>/,`delimiter.html`,`@pop`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/]],liquidState:[[/\{\{/,`delimiter.output.liquid`],[/\}\}/,{token:`delimiter.output.liquid`,switchTo:`@$S2.$S3`}],[/\{\%/,`delimiter.tag.liquid`],[/raw\s*\%\}/,`delimiter.tag.liquid`,`@liquidRaw`],[/\%\}/,{token:`delimiter.tag.liquid`,switchTo:`@$S2.$S3`}],{include:`liquidRoot`}],liquidRaw:[[/^(?!\{\%\s*endraw\s*\%\}).+/],[/\{\%/,`delimiter.tag.liquid`],[/@identifier/],[/\%\}/,{token:`delimiter.tag.liquid`,next:`@root`}]],liquidRoot:[[/\d+(\.\d+)?/,`number.liquid`],[/"[^"]*"/,`string.liquid`],[/'[^']*'/,`string.liquid`],[/\s+/],[/@symbol/,{cases:{"@operators":`operator.liquid`,"@default":``}}],[/\./],[/@identifier/,{cases:{"@constants":`keyword.liquid`,"@builtinFilters":`predefined.liquid`,"@builtinTags":`predefined.liquid`,"@default":`variable.liquid`}}],[/[^}|%]/,`variable.liquid`]]}};export{n as conf,r as language};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{p as e}from"./initMonaco-BlrdAkYv.js";var t={comments:{blockComment:[`{/*`,`*/}`]},brackets:[[`{`,`}`]],autoClosingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`“`,close:`”`},{open:`‘`,close:`’`},{open:"`",close:"`"},{open:`{`,close:`}`},{open:`(`,close:`)`},{open:`_`,close:`_`},{open:`**`,close:`**`},{open:`<`,close:`>`}],onEnterRules:[{beforeText:/^\s*- .+/,action:{indentAction:e.IndentAction.None,appendText:`- `}},{beforeText:/^\s*\+ .+/,action:{indentAction:e.IndentAction.None,appendText:`+ `}},{beforeText:/^\s*\* .+/,action:{indentAction:e.IndentAction.None,appendText:`* `}},{beforeText:/^> /,action:{indentAction:e.IndentAction.None,appendText:`> `}},{beforeText:/<\w+/,action:{indentAction:e.IndentAction.Indent}},{beforeText:/\s+>\s*$/,action:{indentAction:e.IndentAction.Indent}},{beforeText:/<\/\w+>/,action:{indentAction:e.IndentAction.Outdent}},...Array.from({length:100},(t,n)=>({beforeText:RegExp(`^${n}\\. .+`),action:{indentAction:e.IndentAction.None,appendText:`${n+1}. `}}))]},n={defaultToken:``,tokenPostfix:`.mdx`,control:/[!#()*+.[\\\]_`{}\-]/,escapes:/\\@control/,tokenizer:{root:[[/^---$/,{token:`meta.content`,next:`@frontmatter`,nextEmbedded:`yaml`}],[/^\s*import/,{token:`keyword`,next:`@import`,nextEmbedded:`js`}],[/^\s*export/,{token:`keyword`,next:`@export`,nextEmbedded:`js`}],[/<\w+/,{token:`type.identifier`,next:`@jsx`}],[/<\/?\w+>/,`type.identifier`],[/^(\s*)(>*\s*)(#{1,6}\s)/,[{token:`white`},{token:`comment`},{token:`keyword`,next:`@header`}]],[/^(\s*)(>*\s*)([*+-])(\s+)/,[`white`,`comment`,`keyword`,`white`]],[/^(\s*)(>*\s*)(\d{1,9}\.)(\s+)/,[`white`,`comment`,`number`,`white`]],[/^(\s*)(>*\s*)(\d{1,9}\.)(\s+)/,[`white`,`comment`,`number`,`white`]],[/^(\s*)(>*\s*)(-{3,}|\*{3,}|_{3,})$/,[`white`,`comment`,`keyword`]],[/`{3,}(\s.*)?$/,{token:`string`,next:`@codeblock_backtick`}],[/~{3,}(\s.*)?$/,{token:`string`,next:`@codeblock_tilde`}],[/`{3,}(\S+).*$/,{token:`string`,next:`@codeblock_highlight_backtick`,nextEmbedded:`$1`}],[/~{3,}(\S+).*$/,{token:`string`,next:`@codeblock_highlight_tilde`,nextEmbedded:`$1`}],[/^(\s*)(-{4,})$/,[`white`,`comment`]],[/^(\s*)(>+)/,[`white`,`comment`]],{include:`content`}],content:[[/(\[)(.+)(]\()(.+)(\s+".*")(\))/,[``,`string.link`,``,`type.identifier`,`string.link`,``]],[/(\[)(.+)(]\()(.+)(\))/,[``,`type.identifier`,``,`string.link`,``]],[/(\[)(.+)(]\[)(.+)(])/,[``,`type.identifier`,``,`type.identifier`,``]],[/(\[)(.+)(]:\s+)(\S*)/,[``,`type.identifier`,``,`string.link`]],[/(\[)(.+)(])/,[``,`type.identifier`,``]],[/`.*`/,`variable.source`],[/_/,{token:`emphasis`,next:`@emphasis_underscore`}],[/\*(?!\*)/,{token:`emphasis`,next:`@emphasis_asterisk`}],[/\*\*/,{token:`strong`,next:`@strong`}],[/{/,{token:`delimiter.bracket`,next:`@expression`,nextEmbedded:`js`}]],import:[[/'\s*(;|$)/,{token:`string`,next:`@pop`,nextEmbedded:`@pop`}]],expression:[[/{/,{token:`delimiter.bracket`,next:`@expression`}],[/}/,{token:`delimiter.bracket`,next:`@pop`,nextEmbedded:`@pop`}]],export:[[/^\s*$/,{token:`delimiter.bracket`,next:`@pop`,nextEmbedded:`@pop`}]],jsx:[[/\s+/,``],[/(\w+)(=)("(?:[^"\\]|\\.)*")/,[`attribute.name`,`operator`,`string`]],[/(\w+)(=)('(?:[^'\\]|\\.)*')/,[`attribute.name`,`operator`,`string`]],[/(\w+(?=\s|>|={|$))/,[`attribute.name`]],[/={/,{token:`delimiter.bracket`,next:`@expression`,nextEmbedded:`js`}],[/>/,{token:`type.identifier`,next:`@pop`}]],header:[[/.$/,{token:`keyword`,next:`@pop`}],{include:`content`},[/./,{token:`keyword`}]],strong:[[/\*\*/,{token:`strong`,next:`@pop`}],{include:`content`},[/./,{token:`strong`}]],emphasis_underscore:[[/_/,{token:`emphasis`,next:`@pop`}],{include:`content`},[/./,{token:`emphasis`}]],emphasis_asterisk:[[/\*(?!\*)/,{token:`emphasis`,next:`@pop`}],{include:`content`},[/./,{token:`emphasis`}]],frontmatter:[[/^---$/,{token:`meta.content`,nextEmbedded:`@pop`,next:`@pop`}]],codeblock_highlight_backtick:[[/\s*`{3,}\s*$/,{token:`string`,next:`@pop`,nextEmbedded:`@pop`}],[/.*$/,`variable.source`]],codeblock_highlight_tilde:[[/\s*~{3,}\s*$/,{token:`string`,next:`@pop`,nextEmbedded:`@pop`}],[/.*$/,`variable.source`]],codeblock_backtick:[[/\s*`{3,}\s*$/,{token:`string`,next:`@pop`}],[/.*$/,`variable.source`]],codeblock_tilde:[[/\s*~{3,}\s*$/,{token:`string`,next:`@pop`}],[/.*$/,`variable.source`]]}};export{t as conf,n as language};
|
||||
@@ -0,0 +1 @@
|
||||
import{in as e}from"./index-BLJOBTmm.js";var t=200;async function n(n,r,i,a){if(a!==-1){let t=await e.get(n,{...r,page:i,per_page:a});return{items:t.items||[],total:t.total??0}}let o=[],s=1,c=1,l=0;do{let i=await e.get(n,{...r,page:s,per_page:t});o.push(...i.items||[]),l=i.total??o.length,c=i.pages??1,s+=1}while(s<=c);return{items:o,total:l}}async function r(e,n,r){if(r!==-1)return e(r,(n-1)*r);let i=[],a=0,o=0;do{let n=await e(t,a);if(i.push(...n.items||[]),o=n.total??i.length,!n.items.length||i.length>=o)break;a+=t}while(!0);return{items:i,total:o}}export{n,r as t};
|
||||
@@ -0,0 +1 @@
|
||||
import{p as e}from"./initMonaco-BlrdAkYv.js";var t={comments:{lineComment:`#`,blockComment:[`'''`,`'''`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`,`comment`]}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],onEnterRules:[{beforeText:RegExp(`^\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async|match|case).*?:\\s*$`),action:{indentAction:e.IndentAction.Indent}}],folding:{offSide:!0,markers:{start:RegExp(`^\\s*#region\\b`),end:RegExp(`^\\s*#endregion\\b`)}}},n={defaultToken:``,tokenPostfix:`.python`,keywords:`False.None.True._.and.as.assert.async.await.break.case.class.continue.def.del.elif.else.except.exec.finally.for.from.global.if.import.in.is.lambda.match.nonlocal.not.or.pass.print.raise.return.try.type.while.with.yield.int.float.long.complex.hex.abs.all.any.apply.basestring.bin.bool.buffer.bytearray.callable.chr.classmethod.cmp.coerce.compile.complex.delattr.dict.dir.divmod.enumerate.eval.execfile.file.filter.format.frozenset.getattr.globals.hasattr.hash.help.id.input.intern.isinstance.issubclass.iter.len.locals.list.map.max.memoryview.min.next.object.oct.open.ord.pow.print.property.reversed.range.raw_input.reduce.reload.repr.reversed.round.self.set.setattr.slice.sorted.staticmethod.str.sum.super.tuple.type.unichr.unicode.vars.xrange.zip.__dict__.__methods__.__members__.__class__.__bases__.__name__.__mro__.__subclasses__.__init__.__import__`.split(`.`),brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.bracket`},{open:`(`,close:`)`,token:`delimiter.parenthesis`}],tokenizer:{root:[{include:`@whitespace`},{include:`@numbers`},{include:`@strings`},[/[,:;]/,`delimiter`],[/[{}\[\]()]/,`@brackets`],[/@[a-zA-Z_]\w*/,`tag`],[/[a-zA-Z_]\w*/,{cases:{"@keywords":`keyword`,"@default":`identifier`}}]],whitespace:[[/\s+/,`white`],[/(^#.*$)/,`comment`],[/'''/,`string`,`@endDocString`],[/"""/,`string`,`@endDblDocString`]],endDocString:[[/[^']+/,`string`],[/\\'/,`string`],[/'''/,`string`,`@popall`],[/'/,`string`]],endDblDocString:[[/[^"]+/,`string`],[/\\"/,`string`],[/"""/,`string`,`@popall`],[/"/,`string`]],numbers:[[/-?0x([abcdef]|[ABCDEF]|\d)+[lL]?/,`number.hex`],[/-?(\d*\.)?\d+([eE][+\-]?\d+)?[jJ]?[lL]?/,`number`]],strings:[[/'$/,`string.escape`,`@popall`],[/f'{1,3}/,`string.escape`,`@fStringBody`],[/'/,`string.escape`,`@stringBody`],[/"$/,`string.escape`,`@popall`],[/f"{1,3}/,`string.escape`,`@fDblStringBody`],[/"/,`string.escape`,`@dblStringBody`]],fStringBody:[[/[^\\'\{\}]+$/,`string`,`@popall`],[/[^\\'\{\}]+/,`string`],[/\{[^\}':!=]+/,`identifier`,`@fStringDetail`],[/\\./,`string`],[/'/,`string.escape`,`@popall`],[/\\$/,`string`]],stringBody:[[/[^\\']+$/,`string`,`@popall`],[/[^\\']+/,`string`],[/\\./,`string`],[/'/,`string.escape`,`@popall`],[/\\$/,`string`]],fDblStringBody:[[/[^\\"\{\}]+$/,`string`,`@popall`],[/[^\\"\{\}]+/,`string`],[/\{[^\}':!=]+/,`identifier`,`@fStringDetail`],[/\\./,`string`],[/"/,`string.escape`,`@popall`],[/\\$/,`string`]],dblStringBody:[[/[^\\"]+$/,`string`,`@popall`],[/[^\\"]+/,`string`],[/\\./,`string`],[/"/,`string.escape`,`@popall`],[/\\$/,`string`]],fStringDetail:[[/[:][^}]+/,`string`],[/[!][ars]/,`string`],[/=/,`string`],[/\}/,`identifier`,`@pop`]]}};export{t as conf,n as language};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{Zt as e}from"./index-BLJOBTmm.js";function t(e){switch(e){case`online`:return`success`;case`offline`:return`error`;default:return`warning`}}function n(e){switch(e){case`online`:return`在线`;case`offline`:return`离线`;default:return`未知`}}function r(t){if(!t)return`—`;let n=e(t);if(!n)return`—`;let r=Date.now()-n.getTime();return r<6e4?`刚刚`:r<36e5?`${Math.floor(r/6e4)} 分钟前`:r<864e5?`${Math.floor(r/36e5)} 小时前`:`${Math.floor(r/864e5)} 天前`}export{t as n,n as r,r as t};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{p as e}from"./initMonaco-BlrdAkYv.js";var t={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:e.IndentAction.IndentOutdent,appendText:` * `}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:e.IndentAction.None,appendText:` * `}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:e.IndentAction.None,appendText:`* `}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:e.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:"`",close:"`",notIn:[`string`,`comment`]},{open:`/**`,close:` */`,notIn:[`string`]}],folding:{markers:{start:RegExp(`^\\s*//\\s*#?region\\b`),end:RegExp(`^\\s*//\\s*#?endregion\\b`)}}},n={defaultToken:`invalid`,tokenPostfix:`.ts`,keywords:`abstract.any.as.asserts.bigint.boolean.break.case.catch.class.continue.const.constructor.debugger.declare.default.delete.do.else.enum.export.extends.false.finally.for.from.function.get.if.implements.import.in.infer.instanceof.interface.is.keyof.let.module.namespace.never.new.null.number.object.out.package.private.protected.public.override.readonly.require.global.return.satisfies.set.static.string.super.switch.symbol.this.throw.true.try.type.typeof.undefined.unique.unknown.var.void.while.with.yield.async.await.of`.split(`.`),operators:`<=.>=.==.!=.===.!==.=>.+.-.**.*./.%.++.--.<<.</.>>.>>>.&.|.^.!.~.&&.||.??.?.:.=.+=.-=.*=.**=./=.%=.<<=.>>=.>>>=.&=.|=.^=.@`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,`delimiter.bracket`],{include:`common`}],common:[[/#?[a-z_$][\w$]*/,{cases:{"@keywords":`keyword`,"@default":`identifier`}}],[/[A-Z][\w\$]*/,`type.identifier`],{include:`@whitespace`},[/\/(?=([^\\\/]|\\.)+\/([dgimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,{token:`regexp`,bracket:`@open`,next:`@regexp`}],[/[()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/!(?=([^=]|$))/,`delimiter`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/(@digits)[eE]([\-+]?(@digits))?/,`number.float`],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,`number.float`],[/0[xX](@hexdigits)n?/,`number.hex`],[/0[oO]?(@octaldigits)n?/,`number.octal`],[/0[bB](@binarydigits)n?/,`number.binary`],[/(@digits)n?/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string_double`],[/'/,`string`,`@string_single`],[/`/,`string`,`@string_backtick`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@jsdoc`],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],jsdoc:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,[`regexp.escape.control`,`regexp.escape.control`,`regexp.escape.control`]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,[`regexp.escape.control`,{token:`regexp.escape.control`,next:`@regexrange`}]],[/(\()(\?:|\?=|\?!)/,[`regexp.escape.control`,`regexp.escape.control`]],[/[()]/,`regexp.escape.control`],[/@regexpctl/,`regexp.escape.control`],[/[^\\\/]/,`regexp`],[/@regexpesc/,`regexp.escape`],[/\\\./,`regexp.invalid`],[/(\/)([dgimsuy]*)/,[{token:`regexp`,bracket:`@close`,next:`@pop`},`keyword.other`]]],regexrange:[[/-/,`regexp.escape.control`],[/\^/,`regexp.invalid`],[/@regexpesc/,`regexp.escape`],[/[^\]]/,`regexp`],[/\]/,{token:`regexp.escape.control`,next:`@pop`,bracket:`@close`}]],string_double:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]],string_single:[[/[^\\']+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/'/,`string`,`@pop`]],string_backtick:[[/\$\{/,{token:`delimiter.bracket`,next:`@bracketCounting`}],[/[^\\`$]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/`/,`string`,`@pop`]],bracketCounting:[[/\{/,`delimiter.bracket`,`@bracketCounting`],[/\}/,`delimiter.bracket`,`@pop`],{include:`common`}]}};export{t as conf,n as language};
|
||||
@@ -0,0 +1 @@
|
||||
import{nn as e,ui as t}from"./index-BLJOBTmm.js";var n=20,r=18e4,i=new Map,a=t(null);function o(){let e=n,t=e=>{window.$snackbar?.(e,`info`,{timeout:-1})};t(`正在通过 SSH 获取宝塔 API… 约 ${e} 秒`);let r=window.setInterval(()=>{if(--e,e<=0){t(`正在获取宝塔 API,请稍候…`);return}t(`正在通过 SSH 获取宝塔 API… 约 ${e} 秒`)},1e3);return()=>window.clearInterval(r)}function s(e,t,n){return new Promise((r,i)=>{let a=window.setTimeout(()=>i(Error(n)),t);e.then(e=>{window.clearTimeout(a),r(e)},e=>{window.clearTimeout(a),i(e)})})}async function c(t){return e(`/btpanel/servers/${t}/login-url`,{method:`POST`,body:`{}`})}function l(){async function e(e,t){a.value=e,window.$snackbar?.(`正在生成宝塔登录链接…`,`info`,{timeout:4e3});let n=i.get(e),l=!n;n||(n=(async()=>{let n=t?.needsBootstrap?o():void 0;try{return await s(c(e),r,`生成宝塔登录链接超时,请稍后重试`)}finally{n?.()}})(),i.set(e,n));try{let{url:e,bootstrapped:t}=await s(n,r,`生成宝塔登录链接超时,请稍后重试`);if(!e?.trim())throw Error(`未返回宝塔登录链接`);if(!l){window.$snackbar?.(`登录链接已在生成/打开中,请勿重复点击`,`info`);return}if(!window.open(e,`_blank`,`noopener,noreferrer`)){window.$snackbar?.(`浏览器拦截了弹窗,请允许本站弹窗后重试`,`warning`);return}window.$snackbar?.(t?`已获取宝塔 API 并打开登录链接(链接仅可用一次,请勿刷新登录页)`:`已打开宝塔登录链接(仅可用一次,请勿刷新登录页)`,`success`)}catch(e){l&&window.$snackbar?.(e instanceof Error?e.message:`生成宝塔登录链接失败`,`error`)}finally{i.get(e)===n&&i.delete(e),a.value===e&&(a.value=null)}}return{loadingId:a,openBtLogin:e,bootstrapEstimateSec:n}}export{l as t};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as e,t}from"./VSelect-Cbn9r5RK.js";import{Dr as n,Er as r,Fr as i,I as a,Jr as o,Lr as s,Nr as c,Or as l,Tr as u,Wr as d,Xr as f,_i as p,cn as m,h,jr as g,ln as _,qr as v,ri as y,ti as b,ui as x,v as S,wr as C,xi as w}from"./index-BLJOBTmm.js";import{T}from"./btpanel-VPU3jo35.js";var E=c({__name:`BtPanelServerPicker`,props:{modelValue:{},servers:{},loading:{type:Boolean}},emits:[`update:modelValue`],setup(e){let n=e,i=C(()=>n.servers.map(e=>({id:e.id,label:`${e.name} (${e.domain})`,hint:e.configured?`已配置宝塔 API`:`未配置 API(一键登录可走 SSH)`})));return(n,a)=>(v(),r(t,{"model-value":e.modelValue,items:i.value,"item-title":`label`,"item-value":`id`,label:`目标服务器`,density:`compact`,variant:`outlined`,"hide-details":``,class:`bt-panel-server-picker`,loading:e.loading,"onUpdate:modelValue":a[0]||=e=>n.$emit(`update:modelValue`,e)},{item:y(({props:e,item:t})=>[g(h,s(e,{subtitle:t.raw.hint}),null,16,[`subtitle`])]),_:1},8,[`model-value`,`items`,`loading`]))}}),D=Symbol(`btPanelContext`),O=`nexus_bt_panel_server_id`;function k(){let e=m(),t=_(),n=x([]),r=x(null),i=x(!1);async function a(){i.value=!0;try{n.value=await T()}finally{i.value=!1}}function o(){let t=e.query.server_id;if(t){let e=Number(t);if(Number.isFinite(e)&&e>0)return e}let n=sessionStorage.getItem(O);if(n){let e=Number(n);if(Number.isFinite(e)&&e>0)return e}return null}function s(n){r.value=n,n&&(sessionStorage.setItem(O,String(n)),e.query.server_id!==String(n)&&t.replace({query:{...e.query,server_id:String(n)}}).catch(()=>{}))}return b(n,e=>{if(!e.length)return;let t=o();if(t&&e.some(e=>e.id===t)){r.value=t;return}s(e.find(e=>e.configured)?.id??e[0].id)}),{servers:n,serverId:r,loading:i,loadServers:a,setServerId:s,selected:()=>n.value.find(e=>e.id===r.value)??null}}var A={class:`d-flex flex-wrap align-center ga-3 mb-4`},j={class:`text-h6 font-weight-bold`},M={key:0,class:`text-caption text-medium-emphasis mb-0`},N={style:{"min-width":`280px`,"max-width":`420px`,flex:`1`}},P=c({__name:`BtPanelPageShell`,props:{title:{},subtitle:{},requireServer:{type:Boolean,default:!0}},setup(t){let i=t,s=k(),{servers:c,serverId:m,loading:h,loadServers:_,setServerId:b,selected:x}=s;return o(D,s),d(()=>{_()}),(o,s)=>(v(),r(e,{fluid:``,class:`pa-6`},{default:y(()=>[u(`div`,A,[u(`div`,null,[u(`h1`,j,w(t.title),1),t.subtitle?(v(),l(`p`,M,w(t.subtitle),1)):n(``,!0)]),g(S),u(`div`,N,[g(E,{"model-value":p(m),servers:p(c),loading:p(h),"onUpdate:modelValue":p(b)},null,8,[`model-value`,`servers`,`loading`,`onUpdate:modelValue`])])]),i.requireServer&&!p(m)?(v(),r(a,{key:0,type:`info`,variant:`tonal`,class:`mb-4`,text:`请选择服务器`})):n(``,!0),f(o.$slots,`default`,{serverId:p(m),server:p(x)()})]),_:3}))}});function F(e){let t=i(D);if(!t)throw Error(`useBtPanelPageLoad must be used inside BtPanelPageShell`);async function n(){let n=t.serverId.value;n&&await e(n)}return d(()=>{n()}),b(t.serverId,()=>{n()}),{serverId:t.serverId,selected:t.selected,run:n}}export{P as n,F as t};
|
||||
@@ -0,0 +1 @@
|
||||
import{Wr as e,ui as t,zr as n}from"./index-BLJOBTmm.js";function r(r){let i=t(!1);e(async()=>{await r(!1),i.value=!0}),n(()=>{i.value&&r(!0)})}export{r as t};
|
||||
@@ -0,0 +1 @@
|
||||
import{Vr as e,Wr as t}from"./index-BLJOBTmm.js";function n(n,r,i={}){let{pauseWhenHidden:a=!0,immediate:o=!1}=i,s=null,c=!1,l=!1;function u(){let e=typeof r==`function`?r():r;return Math.max(1e3,e)}function d(){s&&=(clearTimeout(s),null)}function f(){d(),!c&&(s=setTimeout(()=>{p()},u()))}async function p(){if(!c){if(a&&document.visibilityState===`hidden`){f();return}if(l){f();return}l=!0;try{await n()}finally{l=!1,f()}}}function m(){c||!a||document.visibilityState===`visible`&&p()}return t(()=>{o?p():f(),a&&document.addEventListener(`visibilitychange`,m)}),e(()=>{c=!0,d(),a&&document.removeEventListener(`visibilitychange`,m)}),{refresh:p,stop:()=>{c=!0,d()}}}export{n as t};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{St as e,in as t,ui as n,xt as r}from"./index-BLJOBTmm.js";var i=[{id:`三方/四方`,label:`三方/四方`,members:[`三方`,`四方`]}],a=new Map(i.flatMap(e=>e.members.map(t=>[t,e.id]))),o=new Set(i.flatMap(e=>[...e.members]));function s(e){let t=e.trim();return t?a.get(t)??t:`uncategorized`}function c(e){if(e===`uncategorized`)return`未分类`;let t=i.find(t=>t.id===e);return t?t.label:e}function l(e){if(!e)return{};let t=i.find(t=>t.id===e);return t?{categories:[...t.members].join(`,`)}:{category:e}}function u(e){let t=new Map;for(let e of i)t.set(e.id,{name:e.id,label:e.label,count:0});for(let n of e)if(o.has(n.name)){let e=s(n.name),r=t.get(e);r&&(r.count+=n.count||0)}else t.set(n.name,{name:n.name,label:c(n.name),count:n.count});return[...t.values()].filter(e=>e.count>0).sort((e,t)=>e.name===`uncategorized`?1:t.name===`uncategorized`?-1:e.label.localeCompare(t.label,`zh`))}function d(e){let t={};for(let n of e){let e=s(n.category?.trim()||`uncategorized`);t[e]||(t[e]=[]),t[e].push(n)}return Object.entries(t).map(([e,t])=>({category:e,label:c(e),servers:t})).sort((e,t)=>e.category===`uncategorized`?1:t.category===`uncategorized`?-1:e.label.localeCompare(t.label,`zh`))}function f(){let i=n([]),a=n(!1),o=n(0);async function s(n=!1){n||(a.value=!0);try{let{data:n}=await e(r.serverCategories,()=>t.get(`/servers/categories`)),a=n.categories||[];o.value=a.reduce((e,t)=>e+(t.count||0),0),i.value=u(a)}catch{i.value=[],o.value=0}finally{n||(a.value=!1)}}return{categories:i,loading:a,totalCount:o,loadCategories:s}}export{f as a,d as i,c as n,l as r,i as t};
|
||||
@@ -0,0 +1 @@
|
||||
import{in as e,ui as t}from"./index-BLJOBTmm.js";import{t as n}from"./useSnackbar-u_XK4ZNm.js";import{t as r}from"./apiError-DBJO4IPD.js";function i(){let i=t([]),a=t(!1),o=n();async function s(t){a.value=!0;try{let n=t?.perPage??200;if(!t?.all){i.value=(await e.getList(`/servers/`,{per_page:n})).items;return}let r=[],a=1,o=1;do{let t=await e.get(`/servers/`,{page:a,per_page:n});r.push(...t.items||[]),o=t.pages??1,a+=1}while(a<=o);i.value=r}catch(e){i.value=[],o(r(e,`加载服务器列表失败`),`error`)}finally{a.value=!1}}return{servers:i,loading:a,loadServers:s}}export{i as t};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
|
||||
import{Dr as e,Er as t,Nr as n,Or as r,Rr as i,Zr as a,in as o,qr as s,ti as c,ui as l,wr as u,yi as d}from"./index-BLJOBTmm.js";import{t as f}from"./_plugin-vue_export-helper-BDNMzG2s.js";var p=new Set(`if.then.else.elif.fi.for.while.do.done.case.esac.in.function.return.break.continue.select.until.cd.ls.grep.egrep.fgrep.find.cat.chmod.chown.docker.podman.kubectl.apt.apt-get.yum.dnf.apk.pip.pip3.npm.npx.ssh.scp.rsync.curl.wget.tar.gzip.gunzip.kill.ps.top.htop.nano.vim.vi.journalctl.systemctl.service.supervisorctl.crontab.nginx.df.du.free.mount.uname.hostname.whoami.id.pwd.head.tail.wc.sort.uniq.awk.sed.cut.tr.xargs.tee.netstat.ss.ip.ping.dig.git.make.nohup.timeout.watch`.split(`.`)),m=new Set([`echo`,`printf`,`test`,`read`,`pushd`,`popd`,`exit`,`set`,`unset`,`export`,`source`,`alias`,`type`,`command`,`hash`,`help`,`history`]);function h(e){return e===`sudo`?`sudo`:p.has(e)?`keyword`:m.has(e)?`builtin`:/^[/~]/.test(e)||e.startsWith(`./`)||e.startsWith(`../`)?`path`:/^\d+(?:\.\d+)?$/.test(e)?`number`:`text`}function g(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(r===`#`){let r=n+1;for(;r<e.length&&e[r]!==`
|
||||
`;)r++;t.push({type:`comment`,value:e.slice(n,r)}),n=r;continue}if(r===`'`||r===`"`){let i=r,a=n+1;for(;a<e.length;){if(e[a]===`\\`&&i===`"`){a+=2;continue}if(e[a]===i){a++;break}a++}t.push({type:`string`,value:e.slice(n,a)}),n=a;continue}if(r==="`"){let r=n+1;for(;r<e.length&&e[r]!=="`";)r++;r<e.length&&r++,t.push({type:`backtick`,value:e.slice(n,r)}),n=r;continue}if(r===`$`){let r=n+1;if(e[r]===`{`){for(;r<e.length&&e[r]!==`}`;)r++;r<e.length&&r++}else if(e[r]===`(`)r++;else for(;r<e.length&&/[\w]/.test(e[r]);)r++;t.push({type:`variable`,value:e.slice(n,r)}),n=r;continue}if(r===`|`||r===`&`||r===`;`){let r=n;e[r]===`|`&&e[r+1]===`|`||e[r]===`&`&&e[r+1]===`&`?r+=2:r+=1;let i=e.slice(n,r);t.push({type:i===`|`||i===`||`?`pipe`:`operator`,value:i}),n=r;continue}if(r===`>`||r===`<`){let r=n;e[r]===`>`&&e[r+1]===`>`||e[r]===`<`&&e[r+1]===`<`?r+=2:r+=1,e[r]===`&`&&r++,t.push({type:`redirect`,value:e.slice(n,r)}),n=r;continue}if(/\s/.test(r)){let r=n;for(;r<e.length&&/\s/.test(e[r]);)r++;t.push({type:`text`,value:e.slice(n,r)}),n=r;continue}if(r===`-`&&e[n+1]===`-`){let r=n+2;for(;r<e.length&&/[\w-]/.test(e[r]);)r++;t.push({type:`flag`,value:e.slice(n,r)}),n=r;continue}if(r===`-`&&/[a-zA-Z]/.test(e[n+1]||``)){let r=n+1;for(;r<e.length&&/[a-zA-Z]/.test(e[r]);)r++;t.push({type:`flag`,value:e.slice(n,r)}),n=r;continue}let i=n;for(;i<e.length&&!/[\s#"'`$|;&<>]/.test(e[i]);)i++;let a=e.slice(n,i);t.push({type:h(a),value:a}),n=i}return t}function _(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`)}var v={keyword:`sh-keyword`,builtin:`sh-builtin`,sudo:`sh-sudo`,pipe:`sh-pipe`,operator:`sh-operator`,redirect:`sh-redirect`,string:`sh-string`,flag:`sh-flag`,variable:`sh-variable`,backtick:`sh-backtick`,comment:`sh-comment`,number:`sh-number`,path:`sh-path`,text:`sh-text`};function y(e){return e?g(e).map(e=>`<span class="${v[e.type]}">${_(e.value)}</span>`).join(``):``}var b=[`innerHTML`],x=f(n({__name:`ShellHighlightField`,props:{modelValue:{},placeholder:{default:``},disabled:{type:Boolean,default:!1},multiline:{type:Boolean,default:!1},rows:{default:3},size:{default:`default`}},emits:[`update:modelValue`,`keydown`],setup(n,{expose:o,emit:f}){let p=l(null),m=l(null),h=n,g=f,_=u(()=>y(h.modelValue));function v(){let e=p.value,t=m.value;!e||!t||!h.multiline||(t.scrollTop=e.scrollTop,t.scrollLeft=e.scrollLeft)}c(()=>h.modelValue,()=>{i(v)});function x(e){let t=e.target;g(`update:modelValue`,t.value),i(v)}function S(e){g(`keydown`,e)}function C(){return p.value}function w(){p.value?.focus()}function T(){let e=p.value;return e?e.value.substring(e.selectionStart??0,e.selectionEnd??0):``}function E(){let e=p.value;e&&(e.focus(),e.select())}async function D(e){let t=p.value;if(!t)return;let n=t.selectionStart??t.value.length,r=t.selectionEnd??n;g(`update:modelValue`,t.value.slice(0,n)+e+t.value.slice(r)),await i(),t.focus();let a=n+e.length;t.setSelectionRange(a,a)}return o({getInputEl:C,focusInput:w,getSelectionText:T,selectAllInput:E,insertAtSelection:D}),(i,o)=>(s(),r(`div`,{class:d([`sh-field position-relative`,{"sh-field--disabled":n.disabled,"sh-field--empty":!n.modelValue,"sh-field--large":n.size===`large`}])},[n.modelValue?(s(),r(`div`,{key:0,ref_key:`highlightRef`,ref:m,class:d([`sh-field__highlight font-mono`,n.multiline?`sh-field__highlight--multi`:`sh-field__highlight--single`]),"aria-hidden":`true`,innerHTML:_.value},null,10,b)):e(``,!0),(s(),t(a(n.multiline?`textarea`:`input`),{ref_key:`inputRef`,ref:p,value:n.modelValue,placeholder:n.placeholder,disabled:n.disabled,rows:n.multiline?n.rows:void 0,class:d([`sh-field__input font-mono`,n.multiline?`sh-field__input--multi`:`sh-field__input--single`]),spellcheck:`false`,autocomplete:`off`,onInput:x,onKeydown:S,onScroll:v},null,40,[`value`,`placeholder`,`disabled`,`rows`,`class`]))],2))}}),[[`__scopeId`,`data-v-2affb95a`]]);function S(e){return[...e].sort((e,t)=>e.is_builtin===t.is_builtin?e.sort_order===t.sort_order?e.id-t.id:e.sort_order-t.sort_order:e.is_builtin?1:-1)}function C(e){return e.replace(/[\r\n]+$/,``)+`\r`}function w(){let e=l([]),t=l(!1);async function n(){t.value=!0;try{e.value=S(await o.get(`/terminal/quick-commands`)||[])}catch{throw e.value=[],Error(`加载快捷命令失败`)}finally{t.value=!1}}async function r(e,t){await o.post(`/terminal/quick-commands`,{name:e.trim(),cmd:t.trim()}),await n()}async function i(e,t,r){await o.put(`/terminal/quick-commands/${e}`,{name:t.trim(),cmd:r.trim()}),await n()}async function a(e){await o.delete(`/terminal/quick-commands/${e}`),await n()}async function s(t){e.value=S((await o.put(`/terminal/quick-commands/reorder`,{ids:t})).items||[])}return{commands:e,loading:t,load:n,create:r,update:i,remove:a,reorder:s,customCommands:()=>e.value.filter(e=>!e.is_builtin),builtinCommands:()=>e.value.filter(e=>e.is_builtin)}}export{x as i,S as n,w as r,C as t};
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
import{p as e}from"./initMonaco-BlrdAkYv.js";var t={comments:{blockComment:[`<!--`,`-->`]},brackets:[[`<`,`>`]],autoClosingPairs:[{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`}],surroundingPairs:[{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`}],onEnterRules:[{beforeText:RegExp(`<([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:e.IndentAction.Indent}}]},n={defaultToken:``,tokenPostfix:`.xml`,ignoreCase:!0,qualifiedName:/(?:[\w\.\-]+:)?[\w\.\-]+/,tokenizer:{root:[[/[^<&]+/,``],{include:`@whitespace`},[/(<)(@qualifiedName)/,[{token:`delimiter`},{token:`tag`,next:`@tag`}]],[/(<\/)(@qualifiedName)(\s*)(>)/,[{token:`delimiter`},{token:`tag`},``,{token:`delimiter`}]],[/(<\?)(@qualifiedName)/,[{token:`delimiter`},{token:`metatag`,next:`@tag`}]],[/(<\!)(@qualifiedName)/,[{token:`delimiter`},{token:`metatag`,next:`@tag`}]],[/<\!\[CDATA\[/,{token:`delimiter.cdata`,next:`@cdata`}],[/&\w+;/,`string.escape`]],cdata:[[/[^\]]+/,``],[/\]\]>/,{token:`delimiter.cdata`,next:`@pop`}],[/\]/,``]],tag:[[/[ \t\r\n]+/,``],[/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/,[`attribute.name`,``,`attribute.value`]],[/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,[`attribute.name`,``,`attribute.value`]],[/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/,[`attribute.name`,``,`attribute.value`]],[/@qualifiedName/,`attribute.name`],[/\?>/,{token:`delimiter`,next:`@pop`}],[/(\/)(>)/,[{token:`tag`},{token:`delimiter`,next:`@pop`}]],[/>/,{token:`delimiter`,next:`@pop`}]],whitespace:[[/[ \t\r\n]+/,``],[/<!--/,{token:`comment`,next:`@comment`}]],comment:[[/[^<\-]+/,`comment.content`],[/-->/,{token:`comment`,next:`@pop`}],[/<!--/,`comment.content.invalid`],[/[<\-]/,`comment.content`]]}};export{t as conf,n as language};
|
||||
@@ -0,0 +1 @@
|
||||
import{p as e}from"./initMonaco-BlrdAkYv.js";var t={comments:{lineComment:`#`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:e.IndentAction.Indent}}]},n={tokenPostfix:`.yaml`,brackets:[{token:`delimiter.bracket`,open:`{`,close:`}`},{token:`delimiter.square`,open:`[`,close:`]`}],keywords:[`true`,`True`,`TRUE`,`false`,`False`,`FALSE`,`null`,`Null`,`Null`,`~`],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:`@whitespace`},{include:`@comment`},[/%[^ ]+.*$/,`meta.directive`],[/---/,`operators.directivesEnd`],[/\.{3}/,`operators.documentEnd`],[/[-?:](?= )/,`operators`],{include:`@anchor`},{include:`@tagHandle`},{include:`@flowCollections`},{include:`@blockStyle`},[/@numberInteger(?![ \t]*\S+)/,`number`],[/@numberFloat(?![ \t]*\S+)/,`number.float`],[/@numberOctal(?![ \t]*\S+)/,`number.octal`],[/@numberHex(?![ \t]*\S+)/,`number.hex`],[/@numberInfinity(?![ \t]*\S+)/,`number.infinity`],[/@numberNaN(?![ \t]*\S+)/,`number.nan`],[/@numberDate(?![ \t]*\S+)/,`number.date`],[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/,[`type`,`white`,`operators`,`white`]],{include:`@flowScalars`},[/.+?(?=(\s+#|$))/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],object:[{include:`@whitespace`},{include:`@comment`},[/\}/,`@brackets`,`@pop`],[/,/,`delimiter.comma`],[/:(?= )/,`operators`],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,`type`],{include:`@flowCollections`},{include:`@flowScalars`},{include:`@tagHandle`},{include:`@anchor`},{include:`@flowNumber`},[/[^\},]+/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],array:[{include:`@whitespace`},{include:`@comment`},[/\]/,`@brackets`,`@pop`],[/,/,`delimiter.comma`],{include:`@flowCollections`},{include:`@flowScalars`},{include:`@tagHandle`},{include:`@anchor`},{include:`@flowNumber`},[/[^\],]+/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],multiString:[[/^( +).+$/,`string`,`@multiStringContinued.$1`]],multiStringContinued:[[/^( *).+$/,{cases:{"$1==$S2":`string`,"@default":{token:`@rematch`,next:`@popall`}}}]],whitespace:[[/[ \t\r\n]+/,`white`]],comment:[[/#.*$/,`comment`]],flowCollections:[[/\[/,`@brackets`,`@array`],[/\{/,`@brackets`,`@object`]],flowScalars:[[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/'[^']*'/,`string`],[/"/,`string`,`@doubleQuotedString`]],doubleQuotedString:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]],blockStyle:[[/[>|][0-9]*[+-]?$/,`operators`,`@multiString`]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,`number`],[/@numberFloat(?=[ \t]*[,\]\}])/,`number.float`],[/@numberOctal(?=[ \t]*[,\]\}])/,`number.octal`],[/@numberHex(?=[ \t]*[,\]\}])/,`number.hex`],[/@numberInfinity(?=[ \t]*[,\]\}])/,`number.infinity`],[/@numberNaN(?=[ \t]*[,\]\}])/,`number.nan`],[/@numberDate(?=[ \t]*[,\]\}])/,`number.date`]],tagHandle:[[/\![^ ]*/,`tag`]],anchor:[[/[&*][^ ]+/,`namespace`]]}};export{t as conf,n as language};
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
<link rel="icon" href="/app/favicon.ico">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Nexus</title>
|
||||
<script type="module" crossorigin src="/app/assets/index-a0fi5f-0.js"></script>
|
||||
<script type="module" crossorigin src="/app/assets/index-BLJOBTmm.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/app/assets/chunk-DK3Fl9T5.js">
|
||||
<link rel="stylesheet" crossorigin href="/app/assets/index-BNJe_ogF.css">
|
||||
</head>
|
||||
|
||||
Reference in New Issue
Block a user