import{af as e,a1 as a,a2 as l,y as t,U as s,V as n,d as o,_ as i,k as r,m as c,a as d,a$ as u,x as m,z as p,A as h,t as f,ae as _,P as v}from"./element-plus.ea_38_Np.js";import{a4 as y,_ as g}from"./index.Dwded2Oo.js";import{i as b}from"./echarts.CTMg_hlN.js";import{M as j,aD as w,aI as k,aZ as x,a_ as C,aL as $,u as z,I as K,bJ as V,v as R,H as I,bb as F,bk as U,bL as q,s as A,aU as B,as as D}from"./@vue.DbmRtknU.js";import"./lodash-es.DaM9m3L-.js";import"./async-validator.j0i5Y79Y.js";import"./@popperjs.DxtSUbXb.js";import"./@ctrl.BEgk5vdO.js";import"./dayjs.DCWbrgJ0.js";import"./memoize-one.BAtLgO95.js";import"./normalize-wheel-es.TzhA1irr.js";import"./@floating-ui.8vigAAFV.js";import"./pinia.BlfmsheH.js";import"./@vueuse.Dnsd2JKX.js";import"./vue-i18n.DXLOBfKS.js";import"./@intlify.DPMNdUn_.js";import"./nprogress.BTjJXJ-u.js";import"./codemirror.CYSLATvI.js";import"./diff-match-patch.DkK4wJpa.js";import"./vue-web-terminal.D-rog7dz.js";import"./vue.MGxsMDTR.js";/* empty css */import"./vue-router.yxIMtaxH.js";import"./axios.Da-QW0H8.js";import"./qs.BQjOrGHM.js";import"./side-channel.4q28KFJj.js";import"./es-errors.DTEWvbA_.js";import"./object-inspect.DvQZIv3_.js";import"./side-channel-list.Do0-XmF5.js";import"./side-channel-map.DNHQ53lO.js";import"./get-intrinsic.Bbe5x-9b.js";import"./es-object-atoms.CyiuHMUS.js";import"./math-intrinsics.pM-JTNwN.js";import"./gopd.BudZp56J.js";import"./es-define-property.F0aoeP8o.js";import"./has-symbols.BcO-SUVM.js";import"./get-proto.Cb_fpw-j.js";import"./dunder-proto.WEH3rgQR.js";import"./call-bind-apply-helpers.DJjIjCF_.js";import"./function-bind.DrnB-baK.js";import"./hasown.BXcyoiLU.js";import"./call-bound.22gFUC2Q.js";import"./side-channel-weakmap.DpSeWE6i.js";import"./pinia-plugin-persistedstate.COWkwNh5.js";import"./tslib.ZseNXxlj.js";import"./zrender.CxgQliU5.js";const N="/monitor/cache",O={getCacheInfo:()=>y({url:`${N}/info`,method:"get"}),getCacheNames:()=>y({url:`${N}/get/names`,method:"get"}),getCacheKeys:e=>y({url:`${N}/get/keys/${e}`,method:"get"}),getCacheValue:(e,a)=>y({url:`${N}/get/value/${e}/${a}`,method:"get"}),deleteCacheName:e=>y({url:`${N}/delete/name/${e}`,method:"delete"}),deleteCacheKey:e=>y({url:`${N}/delete/key/${e}`,method:"delete"}),deleteCacheAll:()=>y({url:`${N}/delete/all`,method:"delete"})},P={class:"app-container"},T={class:"monitor-tab"},L={class:"flex items-center gap-2"},E={class:"flex items-center gap-2"},H={class:"flex items-center gap-2"},J={class:"cache-mgmt-tab"},M={class:"flex justify-between items-center"},Q={class:"flex items-center gap-2"},S={class:"flex justify-between items-center"},G={class:"flex items-center gap-2"},Z={class:"flex justify-between items-center"},W={class:"flex items-center gap-2"},X=g(j({__name:"index",setup(y){const g=B([]),j=B([]),N=B(!0),X=B(!1),Y=B(""),ee=B(null),ae=B(null),le=B({info:{},command_stats:[],db_size:0}),te=B({cache_name:"",cache_key:"",cache_value:""});let se=null,ne=null;const oe=async()=>{try{N.value=!0;const e=await O.getCacheNames();g.value=e.data.data,j.value=[],te.value={cache_name:"",cache_key:"",cache_value:""}}catch(e){}finally{N.value=!1}},ie=()=>{oe()},re=async e=>{try{const a=(null==e?void 0:e.cache_name)||Y.value;if(!a)return;X.value=!0;const l=await O.getCacheKeys(a);j.value=l.data.data,Y.value=a,te.value={cache_name:a,cache_key:"",cache_value:""}}catch(a){}finally{X.value=!1}},ce=()=>{re()};const de=async()=>{v.confirm("确定要清理全部缓存吗?","危险!",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(async()=>await O.deleteCacheAll()).then(()=>{oe()}).catch(e=>{})},ue=()=>{var e;if(!ee.value||!ae.value)return;se=b(ee.value,"macarons"),ne=b(ae.value,"macarons");const a={tooltip:{trigger:"item",formatter:"{a}
{b} : {c} ({d}%)"},series:[{name:"命令",type:"pie",roseType:"radius",radius:[15,95],center:["50%","38%"],data:le.value.command_stats||[],animationEasing:"cubicInOut",animationDuration:1e3}]},l=(null==(e=le.value.info)?void 0:e.used_memory_human)||"0",t={tooltip:{formatter:`{b}
{a} : ${l}`},series:[{name:"峰值",type:"gauge",min:0,max:1e3,detail:{formatter:l},data:[{value:parseFloat(l)||0,name:"内存消耗"}]}]};se.setOption(a),ne.setOption(t),D(()=>{null==se||se.resize(),null==ne||ne.resize()})};return w(()=>{oe(),(async()=>{try{N.value=!0;const e=await O.getCacheInfo();le.value=e.data.data||{info:{},command_stats:[],dbSize:0},ue()}catch(e){}finally{N.value=!1}})()}),k(()=>{null==se||se.dispose(),null==ne||ne.dispose()}),(v,y)=>{const b=x("Monitor"),w=o,k=x("QuestionFilled"),B=i,D=n,se=s,ne=t,oe=l,ue=a,me=x("Stopwatch"),pe=e,he=x("Tickets"),fe=d,_e=m,ve=c,ye=u,ge=r,be=x("Key"),je=f,we=h,ke=p,xe=_,Ce=C("hasPerm");return $(),z("div",P,[K(xe,{type:"border-card",class:"cache-page-tabs"},{default:V(()=>[K(pe,{class:"monitor",label:"监控信息"},{default:V(()=>[R("div",T,[K(ue,{gutter:16},{default:V(()=>[K(oe,{span:24},{default:V(()=>[K(ne,{shadow:"hover"},{header:V(()=>[R("div",L,[K(w,null,{default:V(()=>[K(b)]),_:1}),y[3]||(y[3]=R("span",null,"Redis监控信息",-1)),K(B,{content:"展示Redis监控信息详情"},{default:V(()=>[K(w,null,{default:V(()=>[K(k)]),_:1})]),_:1})])]),default:V(()=>[K(se,{column:12,border:"",direction:"vertical"},{default:V(()=>[K(D,{label:"Redis版本"},{default:V(()=>{var e;return[I(F((null==(e=U(le).info)?void 0:e.redis_version)||"-"),1)]}),_:1}),K(D,{label:"运行模式"},{default:V(()=>{var e;return[I(F("standalone"===(null==(e=U(le).info)?void 0:e.redis_mode)?"单机":"集群"),1)]}),_:1}),K(D,{label:"端口"},{default:V(()=>{var e;return[I(F((null==(e=U(le).info)?void 0:e.tcp_port)||"-"),1)]}),_:1}),K(D,{label:"客户端数"},{default:V(()=>{var e;return[I(F((null==(e=U(le).info)?void 0:e.connected_clients)||0),1)]}),_:1}),K(D,{label:"运行时间(天)"},{default:V(()=>{var e;return[I(F((null==(e=U(le).info)?void 0:e.uptime_in_days)||0),1)]}),_:1}),K(D,{label:"使用内存"},{default:V(()=>{var e;return[I(F((null==(e=U(le).info)?void 0:e.used_memory_human)||"-"),1)]}),_:1}),K(D,{label:"使用CPU"},{default:V(()=>{var e;return[I(F((null==(e=U(le).info)?void 0:e.used_cpu_user_children)?parseFloat(U(le).info.used_cpu_user_children).toFixed(2):"-"),1)]}),_:1}),K(D,{label:"内存配置"},{default:V(()=>{var e;return[I(F((null==(e=U(le).info)?void 0:e.maxmemory_human)||"-"),1)]}),_:1}),K(D,{label:"AOF是否开启"},{default:V(()=>{var e;return[I(F("0"===(null==(e=U(le).info)?void 0:e.aof_enabled)?"否":"是"),1)]}),_:1}),K(D,{label:"RDB是否成功"},{default:V(()=>{var e;return[I(F((null==(e=U(le).info)?void 0:e.rdb_last_bgsave_status)||"-"),1)]}),_:1}),K(D,{label:"Key数量"},{default:V(()=>[I(F(U(le).db_size||0),1)]),_:1}),K(D,{label:"网络入口/出口"},{default:V(()=>{var e,a;return[I(F(`${(null==(e=U(le).info)?void 0:e.instantaneous_input_kbps)||0}kps/${(null==(a=U(le).info)?void 0:a.instantaneous_output_kbps)||0}kps`),1)]}),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),K(ue,{gutter:16,class:"monitor-charts-row"},{default:V(()=>[K(oe,{span:12,class:"cache-chart-col"},{default:V(()=>[K(ne,{shadow:"hover",class:"cache-chart-card"},{header:V(()=>[R("div",E,[K(w,null,{default:V(()=>[K(me)]),_:1}),y[4]||(y[4]=R("span",{class:"title"},"命令统计",-1)),K(B,{content:"展示命令统计详情"},{default:V(()=>[K(w,null,{default:V(()=>[K(k)]),_:1})]),_:1})])]),default:V(()=>[R("div",{ref_key:"commandstats",ref:ee,class:"chart-container"},null,512)]),_:1})]),_:1}),K(oe,{span:12,class:"cache-chart-col"},{default:V(()=>[K(ne,{shadow:"hover",class:"cache-chart-card"},{header:V(()=>[R("div",H,[K(w,null,{default:V(()=>[K(me)]),_:1}),y[5]||(y[5]=R("span",null,"内存信息",-1)),K(B,{content:"展示内存信息详情"},{default:V(()=>[K(w,null,{default:V(()=>[K(k)]),_:1})]),_:1})])]),default:V(()=>[R("div",{ref_key:"usedmemory",ref:ae,class:"chart-container"},null,512)]),_:1})]),_:1})]),_:1})])]),_:1}),K(pe,{class:"cache",label:"缓存管理"},{default:V(()=>[R("div",J,[K(ue,{gutter:16,class:"cache-mgmt-row"},{default:V(()=>[K(oe,{span:8,class:"cache-mgmt-col"},{default:V(()=>[K(ne,{loading:U(N),shadow:"hover",class:"cache-mgmt-card"},{header:V(()=>[R("div",M,[R("div",Q,[K(w,null,{default:V(()=>[K(he)]),_:1}),y[6]||(y[6]=R("span",{class:"flex items-center gap-2"},"缓存列表",-1)),K(B,{content:"展示缓存列表详情"},{default:V(()=>[K(w,null,{default:V(()=>[K(k)]),_:1})]),_:1})]),R("div",null,[q(K(fe,{type:"primary",link:"",icon:"RefreshRight",onClick:ie},null,512),[[Ce,["module_monitor:cache:query"]]])])])]),default:V(()=>[K(ge,{loading:U(N),data:U(g),"row-key":"cache_name",height:"100%",border:"",stripe:""},{empty:V(()=>[K(_e,{"image-size":80,description:"暂无数据"})]),default:V(()=>[K(ve,{prop:"cache_name",label:"缓存名称","show-overflow-tooltip":""},{default:V(({row:e})=>[q(($(),A(fe,{type:"primary",link:"",onClick:a=>re(e)},{default:V(()=>[I(F(e.cache_name),1)]),_:2},1032,["onClick"])),[[Ce,["module_monitor:cache:query"]]])]),_:1}),K(ve,{prop:"remark",label:"备注","show-overflow-tooltip":""}),K(ve,{label:"操作",width:"60",align:"center"},{default:V(({row:e})=>[K(ye,{class:"box-item",title:`确认删除缓存 ${e.cache_name} 吗?`,placement:"top",onConfirm:a=>(async e=>{try{await O.deleteCacheName(e.cache_name),ie()}catch(a){}})(e)},{reference:V(()=>[q(K(fe,{type:"danger",size:"small",link:"",icon:"delete"},null,512),[[Ce,["module_monitor:cache:delete"]]])]),_:1},8,["title","onConfirm"])]),_:1})]),_:1},8,["loading","data"])]),_:1},8,["loading"])]),_:1}),K(oe,{span:8,class:"cache-mgmt-col"},{default:V(()=>[K(ne,{loading:U(N),shadow:"hover",class:"cache-mgmt-card"},{header:V(()=>[R("div",S,[R("div",G,[K(w,null,{default:V(()=>[K(be)]),_:1}),y[7]||(y[7]=R("span",{class:"flex items-center gap-2"},"键名列表",-1)),K(B,{content:"展示键名列表详情"},{default:V(()=>[K(w,null,{default:V(()=>[K(k)]),_:1})]),_:1})]),R("div",null,[q(K(fe,{type:"primary",link:"",icon:"RefreshRight",onClick:ce},null,512),[[Ce,["module_monitor:cache:query"]]])])])]),default:V(()=>[K(ge,{loading:U(X),data:U(j).map(e=>({cacheKey:e})),height:"100%","row-key":"cacheKey",border:""},{empty:V(()=>[K(_e,{"image-size":80,description:"暂无数据"})]),default:V(()=>[K(ve,{prop:"cacheKey",label:"缓存键名","show-overflow-tooltip":""},{default:V(({row:e})=>[q(($(),A(fe,{type:"primary",link:"",onClick:a=>async function(e){try{N.value=!0;const a=await O.getCacheValue(Y.value,e);te.value=a.data.data}catch(a){}finally{N.value=!1}}(e.cacheKey)},{default:V(()=>[I(F(e.cacheKey),1)]),_:2},1032,["onClick"])),[[Ce,["module_monitor:cache:detail"]]])]),_:1}),K(ve,{label:"操作",width:"60",align:"center"},{default:V(({row:e})=>[K(ye,{class:"box-item",title:`确认删除键 ${e.cacheKey} 吗?`,placement:"top",onConfirm:a=>async function(e){try{await O.deleteCacheKey(e),re()}catch(a){}}(e.cacheKey)},{reference:V(()=>[q(K(fe,{type:"danger",size:"small",link:"",icon:"delete"},null,512),[[Ce,["module_monitor:cache:delete"]]])]),_:1},8,["title","onConfirm"])]),_:1})]),_:1},8,["loading","data"])]),_:1},8,["loading"])]),_:1}),K(oe,{span:8},{default:V(()=>[K(ne,{loading:U(N),shadow:"hover"},{header:V(()=>[R("div",Z,[R("div",W,[K(w,null,{default:V(()=>[K(be)]),_:1}),y[8]||(y[8]=R("span",{class:"flex items-center gap-2"},"缓存内容",-1)),K(B,{content:"展示缓存内容详情"},{default:V(()=>[K(w,null,{default:V(()=>[K(k)]),_:1})]),_:1})]),R("div",null,[q(($(),A(fe,{type:"danger",link:"",icon:"delete",onClick:de},{default:V(()=>[...y[9]||(y[9]=[I(" 清理全部 ",-1)])]),_:1})),[[Ce,["module_monitor:cache:delete"]]])])])]),default:V(()=>[K(ke,{model:U(te),"label-suffix":":","label-width":"auto","label-position":"top"},{default:V(()=>[K(we,{label:"缓存名称"},{default:V(()=>[K(je,{modelValue:U(te).cache_name,"onUpdate:modelValue":y[0]||(y[0]=e=>U(te).cache_name=e),readonly:"",placeholder:"缓存名称"},null,8,["modelValue"])]),_:1}),K(we,{label:"缓存键名"},{default:V(()=>[K(je,{modelValue:U(te).cache_key,"onUpdate:modelValue":y[1]||(y[1]=e=>U(te).cache_key=e),readonly:"",placeholder:"缓存键名"},null,8,["modelValue"])]),_:1}),K(we,{label:"缓存内容"},{default:V(()=>[K(je,{modelValue:U(te).cache_value,"onUpdate:modelValue":y[2]||(y[2]=e=>U(te).cache_value=e),type:"textarea",rows:20,readonly:"",placeholder:"缓存内容"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["loading"])]),_:1})]),_:1})])]),_:1})]),_:1})])}}}),[["__scopeId","data-v-991bb462"]]);export{X as default};