mirror of
https://github.com/foxhui/WebAI2API.git
synced 2026-06-16 21:03:59 +08:00
2 lines
14 KiB
JavaScript
2 lines
14 KiB
JavaScript
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<arguments.length;t++){var e=arguments[t]!=null?Object(arguments[t]):{},o=Object.keys(e);typeof Object.getOwnPropertySymbols=="function"&&(o=o.concat(Object.getOwnPropertySymbols(e).filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable}))),o.forEach(function(s){at(n,s,e[s])})}return n}function at(n,t,e){return t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}var M=function(t,e){var o=L({},t,e.attrs);return r(x,L({},o,{icon:rt}),null)};M.displayName="ChromeOutlined";M.inheritAttrs=!1;var lt={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M945 412H689c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h256c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM811 548H689c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h122c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM477.3 322.5H434c-6.2 0-11.2 5-11.2 11.2v248c0 3.6 1.7 6.9 4.6 9l148.9 108.6c5 3.6 12 2.6 15.6-2.4l25.7-35.1v-.1c3.6-5 2.5-12-2.5-15.6l-126.7-91.6V333.7c.1-6.2-5-11.2-11.1-11.2z"}},{tag:"path",attrs:{d:"M804.8 673.9H747c-5.6 0-10.9 2.9-13.9 7.7a321 321 0 01-44.5 55.7 317.17 317.17 0 01-101.3 68.3c-39.3 16.6-81 25-124 25-43.1 0-84.8-8.4-124-25-37.9-16-72-39-101.3-68.3s-52.3-63.4-68.3-101.3c-16.6-39.2-25-80.9-25-124 0-43.1 8.4-84.7 25-124 16-37.9 39-72 68.3-101.3 29.3-29.3 63.4-52.3 101.3-68.3 39.2-16.6 81-25 124-25 43.1 0 84.8 8.4 124 25 37.9 16 72 39 101.3 68.3a321 321 0 0144.5 55.7c3 4.8 8.3 7.7 13.9 7.7h57.8c6.9 0 11.3-7.2 8.2-13.3-65.2-129.7-197.4-214-345-215.7-216.1-2.7-395.6 174.2-396 390.1C71.6 727.5 246.9 903 463.2 903c149.5 0 283.9-84.6 349.8-215.8a9.18 9.18 0 00-8.2-13.3z"}}]},name:"field-time",theme:"outlined"};function F(n){for(var t=1;t<arguments.length;t++){var e=arguments[t]!=null?Object(arguments[t]):{},o=Object.keys(e);typeof Object.getOwnPropertySymbols=="function"&&(o=o.concat(Object.getOwnPropertySymbols(e).filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable}))),o.forEach(function(s){ot(n,s,e[s])})}return n}function ot(n,t,e){return t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}var $=function(t,e){var o=F({},t,e.attrs);return r(x,F({},o,{icon:lt}),null)};$.displayName="FieldTimeOutlined";$.inheritAttrs=!1;var st={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM305.8 637.7c3.1 3.1 8.1 3.1 11.3 0l138.3-137.6L583 628.5c3.1 3.1 8.2 3.1 11.3 0l275.4-275.3c3.1-3.1 3.1-8.2 0-11.3l-39.6-39.6a8.03 8.03 0 00-11.3 0l-230 229.9L461.4 404a8.03 8.03 0 00-11.3 0L266.3 586.7a8.03 8.03 0 000 11.3l39.5 39.7z"}}]},name:"line-chart",theme:"outlined"};function E(n){for(var t=1;t<arguments.length;t++){var e=arguments[t]!=null?Object(arguments[t]):{},o=Object.keys(e);typeof Object.getOwnPropertySymbols=="function"&&(o=o.concat(Object.getOwnPropertySymbols(e).filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable}))),o.forEach(function(s){it(n,s,e[s])})}return n}function it(n,t,e){return t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}var A=function(t,e){var o=E({},t,e.attrs);return r(x,E({},o,{icon:st}),null)};A.displayName="LineChartOutlined";A.inheritAttrs=!1;var ct={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M864 518H506V160c0-4.4-3.6-8-8-8h-26a398.46 398.46 0 00-282.8 117.1 398.19 398.19 0 00-85.7 127.1A397.61 397.61 0 0072 552a398.46 398.46 0 00117.1 282.8c36.7 36.7 79.5 65.6 127.1 85.7A397.61 397.61 0 00472 952a398.46 398.46 0 00282.8-117.1c36.7-36.7 65.6-79.5 85.7-127.1A397.61 397.61 0 00872 552v-26c0-4.4-3.6-8-8-8zM705.7 787.8A331.59 331.59 0 01470.4 884c-88.1-.4-170.9-34.9-233.2-97.2C174.5 724.1 140 640.7 140 552c0-88.7 34.5-172.1 97.2-234.8 54.6-54.6 124.9-87.9 200.8-95.5V586h364.3c-7.7 76.3-41.3 147-96.6 201.8zM952 462.4l-2.6-28.2c-8.5-92.1-49.4-179-115.2-244.6A399.4 399.4 0 00589 74.6L560.7 72c-4.7-.4-8.7 3.2-8.7 7.9V464c0 4.4 3.6 8 8 8l384-1c4.7 0 8.4-4 8-8.6zm-332.2-58.2V147.6a332.24 332.24 0 01166.4 89.8c45.7 45.6 77 103.6 90 166.1l-256.4.7z"}}]},name:"pie-chart",theme:"outlined"};function H(n){for(var t=1;t<arguments.length;t++){var e=arguments[t]!=null?Object(arguments[t]):{},o=Object.keys(e);typeof Object.getOwnPropertySymbols=="function"&&(o=o.concat(Object.getOwnPropertySymbols(e).filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable}))),o.forEach(function(s){ut(n,s,e[s])})}return n}function ut(n,t,e){return t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}var k=function(t,e){var o=H({},t,e.attrs);return r(x,H({},o,{icon:ct}),null)};k.displayName="PieChartOutlined";k.inheritAttrs=!1;var ft={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M168 504.2c1-43.7 10-86.1 26.9-126 17.3-41 42.1-77.7 73.7-109.4S337 212.3 378 195c42.4-17.9 87.4-27 133.9-27s91.5 9.1 133.8 27A341.5 341.5 0 01755 268.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.7 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c0-6.7-7.7-10.5-12.9-6.3l-56.4 44.1C765.8 155.1 646.2 92 511.8 92 282.7 92 96.3 275.6 92 503.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8zm756 7.8h-60c-4.4 0-7.9 3.5-8 7.8-1 43.7-10 86.1-26.9 126-17.3 41-42.1 77.8-73.7 109.4A342.45 342.45 0 01512.1 856a342.24 342.24 0 01-243.2-100.8c-9.9-9.9-19.2-20.4-27.8-31.4l60.2-47a8 8 0 00-3-14.1l-175.7-43c-5-1.2-9.9 2.6-9.9 7.7l-.7 181c0 6.7 7.7 10.5 12.9 6.3l56.4-44.1C258.2 868.9 377.8 932 512.2 932c229.2 0 415.5-183.7 419.8-411.8a8 8 0 00-8-8.2z"}}]},name:"sync",theme:"outlined"};function I(n){for(var t=1;t<arguments.length;t++){var e=arguments[t]!=null?Object(arguments[t]):{},o=Object.keys(e);typeof Object.getOwnPropertySymbols=="function"&&(o=o.concat(Object.getOwnPropertySymbols(e).filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable}))),o.forEach(function(s){dt(n,s,e[s])})}return n}function dt(n,t,e){return t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}var C=function(t,e){var o=I({},t,e.attrs);return r(x,I({},o,{icon:ft}),null)};C.displayName="SyncOutlined";C.inheritAttrs=!1;const pt={style:{"margin-bottom":"8px",color:"#cf1322"}},mt={style:{display:"flex","justify-content":"space-between"}},gt={style:{display:"flex","justify-content":"space-between"}},yt={style:{display:"flex","justify-content":"space-between"}},vt={style:{display:"flex","justify-content":"space-between","margin-bottom":"4px"}},_t={style:{display:"flex","justify-content":"space-between","margin-bottom":"4px"}},bt={style:{"font-size":"14px",color:"#8c8c8c"}},ht={style:{"font-size":"14px",color:"#8c8c8c"}},Ot={style:{color:"#8c8c8c","font-size":"12px"}},xt={style:{"font-weight":"500","margin-right":"8px"}},wt={key:0,style:{"text-align":"center",padding:"24px",color:"#8c8c8c"}},zt={__name:"dash",setup(n){const t=R(),e=j([]),o=j(null),s=j({processing:0,waiting:0,total:0}),T=async()=>{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};
|