Files
----/后端源码/yifan.action-ai.cn/index/js/index.LxYw_SrN.js

2 lines
10 KiB
JavaScript

import{a6 as e,U as a,V as l,T as t,a3 as n,a4 as o,h as d,l as u,al as s,am as c,g as i,aR as r,u as m,w as f,x as _,y as h,a5 as p,D as v}from"./element-plus.DhcJM-BD.js";import{l as y}from"./index.Ch_NPM5t.js";import{i as g}from"./echarts.BBlM_eP9.js";import{o as b,B as w,a5 as k,aC as C,aD as x,t as $,H as K,I as V,J as j,Y as R,Z as z,u as F,K as I,V as T,v as U,r as B}from"./.pnpm.DGfAnZKL.js";import{_ as D}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./codemirror.CR5zRbyM.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"})},q={class:"app-container"},A={class:"flex items-center gap-2"},P={class:"flex items-center gap-2"},S={class:"flex items-center gap-2"},E={class:"flex justify-between items-center"},H={class:"flex items-center gap-2"},J={class:"flex justify-between items-center"},M={class:"flex items-center gap-2"},Q={class:"flex justify-between items-center"},Y={class:"flex items-center gap-2"},Z=D(b({__name:"index",setup(y){const b=B([]),D=B([]),N=B(!0),Z=B(!1),G=B(""),L=B(null),W=B(null),X=B({info:{},command_stats:[],db_size:0}),ee=B({cache_name:"",cache_key:"",cache_value:""});let ae=null,le=null;const te=async()=>{try{N.value=!0;const e=await O.getCacheNames();b.value=e.data.data,D.value=[],ee.value={cache_name:"",cache_key:"",cache_value:""}}catch(e){}finally{N.value=!1}},ne=()=>{te()},oe=async e=>{try{const a=(null==e?void 0:e.cache_name)||G.value;if(!a)return;Z.value=!0;const l=await O.getCacheKeys(a);D.value=l.data.data,G.value=a,ee.value={cache_name:a,cache_key:"",cache_value:""}}catch(a){}finally{Z.value=!1}},de=()=>{oe()};const ue=async()=>{v.confirm("确定要清理全部缓存吗?","危险!",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(async()=>await O.deleteCacheAll()).then(()=>{te()}).catch(e=>{})},se=()=>{var e;if(!L.value||!W.value)return;ae=g(L.value,"macarons"),le=g(W.value,"macarons");const a={tooltip:{trigger:"item",formatter:"{a} <br/>{b} : {c} ({d}%)"},series:[{name:"命令",type:"pie",roseType:"radius",radius:[15,95],center:["50%","38%"],data:X.value.command_stats||[],animationEasing:"cubicInOut",animationDuration:1e3}]},l=(null==(e=X.value.info)?void 0:e.used_memory_human)||"0",t={tooltip:{formatter:`{b} <br/>{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{N.value=!0;const e=await O.getCacheInfo();X.value=e.data.data||{info:{},command_stats:[],dbSize:0},se()}catch(e){}finally{N.value=!1}})()}),k(()=>{null==ae||ae.dispose(),null==le||le.dispose()}),(v,y)=>{const g=C("Monitor"),w=d,k=C("QuestionFilled"),B=u,ae=o,le=n,te=t,se=l,ce=C("Stopwatch"),ie=a,re=e,me=C("Tickets"),fe=i,_e=m,he=c,pe=r,ve=s,ye=C("Key"),ge=h,be=_,we=f,ke=p,Ce=x("hasPerm");return $(),K("div",q,[V(ke,{type:"border-card"},{default:j(()=>[V(re,{class:"monitor",label:"监控信息"},{default:j(()=>[V(ie,{gutter:16},{default:j(()=>[V(se,{span:24},{default:j(()=>[V(te,{shadow:"hover"},{header:j(()=>[I("div",A,[V(w,null,{default:j(()=>[V(g)]),_:1}),y[3]||(y[3]=I("span",null,"Redis监控信息",-1)),V(B,{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=F(X).info)?void 0:e.redis_version)||"-"),1)]}),_:1}),V(ae,{label:"运行模式"},{default:j(()=>{var e;return[R(z("standalone"===(null==(e=F(X).info)?void 0:e.redis_mode)?"单机":"集群"),1)]}),_:1}),V(ae,{label:"端口"},{default:j(()=>{var e;return[R(z((null==(e=F(X).info)?void 0:e.tcp_port)||"-"),1)]}),_:1}),V(ae,{label:"客户端数"},{default:j(()=>{var e;return[R(z((null==(e=F(X).info)?void 0:e.connected_clients)||0),1)]}),_:1}),V(ae,{label:"运行时间(天)"},{default:j(()=>{var e;return[R(z((null==(e=F(X).info)?void 0:e.uptime_in_days)||0),1)]}),_:1}),V(ae,{label:"使用内存"},{default:j(()=>{var e;return[R(z((null==(e=F(X).info)?void 0:e.used_memory_human)||"-"),1)]}),_:1}),V(ae,{label:"使用CPU"},{default:j(()=>{var e;return[R(z((null==(e=F(X).info)?void 0:e.used_cpu_user_children)?parseFloat(F(X).info.used_cpu_user_children).toFixed(2):"-"),1)]}),_:1}),V(ae,{label:"内存配置"},{default:j(()=>{var e;return[R(z((null==(e=F(X).info)?void 0:e.maxmemory_human)||"-"),1)]}),_:1}),V(ae,{label:"AOF是否开启"},{default:j(()=>{var e;return[R(z("0"===(null==(e=F(X).info)?void 0:e.aof_enabled)?"否":"是"),1)]}),_:1}),V(ae,{label:"RDB是否成功"},{default:j(()=>{var e;return[R(z((null==(e=F(X).info)?void 0:e.rdb_last_bgsave_status)||"-"),1)]}),_:1}),V(ae,{label:"Key数量"},{default:j(()=>[R(z(F(X).db_size||0),1)]),_:1}),V(ae,{label:"网络入口/出口"},{default:j(()=>{var e,a;return[R(z(`${(null==(e=F(X).info)?void 0:e.instantaneous_input_kbps)||0}kps/${(null==(a=F(X).info)?void 0:a.instantaneous_output_kbps)||0}kps`),1)]}),_:1})]),_:1})]),_:1})]),_:1}),V(se,{span:12,class:"mt-4"},{default:j(()=>[V(te,{shadow:"hover"},{header:j(()=>[I("div",P,[V(w,null,{default:j(()=>[V(ce)]),_:1}),y[4]||(y[4]=I("span",{class:"title"},"命令统计",-1)),V(B,{content:"展示命令统计详情"},{default:j(()=>[V(w,null,{default:j(()=>[V(k)]),_:1})]),_:1})])]),default:j(()=>[I("div",{ref_key:"commandstats",ref:L,class:"chart-container"},null,512)]),_:1})]),_:1}),V(se,{span:12,class:"mt-4"},{default:j(()=>[V(te,{shadow:"hover"},{header:j(()=>[I("div",S,[V(w,null,{default:j(()=>[V(ce)]),_:1}),y[5]||(y[5]=I("span",null,"内存信息",-1)),V(B,{content:"展示内存信息详情"},{default:j(()=>[V(w,null,{default:j(()=>[V(k)]),_:1})]),_:1})])]),default:j(()=>[I("div",{ref_key:"usedmemory",ref:W,class:"chart-container"},null,512)]),_:1})]),_:1})]),_:1})]),_:1}),V(re,{class:"cache",label:"缓存管理"},{default:j(()=>[V(ie,{gutter:16},{default:j(()=>[V(se,{span:8},{default:j(()=>[V(te,{loading:F(N),shadow:"hover"},{header:j(()=>[I("div",E,[I("div",H,[V(w,null,{default:j(()=>[V(me)]),_:1}),y[6]||(y[6]=I("span",{class:"flex items-center gap-2"},"缓存列表",-1)),V(B,{content:"展示缓存列表详情"},{default:j(()=>[V(w,null,{default:j(()=>[V(k)]),_:1})]),_:1})]),I("div",null,[T(V(fe,{type:"primary",link:"",icon:"RefreshRight",onClick:ne},null,512),[[Ce,["module_monitor:cache:query"]]])])])]),default:j(()=>[V(ve,{loading:F(N),data:F(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})=>[T(($(),U(fe,{type:"primary",link:"",onClick:a=>oe(e)},{default:j(()=>[R(z(e.cache_name),1)]),_:2},1032,["onClick"])),[[Ce,["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 O.deleteCacheName(e.cache_name),ne()}catch(a){}})(e)},{reference:j(()=>[T(V(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}),V(se,{span:8},{default:j(()=>[V(te,{loading:F(N),shadow:"hover"},{header:j(()=>[I("div",J,[I("div",M,[V(w,null,{default:j(()=>[V(ye)]),_:1}),y[7]||(y[7]=I("span",{class:"flex items-center gap-2"},"键名列表",-1)),V(B,{content:"展示键名列表详情"},{default:j(()=>[V(w,null,{default:j(()=>[V(k)]),_:1})]),_:1})]),I("div",null,[T(V(fe,{type:"primary",link:"",icon:"RefreshRight",onClick:de},null,512),[[Ce,["module_monitor:cache:query"]]])])])]),default:j(()=>[V(ve,{loading:F(Z),data:F(D).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})=>[T(($(),U(fe,{type:"primary",link:"",onClick:a=>async function(e){try{N.value=!0;const a=await O.getCacheValue(G.value,e);ee.value=a.data.data}catch(a){}finally{N.value=!1}}(e.cacheKey)},{default:j(()=>[R(z(e.cacheKey),1)]),_:2},1032,["onClick"])),[[Ce,["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 O.deleteCacheKey(e),oe()}catch(a){}}(e.cacheKey)},{reference:j(()=>[T(V(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}),V(se,{span:8},{default:j(()=>[V(te,{loading:F(N),shadow:"hover"},{header:j(()=>[I("div",Q,[I("div",Y,[V(w,null,{default:j(()=>[V(ye)]),_:1}),y[8]||(y[8]=I("span",{class:"flex items-center gap-2"},"缓存内容",-1)),V(B,{content:"展示缓存内容详情"},{default:j(()=>[V(w,null,{default:j(()=>[V(k)]),_:1})]),_:1})]),I("div",null,[T(($(),U(fe,{type:"danger",link:"",icon:"delete",onClick:ue},{default:j(()=>[...y[9]||(y[9]=[R(" 清理全部 ",-1)])]),_:1})),[[Ce,["module_monitor:cache:delete"]]])])])]),default:j(()=>[V(we,{model:F(ee),"label-suffix":":","label-width":"auto","label-position":"top"},{default:j(()=>[V(be,{label:"缓存名称"},{default:j(()=>[V(ge,{modelValue:F(ee).cache_name,"onUpdate:modelValue":y[0]||(y[0]=e=>F(ee).cache_name=e),readonly:"",placeholder:"缓存名称"},null,8,["modelValue"])]),_:1}),V(be,{label:"缓存键名"},{default:j(()=>[V(ge,{modelValue:F(ee).cache_key,"onUpdate:modelValue":y[1]||(y[1]=e=>F(ee).cache_key=e),readonly:"",placeholder:"缓存键名"},null,8,["modelValue"])]),_:1}),V(be,{label:"缓存内容"},{default:j(()=>[V(ge,{modelValue:F(ee).cache_value,"onUpdate:modelValue":y[2]||(y[2]=e=>F(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-fa971a84"]]);export{Z as default};