From 00fee24a858fac7ca0898514b54cc39cee9e35b5 Mon Sep 17 00:00:00 2001 From: "meilin.huang" <954537473@qq.com> Date: Tue, 7 Feb 2023 16:54:44 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BB=A3=E7=A0=81=E5=B0=8F=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/ops/component/TagMenu.vue | 106 ++++++ mayfly_go_web/src/views/ops/db/SqlExec.vue | 9 +- .../views/ops/db/component/InstanceTree.vue | 311 ++++++++---------- .../src/views/ops/mongo/MongoInstanceTree.vue | 267 ++++++--------- .../src/views/ops/redis/DataOperation.vue | 204 ++++++------ .../src/views/ops/redis/RedisInstanceTree.vue | 195 ++++------- server/internal/redis/api/redis.go | 26 +- server/internal/redis/api/vo/redis.go | 2 - 8 files changed, 528 insertions(+), 592 deletions(-) create mode 100644 mayfly_go_web/src/views/ops/component/TagMenu.vue diff --git a/mayfly_go_web/src/views/ops/component/TagMenu.vue b/mayfly_go_web/src/views/ops/component/TagMenu.vue new file mode 100644 index 00000000..b4a2d332 --- /dev/null +++ b/mayfly_go_web/src/views/ops/component/TagMenu.vue @@ -0,0 +1,106 @@ + + + + + \ No newline at end of file diff --git a/mayfly_go_web/src/views/ops/db/SqlExec.vue b/mayfly_go_web/src/views/ops/db/SqlExec.vue index 93e7c424..bf564773 100644 --- a/mayfly_go_web/src/views/ops/db/SqlExec.vue +++ b/mayfly_go_web/src/views/ops/db/SqlExec.vue @@ -219,7 +219,8 @@ layout="prev, pager, next, total, jumper" v-model:current-page="dt.pageNum" :page-size="defalutLimit"> -
{{ dt.sql }}
+
{{ dt.sql }} +
@@ -258,7 +259,7 @@ \ No newline at end of file diff --git a/server/internal/redis/api/redis.go b/server/internal/redis/api/redis.go index 1d64f1b4..d9180391 100644 --- a/server/internal/redis/api/redis.go +++ b/server/internal/redis/api/redis.go @@ -76,36 +76,42 @@ func (r *Redis) RedisInfo(rc *req.Ctx) { g := rc.GinCtx ri := r.RedisApp.GetRedisInstance(uint64(ginx.PathParamInt(g, "id")), 0) - var res string - var err error - + section := rc.GinCtx.Query("section") mode := ri.Info.Mode ctx := context.Background() + var redisCli *redis.Client + if mode == "" || mode == entity.RedisModeStandalone || mode == entity.RedisModeSentinel { - res, err = ri.Cli.Info(ctx).Result() + redisCli = ri.Cli } else if mode == entity.RedisModeCluster { host := rc.GinCtx.Query("host") biz.NotEmpty(host, "集群模式host信息不能为空") clusterClient := ri.ClusterCli - var redisClient *redis.Client // 遍历集群的master节点找到该redis client clusterClient.ForEachMaster(ctx, func(ctx context.Context, client *redis.Client) error { if host == client.Options().Addr { - redisClient = client + redisCli = client } return nil }) - if redisClient == nil { + if redisCli == nil { // 遍历集群的slave节点找到该redis client clusterClient.ForEachSlave(ctx, func(ctx context.Context, client *redis.Client) error { if host == client.Options().Addr { - redisClient = client + redisCli = client } return nil }) } - biz.NotNil(redisClient, "该实例不在该集群中") - res, err = redisClient.Info(ctx).Result() + biz.NotNil(redisCli, "该实例不在该集群中") + } + + var res string + var err error + if section == "" { + res, err = ri.Cli.Info(ctx).Result() + } else { + res, err = ri.Cli.Info(ctx, section).Result() } biz.ErrIsNilAppendErr(err, "获取redis info失败: %s") diff --git a/server/internal/redis/api/vo/redis.go b/server/internal/redis/api/vo/redis.go index c1fd8ad2..43fe96fa 100644 --- a/server/internal/redis/api/vo/redis.go +++ b/server/internal/redis/api/vo/redis.go @@ -7,8 +7,6 @@ type Redis struct { Name *string `json:"name"` Host *string `json:"host"` Db string `json:"db"` - ProjectId *int64 `json:"projectId"` - Project *string `json:"project"` Mode *string `json:"mode"` EnableSshTunnel *int8 `json:"enableSshTunnel"` // 是否启用ssh隧道 SshTunnelMachineId *uint64 `json:"sshTunnelMachineId"` // ssh隧道机器id