File: /www/server/panel/BTPanel/static/js/index522.js
import{c as k,g as b,e,x as i,z as h,J as N,I as R,aA as S,ay as d,aW as T,G as y,a8 as L,j as A,k as I,q as j,p as q}from"./base-lib.js?v=1777008528";import{M as F,gT as G,e as O,_ as P,w as V,k as M,eb as z,gU as Q,gV as U,fj as W,X as H,cZ as J}from"./utils-lib.js?v=1777008528";import{g as E}from"./form-item.js?v=1777008528";import{u as w,h as C,f as X}from"./index75.js?v=1777008528";import"./__commonjsHelpers__.js?v=1777008528";import"./index119.js?v=1777008528";import"./index118.js?v=1777008528";import"./index3.js?v=1777008528";import"./index116.js?v=1777008528";import"./useController13.js?v=1777008528";import"./site.js?v=1777008528";import"./useStore2.js?v=1777008528";const{redisGroupDetail:B,isRedisRefreshList:Z}=w(),D=async n=>{const{row:s,slaveListLoad:r,api:p,loadingText:u,needConfirm:l,confirmOptions:o}=n,a=s.data.node_id,t=B.value.group_info.group_id;try{l&&o&&await V(o),await M({loading:u,request:p({group_id:t,slave_node_id:a}),message:!0,success:async m=>{r.value=!0;const{data:c}=await z({group_id:t});B.value.slave_details=c.data.slave_details,r.value=!1,Z.value=!0}})}catch(m){}},$=async n=>{var p;const s=(p=n.group_info)==null?void 0:p.group_id,r=F.load("正在获取可用从节点,请稍后...");try{const{data:u}=await G();u.status||F.error(u.msg||"获取可用节点数据失败!");const l=u.data.filter(o=>o.group_info===null);O({title:"添加从节点",area:50,btn:["添加从节点","取消"],component:()=>P(()=>import("./add-slave-node.js?v=1777008528"),__vite__mapDeps([]),import.meta.url),compData:{group_id:s,nodes:l||[]}})}catch(u){}finally{r==null||r.close()}},K=(n,s)=>D({row:n,slaveListLoad:s,api:Q,loadingText:"正在移除从节点,请稍后...",needConfirm:!0,confirmOptions:{icon:"warning-filled",title:"移除从节点",content:"即将移除该从节点,是否继续操作?"}}),Y=(n,s)=>D({row:n,slaveListLoad:s,api:U,loadingText:"正在重连,请稍后..."}),ee={class:"p-[2rem] redis-mgt-group-page"},ae=k({__name:"index",setup(n){const{redisGroupDetail:s,slaveListLoad:r}=w(),p=b(()=>{var m,c,f,v,g,x,_;const l=((c=(m=s.value)==null?void 0:m.master_detail)==null?void 0:c.data)||{},o=l.memory||{},a=l.performance||{},t=e("span",{class:"text-tertiary"},[i("...")]);return[{label:"节点地址",value:(f=l.address)!=null?f:t},{label:"Redis版本",value:(v=l.redis_version)!=null?v:t},{label:"运行天数",value:W(l.uptime_days)?t:l.uptime_days+"天"},{label:"内存使用",value:(g=o.used_memory_human)!=null?g:t},{label:"当前QPS",value:(x=a.qps)!=null?x:t},{label:"连接数",value:(_=l.connected_slaves)!=null?_:t}]}),{BtForm:u}=H({data:s.value,options:l=>b(()=>[E("",()=>e("div",{class:"w-full mb-[32px]"},[e("div",{class:"flex items-center mb-[20px]"},[e("span",{class:"text-base mr-[1rem]"},[i("基本信息")]),e(h,{disabled:r.value,type:"default",class:"!h-[28px] !text-small",onClick:()=>C(s,"master")},{default:()=>[i("查看详细信息")]})]),e("div",{class:"grid grid-cols-2 gap-x-[24px] gap-y-[12px] text-secondary"},[p.value.map(o=>e("div",{class:"flex justify-between items-center bg-lighter rounded-medium px-[16px] py-[8px]"},[e("span",{class:"font-bold w-[90px] flex-shrink-0"},[o.label]),e("span",{class:"flex-1 text-right"},[o.value])]))])]),"base_info"),E("",()=>{var o;return e("div",{class:"w-full"},[e("div",{class:"flex items-center mb-[12px]"},[e("span",{class:"text-base"},[i("从节点列表")]),e(h,{type:"primary",class:"ml-auto !h-[28px] !px-[12px] !text-small",onClick:()=>$(s.value)},{default:()=>[i("添加从节点")]})]),N(e(S,{data:s.value.slave_details,"table-layout":"auto",height:((o=s.value.slave_details)==null?void 0:o.length)>10?"40rem":"auto",class:"w-full"},{default:()=>[e(d,{prop:"server_ip",label:"地址","min-width":"140"},{default:({row:a})=>e("span",{class:"text-small"},[a.data.server_ip])}),e(d,{prop:"status",label:"状态",width:"80"},{default:({row:a})=>a.data.status==="online"?e("span",{class:"bg-[var(--el-color-success-light-8)] text-primary px-[8px] py-[2px] rounded"},[i("在线")]):e("span",{class:"bg-light text-danger cursor-pointer px-[8px] py-[2px] rounded"},[i("离线"),e(T,{content:a.data.replication.error,placement:"top"},{default:()=>[e("span",{class:"ml-4px bt-ico-ask"},[i("?")])]})])}),e(d,{prop:"health_score",label:"健康度",width:"80"},{default:({row:a})=>{const t=a.data.health_score||0,c=a.data.status==="online"?"var(--el-color-primary)":"var(--el-color-danger)";return e("span",{style:{display:"inline-flex",alignItems:"center"}},[e("span",{style:{display:"inline-flex",justifyContent:"center",alignItems:"center",width:"40px",height:"40px",borderRadius:"50%",background:c,color:"var(--el-color-white)",fontWeight:700,fontSize:"12px",marginRight:"4px",transition:"background 0.2s"}},[t,i("%")])])}}),e(d,{prop:"memory",label:"内存",width:"60"},{default:({row:a})=>X(a.data.memory.usage_percent)}),e(d,{prop:"qps",label:"QPS",width:"80"},{default:({row:a})=>a.data.performance.qps||"--"}),e(d,{prop:"lag",label:"延迟(秒)",width:"80"},{default:({row:a})=>a.data.replication.lag||"--"}),e(d,{prop:"delay",label:"偏移量",width:"80"},{default:({row:a})=>a.data.replication.repl_offset||"--"}),e(d,{align:"right",label:"操作",width:"140"},{default:({$index:a,row:t})=>e("div",{class:"flex items-center justify-end"},[t.data.status==="offline"&&e("span",null,[e("span",{class:"bt-link",onClick:()=>Y(t,r)},[i("重启")]),e(y,{direction:"vertical"},null)]),e("span",{class:"bt-link",onClick:()=>C(t,"slave")},[i("详情")]),t.data.status==="online"&&e("span",null,[e(y,{direction:"vertical"},null),e("span",{class:"bt-link",onClick:()=>K(t,r)},[i("移除")])])])})]}),[[R("bt-loading"),r.value]])])},"slave_table")])});return L(()=>{s.value={},r.value=!0}),(l,o)=>(A(),I("div",ee,[j("div",null,[e(q(u))])]))}}),fe=J(ae,[["__scopeId","data-v-f6121d5a"]]);export{fe as default};
function __vite__mapDeps(indexes) {
if (!__vite__mapDeps.viteFileDeps) {
__vite__mapDeps.viteFileDeps = []
}
return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
}