2 lines
8.2 KiB
JavaScript
2 lines
8.2 KiB
JavaScript
import{f as L,a as F,b as j,c as E,g as k}from"./taskSource-B7bFDyX8.js";import{_ as O,r as v,y as $,o as R,z as Z,j as G,e as H,c as i,a as s,b as a,t as e,w as o,d as b,g as u,l as q,F as z,s as C,A as h,h as w,B as T}from"./index-DMMQbxWA.js";const J={class:"page-stack"},K={class:"app-page-title"},Q={class:"app-muted"},W={class:"metric-value"},X={class:"metric-value"},Y={class:"metric-value"},ss={class:"metric-value"},ts={key:0,class:"metric-sub app-muted"},es={class:"section-head"},as={class:"app-muted"},os={class:"count-value"},ls={class:"count-value"},ns={class:"count-value"},ds={key:0,class:"empty app-muted"},is={key:1,class:"task-list"},us={class:"task-left"},cs={class:"task-line"},rs={class:"task-user"},_s={class:"task-account"},ps={class:"task-line2"},ms={key:0,class:"app-muted"},vs={class:"task-right"},fs={key:2,class:"empty app-muted"},ys={key:3,class:"task-list"},gs={class:"task-left"},ks={class:"task-line"},bs={class:"task-user"},hs={class:"task-account"},ws={class:"task-line2"},xs={class:"task-status",style:{color:"#f59e0b"}},Ss={class:"task-right warn"},Ns={class:"section-head"},As={class:"app-muted"},Ds={class:"stat-grid"},$s={class:"stat-box ok"},qs={class:"stat-row"},zs={class:"stat-big"},Cs={class:"stat-row2 app-muted"},Ts={class:"stat-box err"},Bs={class:"stat-row"},Us={class:"stat-big"},Is={class:"stat-row2 app-muted"},Ms={class:"stat-box info"},Ps={class:"stat-row"},Vs={class:"stat-big"},Ls={class:"stat-row2 app-muted"},Fs={class:"stat-box info2"},js={class:"stat-row"},Es={class:"stat-big"},Os={class:"stat-row2 app-muted"},Rs={__name:"StatsPage",setup(Zs){const N=v(!0),f=v(""),_=v({cpu_percent:"-",memory_used:"-",memory_total:"-",disk_used:"-",disk_total:"-",uptime:"-"}),p=v({status:"Unknown",memory_usage:"N/A",memory_limit:"N/A",memory_percent:"N/A",uptime:"N/A"}),c=v({today:{success_tasks:0,failed_tasks:0,total_items:0,total_attachments:0},total:{success_tasks:0,failed_tasks:0,total_items:0,total_attachments:0}}),r=v({running_count:0,queuing_count:0,max_concurrent:0,running:[],queuing:[]}),B={初始化:"#6b7280",正在登录:"#f59e0b",正在浏览:"#10b981",浏览完成:"#3b82f6",正在截图:"#06b6d4"};function A(m){return B[m]||"#6b7280"}const U=$(()=>`${_.value.memory_used} / ${_.value.memory_total}`),I=$(()=>`${_.value.disk_used} / ${_.value.disk_total}`);let y=!1,x=null;function M(){try{f.value=new Date().toLocaleTimeString("zh-CN",{hour12:!1,timeZone:"Asia/Shanghai"})}catch{f.value=""}}async function P(){try{const[m,t,n,d]=await Promise.all([L(),F(),j(),E()]);_.value=m||_.value,p.value=t||p.value,c.value=n||c.value,r.value=d||r.value,M()}catch{}finally{N.value=!1}}async function D(){if(y)return;const m=Date.now();if(await P(),y)return;const t=Date.now()-m;x=window.setTimeout(D,t<900?1e3:0)}return R(()=>{y=!1,D()}),Z(()=>{y=!0,x&&window.clearTimeout(x)}),(m,t)=>{const n=b("el-card"),d=b("el-col"),S=b("el-row"),g=b("el-tag"),V=H("loading");return G((u(),i("div",J,[s("div",K,[t[0]||(t[0]=s("h2",null,"统计",-1)),s("span",Q,e(f.value?`最后更新:${f.value}`:"实时更新"),1)]),a(S,{gutter:12},{default:o(()=>[a(d,{xs:12,sm:8,md:6},{default:o(()=>[a(n,{shadow:"never",class:"metric-card","body-style":{padding:"14px"}},{default:o(()=>[t[1]||(t[1]=s("div",{class:"metric-label"},"CPU",-1)),s("div",W,e(_.value.cpu_percent)+"%",1)]),_:1})]),_:1}),a(d,{xs:12,sm:8,md:6},{default:o(()=>[a(n,{shadow:"never",class:"metric-card","body-style":{padding:"14px"}},{default:o(()=>[t[2]||(t[2]=s("div",{class:"metric-label"},"内存",-1)),s("div",X,e(U.value),1)]),_:1})]),_:1}),a(d,{xs:12,sm:8,md:6},{default:o(()=>[a(n,{shadow:"never",class:"metric-card","body-style":{padding:"14px"}},{default:o(()=>[t[3]||(t[3]=s("div",{class:"metric-label"},"磁盘",-1)),s("div",Y,e(I.value),1)]),_:1})]),_:1}),a(d,{xs:12,sm:8,md:6},{default:o(()=>[a(n,{shadow:"never",class:"metric-card","body-style":{padding:"14px"}},{default:o(()=>[t[4]||(t[4]=s("div",{class:"metric-label"},"容器内存",-1)),s("div",ss,e(p.value.memory_limit!=="N/A"?`${p.value.memory_usage} / ${p.value.memory_limit}`:p.value.memory_usage),1),p.value.memory_percent!=="N/A"?(u(),i("div",ts,e(p.value.memory_percent),1)):q("",!0)]),_:1})]),_:1})]),_:1}),a(S,{gutter:12},{default:o(()=>[a(d,{xs:24,md:14},{default:o(()=>[a(n,{shadow:"never",class:"card","body-style":{padding:"16px"}},{default:o(()=>[s("div",es,[t[5]||(t[5]=s("h3",{class:"section-title"},"实时监控",-1)),s("span",as,"最大并发:"+e(r.value.max_concurrent),1)]),a(S,{gutter:12,class:"count-row"},{default:o(()=>[a(d,{span:8},{default:o(()=>[a(n,{shadow:"never",class:"count-card ok","body-style":{padding:"12px"}},{default:o(()=>[s("div",os,e(r.value.running_count),1),t[6]||(t[6]=s("div",{class:"count-label"},"运行中",-1))]),_:1})]),_:1}),a(d,{span:8},{default:o(()=>[a(n,{shadow:"never",class:"count-card warn","body-style":{padding:"12px"}},{default:o(()=>[s("div",ls,e(r.value.queuing_count),1),t[7]||(t[7]=s("div",{class:"count-label"},"排队中",-1))]),_:1})]),_:1}),a(d,{span:8},{default:o(()=>[a(n,{shadow:"never",class:"count-card","body-style":{padding:"12px"}},{default:o(()=>[s("div",ns,e(r.value.max_concurrent),1),t[8]||(t[8]=s("div",{class:"count-label"},"并发上限",-1))]),_:1})]),_:1})]),_:1}),t[12]||(t[12]=s("div",{class:"sub-title"},"运行中任务",-1)),r.value.running.length===0?(u(),i("div",ds,"暂无运行中的任务")):(u(),i("div",is,[(u(!0),i(z,null,C(r.value.running,l=>(u(),i("div",{key:`r-${l.account_id}`,class:"task-item"},[s("div",us,[s("div",cs,[a(g,{type:h(k)(l.source).type,effect:"light",size:"small"},{default:o(()=>[w(e(h(k)(l.source).label),1)]),_:2},1032,["type"]),s("span",rs,e(l.user_username),1),t[9]||(t[9]=s("span",{class:"app-muted"},"→",-1)),s("span",_s,e(l.username),1),a(g,{effect:"plain",size:"small"},{default:o(()=>[w(e(l.browse_type),1)]),_:2},1024)]),s("div",ps,[s("span",{class:"dot",style:T({background:A(l.detail_status)})},null,4),s("span",{class:"task-status",style:T({color:A(l.detail_status)})},e(l.detail_status),5),l.progress_items||l.progress_attachments?(u(),i("span",ms,"内容/附件:"+e(l.progress_items)+" / "+e(l.progress_attachments),1)):q("",!0)])]),s("div",vs,e(l.elapsed_display),1)]))),128))])),t[13]||(t[13]=s("div",{class:"sub-title"},"排队中任务",-1)),r.value.queuing.length===0?(u(),i("div",fs,"暂无排队中的任务")):(u(),i("div",ys,[(u(!0),i(z,null,C(r.value.queuing,l=>(u(),i("div",{key:`q-${l.account_id}`,class:"task-item queue"},[s("div",gs,[s("div",ks,[a(g,{type:h(k)(l.source).type,effect:"light",size:"small"},{default:o(()=>[w(e(h(k)(l.source).label),1)]),_:2},1032,["type"]),s("span",bs,e(l.user_username),1),t[10]||(t[10]=s("span",{class:"app-muted"},"→",-1)),s("span",hs,e(l.username),1),a(g,{effect:"plain",size:"small"},{default:o(()=>[w(e(l.browse_type),1)]),_:2},1024)]),s("div",ws,[t[11]||(t[11]=s("span",{class:"dot",style:{background:"#f59e0b"}},null,-1)),s("span",xs,e(l.detail_status||"等待资源"),1)])]),s("div",Ss,e(l.elapsed_display),1)]))),128))]))]),_:1})]),_:1}),a(d,{xs:24,md:10},{default:o(()=>[a(n,{shadow:"never",class:"card","body-style":{padding:"16px"}},{default:o(()=>[s("div",Ns,[t[14]||(t[14]=s("h3",{class:"section-title"},"任务统计",-1)),s("span",As,"运行:"+e(_.value.uptime),1)]),s("div",Ds,[s("div",$s,[t[16]||(t[16]=s("div",{class:"stat-name"},"成功任务",-1)),s("div",qs,[s("span",zs,e(c.value.today.success_tasks),1),t[15]||(t[15]=s("span",{class:"app-muted"},"今日",-1))]),s("div",Cs,"累计:"+e(c.value.total.success_tasks),1)]),s("div",Ts,[t[18]||(t[18]=s("div",{class:"stat-name"},"失败任务",-1)),s("div",Bs,[s("span",Us,e(c.value.today.failed_tasks),1),t[17]||(t[17]=s("span",{class:"app-muted"},"今日",-1))]),s("div",Is,"累计:"+e(c.value.total.failed_tasks),1)]),s("div",Ms,[t[20]||(t[20]=s("div",{class:"stat-name"},"浏览内容",-1)),s("div",Ps,[s("span",Vs,e(c.value.today.total_items),1),t[19]||(t[19]=s("span",{class:"app-muted"},"今日",-1))]),s("div",Ls,"累计:"+e(c.value.total.total_items),1)]),s("div",Fs,[t[22]||(t[22]=s("div",{class:"stat-name"},"查看附件",-1)),s("div",js,[s("span",Es,e(c.value.today.total_attachments),1),t[21]||(t[21]=s("span",{class:"app-muted"},"今日",-1))]),s("div",Os,"累计:"+e(c.value.total.total_attachments),1)])])]),_:1})]),_:1})]),_:1})])),[[V,N.value]])}}},Js=O(Rs,[["__scopeId","data-v-84b6799b"]]);export{Js as default};
|