import{u as R}from"./system.js";import{c as r,I as x,r as j,o as W,a as Y,b as h,d as _,w as l,e as P,u as i,f,g as c,h as d,t as g,C as V,i as Z,j as K,E as tt,k as et}from"./index.js";import{D as nt}from"./DesktopOutlined.js";var rt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 512.3v-.3c0-229.8-186.2-416-416-416S96 282.2 96 512v.4c0 229.8 186.2 416 416 416s416-186.2 416-416v-.3.2zm-6.7-74.6l.6 3.3-.6-3.3zM676.7 638.2c53.5-82.2 52.5-189.4-11.1-263.7l162.4-8.4c20.5 44.4 32 93.8 32 145.9 0 185.2-144.6 336.6-327.1 347.4l143.8-221.2zM512 652.3c-77.5 0-140.2-62.7-140.2-140.2 0-77.7 62.7-140.2 140.2-140.2S652.2 434.5 652.2 512 589.5 652.3 512 652.3zm369.2-331.7l-3-5.7 3 5.7zM512 164c121.3 0 228.2 62.1 290.4 156.2l-263.6-13.9c-97.5-5.7-190.2 49.2-222.3 141.1L227.8 311c63.1-88.9 166.9-147 284.2-147zM102.5 585.8c26 145 127.1 264 261.6 315.1C229.6 850 128.5 731 102.5 585.8zM164 512c0-55.9 13.2-108.7 36.6-155.5l119.7 235.4c44.1 86.7 137.4 139.7 234 121.6l-74 145.1C302.9 842.5 164 693.5 164 512zm324.7 415.4c4 .2 8 .4 12 .5-4-.2-8-.3-12-.5z"}}]},name:"chrome",theme:"outlined"};function L(n){for(var t=1;t{const u=et();try{const a=await fetch("/admin/queue",{headers:u.getHeaders()});if(a.ok){const p=await a.json();s.value={processing:p.processing||0,waiting:p.waiting||0,total:p.total||0};const m=(p.processingTasks||[]).map(O=>({...O,status:"processing"})),w=(p.waitingTasks||[]).map(O=>({...O,status:"waiting"}));e.value=[...m,...w]}}catch(a){console.error("Fetch queue failed",a)}},B=async()=>{await Promise.all([t.fetchStatus(),t.fetchStats(),T()])},q=u=>{const a=Math.floor(u/86400),p=Math.floor(u%(3600*24)/3600),m=Math.floor(u%3600/60);return a>0?`${a}天 ${p}小时 ${m}分`:p>0?`${p}小时 ${m}分`:`${m}分`},U=u=>!u||u===0?"0 MB":u>1024?parseFloat((u/1024).toFixed(2))+" GB":parseFloat(Number(u).toFixed(2))+" MB",D=u=>u<50?"#52c41a":u<80?"#faad14":"#f5222d",N=u=>({normal:{color:"green",text:"正常模式 (Normal)"},headless:{color:"blue",text:"无头模式 (Headless)"},xvfb:{color:"purple",text:"虚拟显示 (Xvfb)"}})[u]||{color:"red",text:"未运行"};return W(()=>{B(),o.value=setInterval(B,5e3)}),Y(()=>{o.value&&clearInterval(o.value)}),(u,a)=>{const p=f("a-alert"),m=f("a-tag"),w=f("a-progress"),O=f("a-space"),z=f("a-card"),y=f("a-col"),b=f("a-statistic"),S=f("a-row"),G=f("a-list-item-meta"),Q=f("a-list-item"),X=f("a-list"),J=f("a-layout");return _(),h(J,{style:{width:"100%",background:"transparent"}},{default:l(()=>[i(t).safeMode?.enabled?(_(),h(p,{key:0,type:"error","show-icon":"",style:{"margin-bottom":"16px"},closable:""},{message:l(()=>[...a[0]||(a[0]=[c("span",{style:{"font-weight":"600"}},"⚠️ 安全模式",-1)])]),description:l(()=>[c("div",null,[a[2]||(a[2]=c("p",{style:{"margin-bottom":"8px"}}," 服务因初始化失败进入安全模式,OpenAI API 不可用。 ",-1)),c("p",pt,[a[1]||(a[1]=c("b",null,"原因:",-1)),d(g(i(t).safeMode.reason),1)]),a[3]||(a[3]=c("p",{style:{margin:"0"}}," 请前往「系统设置」修改正确的配置后重启服务。 ",-1))])]),_:1})):P("",!0),r(S,{gutter:[16,16],style:{"margin-bottom":"24px"}},{default:l(()=>[r(y,{xs:24,md:12},{default:l(()=>[r(z,{title:"系统状态",bordered:!1,style:{height:"100%"}},{default:l(()=>[r(O,{direction:"vertical",style:{width:"100%"},size:"middle"},{default:l(()=>[c("div",mt,[c("span",null,[r(i(nt)),a[4]||(a[4]=d(" 系统版本: ",-1))]),c("b",null,g(i(t).systemVersion),1)]),c("div",gt,[c("span",null,[r(i($)),a[5]||(a[5]=d(" 运行时间: ",-1))]),c("b",null,g(q(i(t).uptime)),1)]),c("div",yt,[c("span",null,[r(i(M)),a[6]||(a[6]=d(" 状态: ",-1))]),r(m,{color:N(i(t).status).color},{default:l(()=>[d(g(N(i(t).status).text),1)]),_:1},8,["color"])]),c("div",null,[c("div",vt,[c("span",null,[r(i(A)),a[7]||(a[7]=d(" CPU 使用率: ",-1))]),c("span",null,g(i(t).cpuUsage)+"%",1)]),r(w,{percent:i(t).cpuUsage,"stroke-color":D(i(t).cpuUsage),"show-info":!1},null,8,["percent","stroke-color"])]),c("div",null,[c("div",_t,[c("span",null,[r(i(k)),a[8]||(a[8]=d(" 内存使用: ",-1))]),c("span",null,g(U(i(t).memoryUsage.used))+" / "+g(U(i(t).memoryUsage.total)),1)]),r(w,{percent:Math.round(i(t).memoryUsage.used/i(t).memoryUsage.total*100)||0,"stroke-color":D(i(t).memoryUsage.used/i(t).memoryUsage.total*100),"show-info":!1},null,8,["percent","stroke-color"])])]),_:1})]),_:1})]),_:1}),r(y,{xs:24,md:12},{default:l(()=>[r(z,{title:"业务统计",bordered:!1,style:{height:"100%"}},{default:l(()=>[r(S,{gutter:16,style:{"margin-bottom":"24px"}},{default:l(()=>[r(y,{span:12},{default:l(()=>[r(b,{title:"窗口数量",value:i(t).stats.workers||0},{suffix:l(()=>[...a[9]||(a[9]=[c("span",{style:{"font-size":"14px",color:"#8c8c8c"}},"个",-1)])]),_:1},8,["value"])]),_:1}),r(y,{span:12},{default:l(()=>[r(b,{title:"实例数量",value:i(t).stats.instances||0},{suffix:l(()=>[...a[10]||(a[10]=[c("span",{style:{"font-size":"14px",color:"#8c8c8c"}},"个",-1)])]),_:1},8,["value"])]),_:1})]),_:1}),r(S,{gutter:16},{default:l(()=>[r(y,{span:12},{default:l(()=>[r(b,{title:"正在进行",value:s.value.processing},{suffix:l(()=>[c("span",bt,"/ "+g(s.value.total),1)]),_:1},8,["value"])]),_:1}),r(y,{span:12},{default:l(()=>[r(b,{title:"等待排队",value:s.value.waiting},{suffix:l(()=>[c("span",ht,"/ "+g(s.value.total),1)]),_:1},8,["value"])]),_:1})]),_:1}),r(S,{gutter:16,style:{"margin-top":"16px"}},{default:l(()=>[r(y,{span:12},{default:l(()=>[r(b,{title:"今日成功",value:i(t).stats.success||0},{prefix:l(()=>[r(i(V),{style:{color:"#52c41a"}})]),_:1},8,["value"])]),_:1}),r(y,{span:12},{default:l(()=>[r(b,{title:"今日失败",value:i(t).stats.failed||0},{prefix:l(()=>[r(i(Z),{style:{color:"#ff4d4f"}})]),_:1},8,["value"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),r(z,{title:"任务队列实时监控",bordered:!1,style:{width:"100%"},bodyStyle:{padding:"0 24px"}},{extra:l(()=>[c("div",Ot,[r(i(C),{spin:!0,style:{"margin-right":"4px"}}),a[11]||(a[11]=d(" 实时刷新中 ",-1))])]),default:l(()=>[r(X,{"item-layout":"horizontal","data-source":e.value},{renderItem:l(({item:v})=>[r(Q,null,{default:l(()=>[r(G,{description:`ID: ${v.id}`},{title:l(()=>[c("span",xt,g(v.model),1),v.worker?(_(),h(m,{key:0,color:"blue"},{default:l(()=>[d(g(v.worker),1)]),_:2},1024)):P("",!0)]),_:2},1032,["description"]),c("div",null,[v.status==="processing"?(_(),h(m,{key:0,color:"processing"},{icon:l(()=>[r(i(C),{spin:!0})]),default:l(()=>[a[12]||(a[12]=d(" 进行中 ",-1))]),_:1})):v.status==="waiting"?(_(),h(m,{key:1,color:"warning"},{icon:l(()=>[r(i(tt))]),default:l(()=>[a[13]||(a[13]=d(" 等待中 ",-1))]),_:1})):v.status==="success"?(_(),h(m,{key:2,color:"success"},{icon:l(()=>[r(i(V))]),default:l(()=>[a[14]||(a[14]=d(" 已完成 ",-1))]),_:1})):P("",!0)])]),_:2},1024)]),default:l(()=>[e.value.length===0?(_(),K("div",wt," 暂无任务 ")):P("",!0)]),_:1},8,["data-source"])]),_:1})]),_:1})}}};export{zt as default};