From 1d58810a78cc5e2bba9213cfe7916597f54a1de5 Mon Sep 17 00:00:00 2001 From: CityFun <31820853+zhengkunwang223@users.noreply.github.com> Date: Wed, 4 Jun 2025 17:29:36 +0800 Subject: [PATCH] fix: fix issue with clean runtime lop failed (#8900) --- agent/app/dto/response/app.go | 1 + agent/app/dto/response/runtime.go | 2 ++ agent/app/service/app_utils.go | 3 ++- frontend/src/api/interface/runtime.ts | 1 + frontend/src/components/log/compose/index.vue | 10 +++++++++- frontend/src/components/log/container/index.vue | 1 + frontend/src/views/ai/mcp/server/index.vue | 6 +++++- frontend/src/views/app-store/installed/index.vue | 6 +++++- frontend/src/views/website/runtime/dotnet/index.vue | 6 +++++- frontend/src/views/website/runtime/go/index.vue | 6 +++++- frontend/src/views/website/runtime/java/index.vue | 6 +++++- frontend/src/views/website/runtime/node/index.vue | 6 +++++- frontend/src/views/website/runtime/php/index.vue | 6 +++++- frontend/src/views/website/runtime/python/index.vue | 6 +++++- 14 files changed, 56 insertions(+), 10 deletions(-) diff --git a/agent/app/dto/response/app.go b/agent/app/dto/response/app.go index aed798067..cfba2b13a 100644 --- a/agent/app/dto/response/app.go +++ b/agent/app/dto/response/app.go @@ -126,6 +126,7 @@ type AppInstallDTO struct { CreatedAt time.Time `json:"createdAt"` Favorite bool `json:"favorite"` App AppDetail `json:"app"` + Container string `json:"container"` } type DatabaseConn struct { diff --git a/agent/app/dto/response/runtime.go b/agent/app/dto/response/runtime.go index 53d8e75f7..0efa9cd17 100644 --- a/agent/app/dto/response/runtime.go +++ b/agent/app/dto/response/runtime.go @@ -29,6 +29,7 @@ type RuntimeDTO struct { Environments []request.Environment `json:"environments"` Volumes []request.Volume `json:"volumes"` ContainerStatus string `json:"containerStatus"` + Container string `json:"container"` } type PackageScripts struct { @@ -51,6 +52,7 @@ func NewRuntimeDTO(runtime model.Runtime) RuntimeDTO { Version: runtime.Version, Port: runtime.Port, Path: runtime.GetPath(), + Container: runtime.ContainerName, } } diff --git a/agent/app/service/app_utils.go b/agent/app/service/app_utils.go index 7b4e4949d..1b3cdb626 100644 --- a/agent/app/service/app_utils.go +++ b/agent/app/service/app_utils.go @@ -1483,7 +1483,8 @@ func handleInstalled(appInstallList []model.AppInstall, updated bool, sync bool) Website: installed.App.Website, Document: installed.App.Document, }, - Favorite: installed.Favorite, + Favorite: installed.Favorite, + Container: installed.ContainerName, } if updated { installDTO.DockerCompose = installed.DockerCompose diff --git a/frontend/src/api/interface/runtime.ts b/frontend/src/api/interface/runtime.ts index f86c4c072..033369dc0 100644 --- a/frontend/src/api/interface/runtime.ts +++ b/frontend/src/api/interface/runtime.ts @@ -41,6 +41,7 @@ export namespace Runtime { exposedPorts?: ExposedPort[]; environments?: Environment[]; volumes?: Volume[]; + container: string; } export interface RuntimeCreate { diff --git a/frontend/src/components/log/compose/index.vue b/frontend/src/components/log/compose/index.vue index 873138f81..d8f8dfb6e 100644 --- a/frontend/src/components/log/compose/index.vue +++ b/frontend/src/components/log/compose/index.vue @@ -12,7 +12,12 @@ @@ -26,6 +31,7 @@ import ContainerLog from '@/components/log/container/index.vue'; const open = ref(false); const resource = ref(''); +const container = ref(''); const globalStore = GlobalStore(); const logVisible = ref(false); const compose = ref(''); @@ -34,6 +40,7 @@ const highlightDiff = ref(320); interface DialogProps { compose: string; resource: string; + container: string; } const defaultProps = defineProps({ @@ -67,6 +74,7 @@ const acceptParams = (props: DialogProps): void => { highlightDiff.value = defaultProps.highlightDiff; compose.value = props.compose; resource.value = props.resource; + container.value = props.container; open.value = true; }; diff --git a/frontend/src/components/log/container/index.vue b/frontend/src/components/log/container/index.vue index 98cfdfadf..8dfaa8614 100644 --- a/frontend/src/components/log/container/index.vue +++ b/frontend/src/components/log/container/index.vue @@ -197,6 +197,7 @@ const onClean = async () => { cancelButtonText: i18n.global.t('commons.button.cancel'), type: 'info', }).then(async () => { + console.log(logSearch); await cleanContainerLog(logSearch.container); searchLogs(); MsgSuccess(i18n.global.t('commons.msg.operationSuccess')); diff --git a/frontend/src/views/ai/mcp/server/index.vue b/frontend/src/views/ai/mcp/server/index.vue index 2e641fb84..e0d396548 100644 --- a/frontend/src/views/ai/mcp/server/index.vue +++ b/frontend/src/views/ai/mcp/server/index.vue @@ -203,7 +203,11 @@ const openCreate = () => { }; const openLog = (row: AI.McpServer) => { - composeLogRef.value.acceptParams({ compose: row.dir + '/docker-compose.yml', resource: row.name }); + composeLogRef.value.acceptParams({ + compose: row.dir + '/docker-compose.yml', + resource: row.name, + container: row.containerName, + }); }; const deleteServer = async (row: AI.McpServer) => { diff --git a/frontend/src/views/app-store/installed/index.vue b/frontend/src/views/app-store/installed/index.vue index 6ac3d315a..8b90ea461 100644 --- a/frontend/src/views/app-store/installed/index.vue +++ b/frontend/src/views/app-store/installed/index.vue @@ -694,7 +694,11 @@ const openLog = (row: any) => { taskLogRef.value.openWithResourceID('App', 'TaskInstall', row.id); break; default: - composeLogRef.value.acceptParams({ compose: row.path + '/docker-compose.yml', resource: row.name }); + composeLogRef.value.acceptParams({ + compose: row.path + '/docker-compose.yml', + resource: row.name, + container: row.container, + }); } }; diff --git a/frontend/src/views/website/runtime/dotnet/index.vue b/frontend/src/views/website/runtime/dotnet/index.vue index bedc4bdeb..1df7c75b0 100644 --- a/frontend/src/views/website/runtime/dotnet/index.vue +++ b/frontend/src/views/website/runtime/dotnet/index.vue @@ -225,7 +225,11 @@ const openTerminal = (row: Runtime.Runtime) => { }; const openLog = (row: any) => { - composeLogRef.value.acceptParams({ compose: row.path + '/docker-compose.yml', resource: row.name }); + composeLogRef.value.acceptParams({ + compose: row.path + '/docker-compose.yml', + resource: row.name, + container: row.container, + }); }; const goDashboard = async (port: any, protocol: string) => { diff --git a/frontend/src/views/website/runtime/go/index.vue b/frontend/src/views/website/runtime/go/index.vue index 8ff79afe0..89ea99b87 100644 --- a/frontend/src/views/website/runtime/go/index.vue +++ b/frontend/src/views/website/runtime/go/index.vue @@ -219,7 +219,11 @@ const openDelete = async (row: Runtime.Runtime) => { }; const openLog = (row: any) => { - composeLogRef.value.acceptParams({ compose: row.path + '/docker-compose.yml', resource: row.name }); + composeLogRef.value.acceptParams({ + compose: row.path + '/docker-compose.yml', + resource: row.name, + container: row.container, + }); }; const goDashboard = async (port: any, protocol: string) => { diff --git a/frontend/src/views/website/runtime/java/index.vue b/frontend/src/views/website/runtime/java/index.vue index 9b772adff..cda41db9d 100644 --- a/frontend/src/views/website/runtime/java/index.vue +++ b/frontend/src/views/website/runtime/java/index.vue @@ -219,7 +219,11 @@ const openDelete = (row: Runtime.Runtime) => { }; const openLog = (row: any) => { - composeLogRef.value.acceptParams({ compose: row.path + '/docker-compose.yml', resource: row.name }); + composeLogRef.value.acceptParams({ + compose: row.path + '/docker-compose.yml', + resource: row.name, + container: row.container, + }); }; const openTerminal = (row: Runtime.Runtime) => { diff --git a/frontend/src/views/website/runtime/node/index.vue b/frontend/src/views/website/runtime/node/index.vue index f09eb053f..395e433dd 100644 --- a/frontend/src/views/website/runtime/node/index.vue +++ b/frontend/src/views/website/runtime/node/index.vue @@ -235,7 +235,11 @@ const openDelete = async (row: Runtime.Runtime) => { }; const openLog = (row: any) => { - composeLogRef.value.acceptParams({ compose: row.path + '/docker-compose.yml', resource: row.name }); + composeLogRef.value.acceptParams({ + compose: row.path + '/docker-compose.yml', + resource: row.name, + container: row.container, + }); }; const goDashboard = async (port: any, protocol: string) => { diff --git a/frontend/src/views/website/runtime/php/index.vue b/frontend/src/views/website/runtime/php/index.vue index 8a0af9916..8c6381fb2 100644 --- a/frontend/src/views/website/runtime/php/index.vue +++ b/frontend/src/views/website/runtime/php/index.vue @@ -278,7 +278,11 @@ const openTerminal = (row: Runtime.Runtime) => { const openLog = (row: Runtime.RuntimeDTO) => { if (row.status == 'Running') { - composeLogRef.value.acceptParams({ compose: row.path + '/docker-compose.yml', resource: row.name }); + composeLogRef.value.acceptParams({ + compose: row.path + '/docker-compose.yml', + resource: row.name, + container: row.container, + }); } else { logRef.value.acceptParams({ id: row.id, type: 'php', tail: row.status == 'Building' }); } diff --git a/frontend/src/views/website/runtime/python/index.vue b/frontend/src/views/website/runtime/python/index.vue index a64e301e9..2f61c8b84 100644 --- a/frontend/src/views/website/runtime/python/index.vue +++ b/frontend/src/views/website/runtime/python/index.vue @@ -219,7 +219,11 @@ const openDelete = async (row: Runtime.Runtime) => { }; const openLog = (row: any) => { - composeLogRef.value.acceptParams({ compose: row.path + '/docker-compose.yml', resource: row.name }); + composeLogRef.value.acceptParams({ + compose: row.path + '/docker-compose.yml', + resource: row.name, + container: row.container, + }); }; const goDashboard = async (port: any, protocol: string) => {