From 3e82d6d6509692aa105e8a109e5fce7d61dfd301 Mon Sep 17 00:00:00 2001 From: Elias <45232878+mapan0424@users.noreply.github.com> Date: Sun, 6 Sep 2026 10:52:51 +0800 Subject: [PATCH] feat(xugu): add read-only server monitoring dashboard --- .../components/admin/XuguServerDashboard.vue | 541 ++++++++++++++++++ .../src/components/layout/ContentArea.vue | 7 + .../sidebar/SidebarTreeRuntimeHost.vue | 8 +- apps/desktop/src/i18n/locales/en.ts | 68 +++ apps/desktop/src/i18n/locales/zh-CN.ts | 68 +++ .../database/xuguServerStatus.spec.ts | 108 ++++ .../src/lib/database/xuguServerStatus.ts | 329 +++++++++++ apps/desktop/src/stores/queryStore.ts | 24 + apps/desktop/src/types/database.ts | 1 + 9 files changed, 1153 insertions(+), 1 deletion(-) create mode 100644 apps/desktop/src/components/admin/XuguServerDashboard.vue create mode 100644 apps/desktop/src/lib/__tests__/database/xuguServerStatus.spec.ts create mode 100644 apps/desktop/src/lib/database/xuguServerStatus.ts diff --git a/apps/desktop/src/components/admin/XuguServerDashboard.vue b/apps/desktop/src/components/admin/XuguServerDashboard.vue new file mode 100644 index 0000000000..699d71f90e --- /dev/null +++ b/apps/desktop/src/components/admin/XuguServerDashboard.vue @@ -0,0 +1,541 @@ + + + diff --git a/apps/desktop/src/components/layout/ContentArea.vue b/apps/desktop/src/components/layout/ContentArea.vue index 7a450c4b7e..d81e2b2968 100644 --- a/apps/desktop/src/components/layout/ContentArea.vue +++ b/apps/desktop/src/components/layout/ContentArea.vue @@ -116,6 +116,7 @@ const ProcessListPanel = defineAsyncComponent(() => import("@/components/admin/P const SqlServerActivityTracePanel = defineAsyncComponent(() => import("@/components/admin/SqlServerActivityTracePanel.vue")); const MySqlDashboard = defineAsyncComponent(() => import("@/components/admin/MySqlDashboard.vue")); const PostgresDashboard = defineAsyncComponent(() => import("@/components/admin/PostgresDashboard.vue")); +const XuguServerDashboard = defineAsyncComponent(() => import("@/components/admin/XuguServerDashboard.vue")); const DamengJobAdmin = defineAsyncComponent(() => import("@/components/admin/DamengJobAdmin.vue")); const DamengUserAdmin = defineAsyncComponent(() => import("@/components/admin/DamengUserAdmin.vue")); const DamengRoleAdmin = defineAsyncComponent(() => import("@/components/admin/DamengRoleAdmin.vue")); @@ -2559,6 +2560,12 @@ defineExpose({ + +