Skip to content

Commit 8daa730

Browse files
committed
feat:add monitor
1 parent a797914 commit 8daa730

File tree

6 files changed

+105
-72
lines changed

6 files changed

+105
-72
lines changed

controllers/index_controller.go

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
"time"
1717

1818
"github.com/gin-gonic/gin"
19+
"github.com/go-redis/redis"
1920
)
2021

2122
type indexController struct {
@@ -291,22 +292,26 @@ func (con indexController) TtlKey(c *gin.Context) {
291292

292293
func (con indexController) SerInfo(c *gin.Context) {
293294
var req model.InfoReq
295+
var client *redis.Client
296+
var ok bool
294297

295298
err := con.FormBind(c, &req)
296299
if err != nil {
297300
con.Error(c, err.Error())
298301
return
299302
}
300303

301-
redisServer, ok := global.GlobalConf.RedisServices.Load(req.Key)
302-
if !ok {
303-
fmt.Println(ok)
304-
}
304+
redisServer, _ := global.GlobalConf.RedisServices.Load(req.Key)
305305
redisServers := redisServer.(global.RedisService)
306-
client, err := service.NewRedisClient(redisServers)
307-
if err != nil {
308-
con.Error(c, err.Error())
309-
return
306+
307+
client, ok = global.GlobalClients[req.Key]
308+
if !ok {
309+
client, err = service.NewRedisClient(redisServers)
310+
if err != nil {
311+
con.Error(c, err.Error())
312+
return
313+
}
314+
global.GlobalClients[req.Key] = client
310315
}
311316

312317
val, _ := c.Get("username")

web/src/components/MainIndex.vue

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<div class="box" ref="box">
33
<div class="left" ref="left">
4-
<MenuSection @info="showInfo"></MenuSection>
4+
<MenuSection></MenuSection>
55
</div>
66
<div class="resize" ref="resize" @mousedown="resizeMouse($event)" title="收缩侧边栏">
77
@@ -37,7 +37,6 @@ export default {
3737
let box = ref(null);
3838
let resize = ref(null);
3939
let title = ref("");
40-
let infos = ref("");
4140
4241
let tabs = reactive([
4342
{
@@ -69,11 +68,6 @@ export default {
6968
}
7069
}
7170
72-
const showInfo = (connec_id,info)=>{
73-
title.value = '' + connec_id + '】服务信息';
74-
infos.value = info.replace(/\r\n/gm, "<br/>")
75-
}
76-
7771
return{
7872
left,
7973
mid,
@@ -82,7 +76,6 @@ export default {
8276
tabs,
8377
title,
8478
resizeMouse,
85-
showInfo,
8679
}
8780
},
8881
}

web/src/components/MainSection.vue

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
>
1717
<span v-if="item.content">{{ item.content }}</span>
1818
<span v-if="item.id"><div :id="item.id"></div></span>
19+
<span v-if="item.view">
20+
<router-view :key="$route.fullPath"></router-view>
21+
</span>
1922
</el-tab-pane>
2023
</el-tabs>
2124
</el-main>
@@ -35,7 +38,7 @@ export default{
3538
const activeIndex = computed(() => store.state.activeTag);
3639
3740
const handleClick = (tab) => {
38-
console.log('click '+ tab)
41+
store.commit("setCurrentTag", tab.props.name);
3942
};
4043
4144
const removeTag = (index) => {

web/src/components/MenuSection.vue

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
<el-popover trigger="hover" content="服务信息">
2828
<template #reference>
29-
<el-button @click.stop="infoServe(item.key)" type="primary" circle><i class="iconfont icon-info"></i></el-button>
29+
<el-button @click.stop="infoServe(item.key,item.name)" type="primary" circle><i class="iconfont icon-info"></i></el-button>
3030
</template>
3131
</el-popover>
3232

@@ -49,16 +49,19 @@ import { ElButton,ElMenu, ElRow, ElIcon,ElPopover, ElSubMenu,ElDialog,ElInput,El
4949
import {NewShell} from '@/utils/terminal.js'
5050
import SubMenu from "@/components/index/SubMenu.vue"
5151
import {getConnList,delConn} from "@/api/base.js"
52-
import {openDb,serInfo} from "@/api/index.js"
52+
import {openDb} from "@/api/index.js"
5353
import { useStore } from 'vuex'
54+
import { useRouter } from 'vue-router'
55+
5456
5557
export default{
5658
name:"MenuSection",
57-
setup(props,context){
59+
setup(){
5860
5961
let connMenu = ref(null);
6062
6163
const store = useStore()
64+
const router = useRouter()
6265
6366
const connetions = computed(() => store.state.connList);
6467
@@ -96,10 +99,16 @@ export default{
9699
97100
};
98101
99-
const infoServe = function(connec_id){
100-
serInfo({key:connec_id}).then((res)=>{
101-
context.emit("info",res.data.name,res.data.info);
102-
})
102+
const infoServe = function(sk,name){
103+
store.commit("setTagsItem", {
104+
title: name+"-监控",
105+
name: "grmmonitor",
106+
content: "",
107+
view: true
108+
});
109+
store.commit("setCurrentTag", "grmmonitor");
110+
111+
router.push({name:'monitor', params:{ sk }})
103112
};
104113
105114
const delServe = function(connec_id){

web/src/router/index.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,17 @@ const routes = [
44
{
55
path: '/',
66
name: 'home',
7-
component: () => import(/* webpackChunkName: "about" */ '../views/HomeView.vue')
7+
component: () => import('../views/HomeView.vue'),
8+
children:[{
9+
path: 'monitor/:sk',
10+
name: 'monitor',
11+
component: () => import('../views/MonitorView.vue')
12+
}]
813
},
914
{
1015
path: '/login',
1116
name: 'login',
12-
component: () => import(/* webpackChunkName: "about" */ '../views/LoginView.vue')
17+
component: () => import('../views/LoginView.vue'),
1318
},
1419
]
1520

0 commit comments

Comments
 (0)