import{a6 as e,U as a,V as l,T as t,a3 as n,a4 as o,i as d,l as s,al as u,am as c,h as i,aS as r,u as m,w as f,x as _,y as h,a5 as p,D as v}from"./element-plus.BQf8a6uP.js";import{l as y}from"./index.DW5SWAAE.js";import{i as g}from"./echarts.CmH5SDQe.js";import{J as b,t as w,ah as k,aO as x,aP as C,S as $,_ as K,$ as V,a0 as j,a9 as R,aa as z,o as T,a1 as F,a6 as O,T as U,r as I}from"./.pnpm.BudmgPu7.js";import{_ as N}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./codemirror.BdleaLZh.js";const S="/monitor/cache",q={getCacheInfo:()=>y({url:`${S}/info`,method:"get"}),getCacheNames:()=>y({url:`${S}/get/names`,method:"get"}),getCacheKeys:e=>y({url:`${S}/get/keys/${e}`,method:"get"}),getCacheValue:(e,a)=>y({url:`${S}/get/value/${e}/${a}`,method:"get"}),deleteCacheName:e=>y({url:`${S}/delete/name/${e}`,method:"delete"}),deleteCacheKey:e=>y({url:`${S}/delete/key/${e}`,method:"delete"}),deleteCacheAll:()=>y({url:`${S}/delete/all`,method:"delete"})},A={class:"app-container"},B={class:"flex items-center gap-2"},D={class:"flex items-center gap-2"},P={class:"flex items-center gap-2"},E={class:"flex justify-between items-center"},J={class:"flex items-center gap-2"},M={class:"flex justify-between items-center"},Q={class:"flex items-center gap-2"},G={class:"flex justify-between items-center"},H={class:"flex items-center gap-2"},L=N(b({__name:"index",setup(y){const b=I([]),N=I([]),S=I(!0),L=I(!1),W=I(""),X=I(null),Y=I(null),Z=I({info:{},command_stats:[],db_size:0}),ee=I({cache_name:"",cache_key:"",cache_value:""});let ae=null,le=null;const te=async()=>{try{S.value=!0;const e=await q.getCacheNames();b.value=e.data.data,N.value=[],ee.value={cache_name:"",cache_key:"",cache_value:""}}catch(e){}finally{S.value=!1}},ne=()=>{te()},oe=async e=>{try{const a=(null==e?void 0:e.cache_name)||W.value;if(!a)return;L.value=!0;const l=await q.getCacheKeys(a);N.value=l.data.data,W.value=a,ee.value={cache_name:a,cache_key:"",cache_value:""}}catch(a){}finally{L.value=!1}},de=()=>{oe()};const se=async()=>{v.confirm("确定要清理全部缓存吗?","危险!",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(async()=>await q.deleteCacheAll()).then(()=>{te()}).catch(e=>{})},ue=()=>{var e;if(!X.value||!Y.value)return;ae=g(X.value,"macarons"),le=g(Y.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:Z.value.command_stats||[],animationEasing:"cubicInOut",animationDuration:1e3}]},l=(null==(e=Z.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:"内存消耗"}]}]};ae.setOption(a),le.setOption(t)};return w(()=>{te(),(async()=>{try{S.value=!0;const e=await q.getCacheInfo();Z.value=e.data.data||{info:{},command_stats:[],dbSize:0},ue()}catch(e){}finally{S.value=!1}})()}),k(()=>{null==ae||ae.dispose(),null==le||le.dispose()}),(v,y)=>{const g=x("Monitor"),w=d,k=x("QuestionFilled"),I=s,ae=o,le=n,te=t,ue=l,ce=x("Stopwatch"),ie=a,re=e,me=x("Tickets"),fe=i,_e=m,he=c,pe=r,ve=u,ye=x("Key"),ge=h,be=_,we=f,ke=p,xe=C("hasPerm");return $(),K("div",A,[V(ke,{type:"border-card"},{default:j(()=>[V(re,{class:"monitor",label:"监控信息"},{default:j(()=>[V(ie,{gutter:16},{default:j(()=>[V(ue,{span:24},{default:j(()=>[V(te,{shadow:"hover"},{header:j(()=>[F("div",B,[V(w,null,{default:j(()=>[V(g)]),_:1}),y[3]||(y[3]=F("span",null,"Redis监控信息",-1)),V(I,{content:"展示Redis监控信息详情"},{default:j(()=>[V(w,null,{default:j(()=>[V(k)]),_:1})]),_:1})])]),default:j(()=>[V(le,{column:12,border:"",direction:"vertical"},{default:j(()=>[V(ae,{label:"Redis版本"},{default:j(()=>{var e;return[R(z((null==(e=T(Z).info)?void 0:e.redis_version)||"-"),1)]}),_:1}),V(ae,{label:"运行模式"},{default:j(()=>{var e;return[R(z("standalone"===(null==(e=T(Z).info)?void 0:e.redis_mode)?"单机":"集群"),1)]}),_:1}),V(ae,{label:"端口"},{default:j(()=>{var e;return[R(z((null==(e=T(Z).info)?void 0:e.tcp_port)||"-"),1)]}),_:1}),V(ae,{label:"客户端数"},{default:j(()=>{var e;return[R(z((null==(e=T(Z).info)?void 0:e.connected_clients)||0),1)]}),_:1}),V(ae,{label:"运行时间(天)"},{default:j(()=>{var e;return[R(z((null==(e=T(Z).info)?void 0:e.uptime_in_days)||0),1)]}),_:1}),V(ae,{label:"使用内存"},{default:j(()=>{var e;return[R(z((null==(e=T(Z).info)?void 0:e.used_memory_human)||"-"),1)]}),_:1}),V(ae,{label:"使用CPU"},{default:j(()=>{var e;return[R(z((null==(e=T(Z).info)?void 0:e.used_cpu_user_children)?parseFloat(T(Z).info.used_cpu_user_children).toFixed(2):"-"),1)]}),_:1}),V(ae,{label:"内存配置"},{default:j(()=>{var e;return[R(z((null==(e=T(Z).info)?void 0:e.maxmemory_human)||"-"),1)]}),_:1}),V(ae,{label:"AOF是否开启"},{default:j(()=>{var e;return[R(z("0"===(null==(e=T(Z).info)?void 0:e.aof_enabled)?"否":"是"),1)]}),_:1}),V(ae,{label:"RDB是否成功"},{default:j(()=>{var e;return[R(z((null==(e=T(Z).info)?void 0:e.rdb_last_bgsave_status)||"-"),1)]}),_:1}),V(ae,{label:"Key数量"},{default:j(()=>[R(z(T(Z).db_size||0),1)]),_:1}),V(ae,{label:"网络入口/出口"},{default:j(()=>{var e,a;return[R(z(`${(null==(e=T(Z).info)?void 0:e.instantaneous_input_kbps)||0}kps/${(null==(a=T(Z).info)?void 0:a.instantaneous_output_kbps)||0}kps`),1)]}),_:1})]),_:1})]),_:1})]),_:1}),V(ue,{span:12,class:"mt-4"},{default:j(()=>[V(te,{shadow:"hover"},{header:j(()=>[F("div",D,[V(w,null,{default:j(()=>[V(ce)]),_:1}),y[4]||(y[4]=F("span",{class:"title"},"命令统计",-1)),V(I,{content:"展示命令统计详情"},{default:j(()=>[V(w,null,{default:j(()=>[V(k)]),_:1})]),_:1})])]),default:j(()=>[F("div",{ref_key:"commandstats",ref:X,class:"chart-container"},null,512)]),_:1})]),_:1}),V(ue,{span:12,class:"mt-4"},{default:j(()=>[V(te,{shadow:"hover"},{header:j(()=>[F("div",P,[V(w,null,{default:j(()=>[V(ce)]),_:1}),y[5]||(y[5]=F("span",null,"内存信息",-1)),V(I,{content:"展示内存信息详情"},{default:j(()=>[V(w,null,{default:j(()=>[V(k)]),_:1})]),_:1})])]),default:j(()=>[F("div",{ref_key:"usedmemory",ref:Y,class:"chart-container"},null,512)]),_:1})]),_:1})]),_:1})]),_:1}),V(re,{class:"cache",label:"缓存管理"},{default:j(()=>[V(ie,{gutter:16},{default:j(()=>[V(ue,{span:8},{default:j(()=>[V(te,{loading:T(S),shadow:"hover"},{header:j(()=>[F("div",E,[F("div",J,[V(w,null,{default:j(()=>[V(me)]),_:1}),y[6]||(y[6]=F("span",{class:"flex items-center gap-2"},"缓存列表",-1)),V(I,{content:"展示缓存列表详情"},{default:j(()=>[V(w,null,{default:j(()=>[V(k)]),_:1})]),_:1})]),F("div",null,[O(V(fe,{type:"primary",link:"",icon:"RefreshRight",onClick:ne},null,512),[[xe,["module_monitor:cache:query"]]])])])]),default:j(()=>[V(ve,{loading:T(S),data:T(b),"row-key":"cache_name",height:"600",border:""},{empty:j(()=>[V(_e,{"image-size":80,description:"暂无数据"})]),default:j(()=>[V(he,{prop:"cache_name",label:"缓存名称","show-overflow-tooltip":""},{default:j(({row:e})=>[O(($(),U(fe,{type:"primary",link:"",onClick:a=>oe(e)},{default:j(()=>[R(z(e.cache_name),1)]),_:2},1032,["onClick"])),[[xe,["module_monitor:cache:query"]]])]),_:1}),V(he,{prop:"remark",label:"备注","show-overflow-tooltip":""}),V(he,{label:"操作",width:"60",align:"center"},{default:j(({row:e})=>[V(pe,{class:"box-item",title:`确认删除缓存 ${e.cache_name} 吗?`,placement:"top",onConfirm:a=>(async e=>{try{await q.deleteCacheName(e.cache_name),ne()}catch(a){}})(e)},{reference:j(()=>[O(V(fe,{type:"danger",size:"small",link:"",icon:"delete"},null,512),[[xe,["module_monitor:cache:delete"]]])]),_:1},8,["title","onConfirm"])]),_:1})]),_:1},8,["loading","data"])]),_:1},8,["loading"])]),_:1}),V(ue,{span:8},{default:j(()=>[V(te,{loading:T(S),shadow:"hover"},{header:j(()=>[F("div",M,[F("div",Q,[V(w,null,{default:j(()=>[V(ye)]),_:1}),y[7]||(y[7]=F("span",{class:"flex items-center gap-2"},"键名列表",-1)),V(I,{content:"展示键名列表详情"},{default:j(()=>[V(w,null,{default:j(()=>[V(k)]),_:1})]),_:1})]),F("div",null,[O(V(fe,{type:"primary",link:"",icon:"RefreshRight",onClick:de},null,512),[[xe,["module_monitor:cache:query"]]])])])]),default:j(()=>[V(ve,{loading:T(L),data:T(N).map(e=>({cacheKey:e})),height:"600","row-key":"cacheKey",border:""},{empty:j(()=>[V(_e,{"image-size":80,description:"暂无数据"})]),default:j(()=>[V(he,{prop:"cacheKey",label:"缓存键名","show-overflow-tooltip":""},{default:j(({row:e})=>[O(($(),U(fe,{type:"primary",link:"",onClick:a=>async function(e){try{S.value=!0;const a=await q.getCacheValue(W.value,e);ee.value=a.data.data}catch(a){}finally{S.value=!1}}(e.cacheKey)},{default:j(()=>[R(z(e.cacheKey),1)]),_:2},1032,["onClick"])),[[xe,["module_monitor:cache:detail"]]])]),_:1}),V(he,{label:"操作",width:"60",align:"center"},{default:j(({row:e})=>[V(pe,{class:"box-item",title:`确认删除键 ${e.cacheKey} 吗?`,placement:"top",onConfirm:a=>async function(e){try{await q.deleteCacheKey(e),oe()}catch(a){}}(e.cacheKey)},{reference:j(()=>[O(V(fe,{type:"danger",size:"small",link:"",icon:"delete"},null,512),[[xe,["module_monitor:cache:delete"]]])]),_:1},8,["title","onConfirm"])]),_:1})]),_:1},8,["loading","data"])]),_:1},8,["loading"])]),_:1}),V(ue,{span:8},{default:j(()=>[V(te,{loading:T(S),shadow:"hover"},{header:j(()=>[F("div",G,[F("div",H,[V(w,null,{default:j(()=>[V(ye)]),_:1}),y[8]||(y[8]=F("span",{class:"flex items-center gap-2"},"缓存内容",-1)),V(I,{content:"展示缓存内容详情"},{default:j(()=>[V(w,null,{default:j(()=>[V(k)]),_:1})]),_:1})]),F("div",null,[O(($(),U(fe,{type:"danger",link:"",icon:"delete",onClick:se},{default:j(()=>[...y[9]||(y[9]=[R(" 清理全部 ",-1)])]),_:1})),[[xe,["module_monitor:cache:delete"]]])])])]),default:j(()=>[V(we,{model:T(ee),"label-suffix":":","label-width":"auto","label-position":"top"},{default:j(()=>[V(be,{label:"缓存名称"},{default:j(()=>[V(ge,{modelValue:T(ee).cache_name,"onUpdate:modelValue":y[0]||(y[0]=e=>T(ee).cache_name=e),readonly:"",placeholder:"缓存名称"},null,8,["modelValue"])]),_:1}),V(be,{label:"缓存键名"},{default:j(()=>[V(ge,{modelValue:T(ee).cache_key,"onUpdate:modelValue":y[1]||(y[1]=e=>T(ee).cache_key=e),readonly:"",placeholder:"缓存键名"},null,8,["modelValue"])]),_:1}),V(be,{label:"缓存内容"},{default:j(()=>[V(ge,{modelValue:T(ee).cache_value,"onUpdate:modelValue":y[2]||(y[2]=e=>T(ee).cache_value=e),type:"textarea",rows:18,readonly:"",placeholder:"缓存内容"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1})]),_:1})])}}}),[["__scopeId","data-v-8e3ed0b9"]]);export{L as default};