From a9ad969b6435f51d93c6f01f9de671c620171a30 Mon Sep 17 00:00:00 2001 From: yml2213 Date: Sun, 9 Aug 2026 17:25:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=A4=9A=E5=BC=80=E5=AE=9E?= =?UTF-8?q?=E4=BE=8B=E9=9A=94=E7=A6=BB=E5=B9=B6=E9=BB=98=E8=AE=A4=E6=89=93?= =?UTF-8?q?=E5=BC=80=E5=B0=8F=E5=BA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/App.vue | 9 +- frontend/src/components/layout/AppShell.vue | 3 +- .../src/components/layout/LeftSidebar.vue | 48 ++++++++- frontend/src/main.ts | 20 +++- frontend/src/utils/instanceStorage.ts | 26 +++++ go.mod | 2 +- internal/activity/activity.go | 4 +- internal/app/app.go | 37 ++++++- internal/config/config.go | 23 ++++- internal/config/instance.go | 97 +++++++++++++++++++ internal/config/instance_lock.go | 11 +++ internal/config/instance_lock_unix.go | 36 +++++++ internal/config/instance_lock_windows.go | 41 ++++++++ internal/config/instance_test.go | 49 ++++++++++ internal/constants/constants.go | 2 +- wails.json | 4 +- 16 files changed, 385 insertions(+), 27 deletions(-) create mode 100644 frontend/src/utils/instanceStorage.ts create mode 100644 internal/config/instance.go create mode 100644 internal/config/instance_lock.go create mode 100644 internal/config/instance_lock_unix.go create mode 100644 internal/config/instance_lock_windows.go create mode 100644 internal/config/instance_test.go diff --git a/frontend/src/App.vue b/frontend/src/App.vue index dcbd35c..b242181 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -8,7 +8,7 @@ import { useLogs } from '@/composables/useLogs' import { useActivity } from '@/composables/useActivity' import AppShell from '@/components/layout/AppShell.vue' import ToastContainer from '@/components/ToastContainer.vue' -import { GetTime, GetVersion } from '@wails/go/app/App' +import { GetInstanceName, GetTime, GetVersion } from '@wails/go/app/App' import { WindowGetSize, WindowSetSize } from '@wails/runtime/runtime' const { initTheme } = useTheme() @@ -20,6 +20,7 @@ const { clearResults } = useLogs() const { loadActivities } = useActivity() const version = ref('') +const instanceName = ref('默认实例') const serverTime = ref('--') // 轮询定时器 @@ -91,7 +92,9 @@ onMounted(async () => { // 获取版本号 try { - version.value = await GetVersion() + const [appVersion, currentInstanceName] = await Promise.all([GetVersion(), GetInstanceName()]) + version.value = appVersion.split(' ')[0] || appVersion + instanceName.value = currentInstanceName || '默认实例' } catch {} // 清空后端旧结果 @@ -112,7 +115,7 @@ onUnmounted(() => { diff --git a/frontend/src/components/layout/AppShell.vue b/frontend/src/components/layout/AppShell.vue index ba3e31c..ecf4b20 100644 --- a/frontend/src/components/layout/AppShell.vue +++ b/frontend/src/components/layout/AppShell.vue @@ -4,13 +4,14 @@ import RightConsole from './RightConsole.vue' defineProps<{ version: string + instanceName: string serverTime: string }>() diff --git a/frontend/src/components/layout/LeftSidebar.vue b/frontend/src/components/layout/LeftSidebar.vue index c4e0365..ab2a852 100644 --- a/frontend/src/components/layout/LeftSidebar.vue +++ b/frontend/src/components/layout/LeftSidebar.vue @@ -9,6 +9,7 @@ import XiaodianTabs from '@/components/product/XiaodianTabs.vue' defineProps<{ version: string + instanceName: string }>() const { loadProducts, productInfo, filteredProducts, loading } = useProducts() @@ -28,11 +29,14 @@ const onSwitchActivity = async (e: Event) => {