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

View File

@@ -9,6 +9,7 @@ import {
ApiRequestError,
createApiClients,
getApiBusinessErrorMessage,
isApiBusinessFailure,
isApiResponse,
type ApiFeedbackMode,
type ApiFallbackMessageKey,
@@ -73,7 +74,7 @@ function initializeClient(instance: AxiosInstance | DataApiClient) {
// 插件远程组件依赖完整 envelope ABI内部页面则默认使用已解包的数据客户端。
if (typeof window !== 'undefined') window.MoviePilotAPI = pluginApi
export { ApiRequestError, getApiBusinessErrorMessage, isApiResponse, pluginApi }
export { ApiRequestError, getApiBusinessErrorMessage, isApiBusinessFailure, isApiResponse, pluginApi }
export type { ApiFeedbackMode, DataApiClient }
export default api

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import api from '@/api'
import api, { getApiBusinessErrorMessage, isApiBusinessFailure } from '@/api'
import { useI18n } from 'vue-i18n'
import { useTheme } from 'vuetify'
@@ -105,6 +105,13 @@ async function moduleTest(index: number) {
console.error(error)
const target = modules.value[index]
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.errmsg = error instanceof Error ? error.message : t('moduleTest.requestFailed')
}