fix: 健康检查未启用模块恢复未启用展示

This commit is contained in:
jxxghp
2026-08-14 22:50:47 +08:00
parent 3bc1030a41
commit 8ecb4a6203
2 changed files with 10 additions and 2 deletions
+2 -1
View File
@@ -9,6 +9,7 @@ import {
ApiRequestError, ApiRequestError,
createApiClients, createApiClients,
getApiBusinessErrorMessage, getApiBusinessErrorMessage,
isApiBusinessFailure,
isApiResponse, isApiResponse,
type ApiFeedbackMode, type ApiFeedbackMode,
type ApiFallbackMessageKey, type ApiFallbackMessageKey,
@@ -73,7 +74,7 @@ function initializeClient(instance: AxiosInstance | DataApiClient) {
// 插件远程组件依赖完整 envelope ABI,内部页面则默认使用已解包的数据客户端。 // 插件远程组件依赖完整 envelope ABI,内部页面则默认使用已解包的数据客户端。
if (typeof window !== 'undefined') window.MoviePilotAPI = pluginApi if (typeof window !== 'undefined') window.MoviePilotAPI = pluginApi
export { ApiRequestError, getApiBusinessErrorMessage, isApiResponse, pluginApi } export { ApiRequestError, getApiBusinessErrorMessage, isApiBusinessFailure, isApiResponse, pluginApi }
export type { ApiFeedbackMode, DataApiClient } export type { ApiFeedbackMode, DataApiClient }
export default api export default api
+8 -1
View File
@@ -1,5 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import api from '@/api' import api, { getApiBusinessErrorMessage, isApiBusinessFailure } from '@/api'
import { useI18n } from 'vue-i18n' import { useI18n } from 'vue-i18n'
import { useTheme } from 'vuetify' import { useTheme } from 'vuetify'
@@ -105,6 +105,13 @@ async function moduleTest(index: number) {
console.error(error) console.error(error)
const target = modules.value[index] const target = modules.value[index]
target.loading = false target.loading = false
// 未运行的模块后端返回空消息的业务失败,按未启用展示。
if (isApiBusinessFailure(error) && !getApiBusinessErrorMessage(error)) {
target.state = undefined
target.name = `${target.name} - ${t('moduleTest.disabled')}`
target.errmsg = ''
return
}
target.state = 'error' target.state = 'error'
target.errmsg = error instanceof Error ? error.message : t('moduleTest.requestFailed') target.errmsg = error instanceof Error ? error.message : t('moduleTest.requestFailed')
} }