From 581f7156f51f7d6ab6012f812e153006536bef0c Mon Sep 17 00:00:00 2001 From: Ryan Wang Date: Wed, 7 Dec 2022 12:38:53 +0800 Subject: [PATCH] fix: plugin failed to get settings when plugin is stopped (#750) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### What type of PR is this? /kind bug /milestone 2.0.1 #### What this PR does / why we need it: 修复插件停止时,仍然获取设置选项导致提示失败的问题。 #### Which issue(s) this PR fixes: Fixes https://github.com/halo-dev/halo/issues/2866 #### Special notes for your reviewer: 测试方式: 1. 安装一个插件,将其停止之后检查是否有获取 setting 的请求以及页面上是否有提示。 #### Does this PR introduce a user-facing change? ```release-note 修复在 Console 端停止插件时,仍然获取设置选项导致显示失败提示的问题。 ``` --- src/modules/system/plugins/layouts/PluginLayout.vue | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/modules/system/plugins/layouts/PluginLayout.vue b/src/modules/system/plugins/layouts/PluginLayout.vue index 94d77433..85975510 100644 --- a/src/modules/system/plugins/layouts/PluginLayout.vue +++ b/src/modules/system/plugins/layouts/PluginLayout.vue @@ -25,6 +25,7 @@ import BasicLayout from "@/layouts/BasicLayout.vue"; import type { Ref } from "vue"; import type { Plugin, SettingForm } from "@halo-dev/api-client"; import { usePermission } from "@/utils/permission"; +import { usePluginLifeCycle } from "../composables/use-plugin"; const { currentUserHasPermission } = usePermission(); @@ -60,6 +61,8 @@ provide>("activeTab", activeTab); const settingName = computed(() => plugin.value?.spec.settingName); const configMapName = computed(() => plugin.value?.spec.configMapName); +const { isStarted } = usePluginLifeCycle(plugin); + const { setting, handleFetchSettings } = useSettingForm( settingName, configMapName @@ -112,7 +115,9 @@ onMounted(async () => { return; } - await handleFetchSettings(); + if (isStarted.value) { + await handleFetchSettings(); + } tabs.value = cloneDeep(initialTabs);