From ddf69a3bb2d504ca21eb4d2de32956c6db67b33a Mon Sep 17 00:00:00 2001 From: tiny-craft <137850705+tiny-craft@users.noreply.github.com> Date: Fri, 14 Jul 2023 02:03:45 +0800 Subject: [PATCH] feat: add server status page --- backend/services/connection_service.go | 22 +++- .../components/content/ContentServerPane.vue | 45 +++++++- .../content_value/ContentServerStatus.vue | 108 ++++++++++++++++++ frontend/src/components/icons/ToggleDb.vue | 10 -- .../src/components/icons/ToggleServer.vue | 28 +---- .../src/components/sidebar/ConnectionTree.vue | 16 ++- frontend/src/langs/en.json | 10 +- frontend/src/langs/zh-cn.json | 10 +- frontend/src/stores/connections.js | 22 +++- 9 files changed, 226 insertions(+), 45 deletions(-) create mode 100644 frontend/src/components/content_value/ContentServerStatus.vue diff --git a/backend/services/connection_service.go b/backend/services/connection_service.go index 8c57abc..db72843 100644 --- a/backend/services/connection_service.go +++ b/backend/services/connection_service.go @@ -184,7 +184,7 @@ func (c *connectionService) OpenConnection(name string) (resp types.JSResp) { // get database info res, err := rdb.Info(ctx, "keyspace").Result() if err != nil { - resp.Msg = "list database fail:" + err.Error() + resp.Msg = "get server info fail:" + err.Error() return } // Parse all db, response content like below @@ -304,6 +304,26 @@ func (c *connectionService) parseDBItemInfo(info string) map[string]int { return ret } +// ServerInfo get server info +func (c *connectionService) ServerInfo(name string) (resp types.JSResp) { + rdb, ctx, err := c.getRedisClient(name, 0) + if err != nil { + resp.Msg = err.Error() + return + } + + // get database info + res, err := rdb.Info(ctx).Result() + if err != nil { + resp.Msg = "get server info fail:" + err.Error() + return + } + + resp.Success = true + resp.Data = c.parseInfo(res) + return +} + // OpenDatabase open select database, and list all keys // @param path contain connection name and db name func (c *connectionService) OpenDatabase(connName string, db int) (resp types.JSResp) { diff --git a/frontend/src/components/content/ContentServerPane.vue b/frontend/src/components/content/ContentServerPane.vue index 130381f..846bcc7 100644 --- a/frontend/src/components/content/ContentServerPane.vue +++ b/frontend/src/components/content/ContentServerPane.vue @@ -1,14 +1,45 @@