mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-08-15 02:29:31 +08:00
fix: 健康检查未启用模块恢复未启用展示
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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')
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user