0b2d7ac50d
脚本 exec 立即返回 running 并在后台跑批次;/ws/alerts 推送 script_progress/complete; 新增 ScriptRunsPage、Telegram 汇总通知与可配置的浏览器完成提示音。 Co-authored-by: Cursor <cursoragent@cursor.com>
1 line
2.9 KiB
JavaScript
1 line
2.9 KiB
JavaScript
import{n as e,t}from"./VRow-ECYmMAi9.js";import{$n as n,Fr as r,Gr as i,Or as a,R as o,U as s,Ur as c,ar as l,cr as u,lr as d,nr as f,rr as p,ut as m,vr as h,xr as g,yr as _,z as v}from"./index-B-qGIXx8.js";import{n as y}from"./paginatedFetch-DryevgFY.js";import{t as b}from"./_plugin-vue_export-helper-BDNMzG2s.js";var x={status:`status`,name:`name`,domain:`domain`,address:`domain`,category:`category`,target_path:`target_path`,agent_version:`agent_version`,agent:`agent_version`,last_heartbeat:`heartbeat`,heartbeat:`heartbeat`};function S(e){if(!e.length)return{};let t=x[e[0].key];return t?{sort_by:t,sort_order:e[0].order}:{}}function C(){let e=r([]),t=r(!1),n=r(1),i=r(20),a=r(0),o=r(``),s=r(``),c=r([]);async function l(){t.value=!0;try{let t=await y(`/servers/`,{search:o.value||void 0,category:s.value||void 0,...S(c.value)},n.value,i.value);e.value=t.items,a.value=t.total,i.value===-1&&(n.value=1)}catch(t){throw e.value=[],a.value=0,t}finally{t.value=!1}}let u;h(()=>clearTimeout(u));function d(){clearTimeout(u),u=setTimeout(()=>{n.value=1,l()},300)}function f(e){n.value=e,l()}function p(e){i.value=e,n.value=1,l()}function m(e){s.value=e,n.value=1,l()}function g(e){c.value=e,n.value=1,l()}async function _(){return(await y(`/servers/`,{search:o.value||void 0,category:s.value||void 0,...S(c.value)},1,-1)).items}return{servers:e,loading:t,page:n,itemsPerPage:i,total:a,search:o,categoryFilter:s,sortBy:c,loadServers:l,onSearch:d,onPageChange:f,onItemsPerPageChange:p,onCategoryChange:m,onSortByChange:g,loadAllServers:_}}function w(e){switch(e){case`online`:return`success`;case`offline`:return`error`;default:return`warning`}}function T(e){switch(e){case`online`:return`在线`;case`offline`:return`离线`;default:return`未知`}}function E(e){if(!e)return`—`;let t=new Date(e);if(isNaN(t.getTime()))return`—`;let n=Date.now()-t.getTime();return n<6e4?`刚刚`:n<36e5?`${Math.floor(n/6e4)} 分钟前`:n<864e5?`${Math.floor(n/36e5)} 小时前`:`${Math.floor(n/864e5)} 天前`}var D={class:`text-caption text-medium-emphasis mb-1`,style:{"font-size":`14px`,"letter-spacing":`0.5px`,"text-transform":`uppercase`}},O=b(d({__name:`StatCardsRow`,props:{items:{}},setup(r){return(d,h)=>(_(),p(t,null,{default:a(()=>[(_(!0),l(n,null,g(r.items,(t,n)=>(_(),p(e,{key:n,cols:`6`,sm:`3`},{default:a(()=>[u(o,{elevation:`0`,rounded:`xl`,border:``,class:`stat-card`},{default:a(()=>[u(v,{class:`pa-4 d-flex align-center justify-space-between`},{default:a(()=>[f(`div`,null,[f(`div`,D,i(t.subtitle),1),f(`div`,{class:c([`font-weight-bold`,`text-`+t.color]),style:{"font-size":`36px`,"line-height":`1.1`}},i(t.title),3)]),u(s,{color:t.color,size:`48`,rounded:`lg`,class:`stat-icon`},{default:a(()=>[u(m,{icon:t.icon,size:`24`,color:`white`},null,8,[`icon`])]),_:2},1032,[`color`])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}))}}),[[`__scopeId`,`data-v-68b984da`]]);export{C as a,T as i,E as n,w as r,O as t}; |