diff --git a/web/src/components/modals/SettingsView/Status.tsx b/web/src/components/modals/SettingsView/Status.tsx index 3fe5cdf1..4df56fd1 100644 --- a/web/src/components/modals/SettingsView/Status.tsx +++ b/web/src/components/modals/SettingsView/Status.tsx @@ -1,12 +1,13 @@ import { LoadingSpinner } from '@/components/LoadingSpinner'; +import { pluginInspectServices } from '@/plugin/common'; import { Icon } from '@iconify/react'; -import React from 'react'; +import React, { useMemo } from 'react'; import { fetchAvailableServices, t, useAsync } from 'tailchat-shared'; /** - * 检查服务列表 + * 默认检查服务列表 */ -const SERVICES = [ +const DEFAULT_SERVICES = [ { name: 'user', label: t('用户服务'), @@ -41,6 +42,11 @@ const SERVICES = [ * 服务状态 */ export const SettingsStatus: React.FC = React.memo(() => { + const inspectServices = useMemo( + () => [...DEFAULT_SERVICES, ...pluginInspectServices], + [] + ); // 需要检查服务状态的列表 + const { loading, value: availableServices } = useAsync(async () => { const services = await fetchAvailableServices(); @@ -53,7 +59,7 @@ export const SettingsStatus: React.FC = React.memo(() => { return (
- {SERVICES.map((service) => ( + {inspectServices.map((service) => (
{service.label}: {availableServices?.includes(service.name) ? ( diff --git a/web/src/plugin/common/reg.ts b/web/src/plugin/common/reg.ts index 59c17467..5e64d1f9 100644 --- a/web/src/plugin/common/reg.ts +++ b/web/src/plugin/common/reg.ts @@ -111,3 +111,11 @@ export const [pluginColorScheme, regPluginColorScheme] = buildRegList<{ label: string; name: string; }>(); + +/** + * 注册检查服务方案 + */ +export const [pluginInspectServices, regInspectService] = buildRegList<{ + label: string; + name: string; +}>();