diff --git a/frontend/packages/core/src/pages/aiService/AiServiceInsidePage.tsx b/frontend/packages/core/src/pages/aiService/AiServiceInsidePage.tsx index 025ac7fd..ff9c0187 100644 --- a/frontend/packages/core/src/pages/aiService/AiServiceInsidePage.tsx +++ b/frontend/packages/core/src/pages/aiService/AiServiceInsidePage.tsx @@ -221,6 +221,10 @@ const AiServiceInsidePage: FC = () => { useEffect(() => { serviceId && getAiServiceInfo() }, [serviceId]) + // 创建一个回调函数 + const onSaveCallback = () => { + getAiServiceInfo() + } return ( <> @@ -251,7 +255,7 @@ const AiServiceInsidePage: FC = () => {
- +
diff --git a/frontend/packages/core/src/pages/system/SystemConfig.tsx b/frontend/packages/core/src/pages/system/SystemConfig.tsx index 2a139452..0c48a97a 100644 --- a/frontend/packages/core/src/pages/system/SystemConfig.tsx +++ b/frontend/packages/core/src/pages/system/SystemConfig.tsx @@ -14,11 +14,23 @@ import { AiServiceConfigFieldType } from '@core/const/ai-service/type.ts' import { MCP_OPTIONS, SERVICE_APPROVAL_OPTIONS } from '@core/const/system/const.tsx' import { Icon } from '@iconify/react/dist/iconify.js' import { CategorizesType } from '@market/const/serviceHub/type.ts' -import { App, Button, Form, Input, Radio, RadioChangeEvent, Row, Select, Switch, Tooltip, TreeSelect, Upload } from 'antd' +import { + App, + Button, + Form, + Input, + Radio, + RadioChangeEvent, + Row, + Select, + Tooltip, + TreeSelect, + Upload +} from 'antd' import { DefaultOptionType } from 'antd/es/cascader' import { RcFile, UploadChangeParam, UploadFile, UploadProps } from 'antd/es/upload/interface' import { forwardRef, useEffect, useImperativeHandle, useMemo, useState } from 'react' -import { Link, useLocation, useNavigate, useParams } from 'react-router-dom' +import { Link, useLocation, useNavigate, useOutletContext, useParams } from 'react-router-dom' import { v4 as uuidv4 } from 'uuid' import { SystemConfigFieldType, SystemConfigHandle } from '../../const/system/type.ts' import { useSystemContext } from '../../contexts/SystemContext.tsx' @@ -43,6 +55,8 @@ const SystemConfig = forwardRef((_, ref) => { const [showAI, setShowAI] = useState(false) const [imageBase64, setImageBase64] = useState(null) const [tagOptionList, setTagOptionList] = useState([]) + const context = useOutletContext<{ onSaveComplete?: () => void }>() + const onSaveComplete = context?.onSaveComplete const [serviceClassifyOptionList, setServiceClassifyOptionList] = useState() const [uploadLoading, setUploadLoading] = useState(false) const { checkPermission, accessInit, getGlobalAccessData, state, aiConfigFlushed, setAiConfigFlushed } = @@ -274,6 +288,7 @@ const SystemConfig = forwardRef((_, ref) => { if (code === STATUS_CODE.SUCCESS) { message.success(msg || $t(RESPONSE_TIPS.success)) setSystemInfo(data.service) + onSaveComplete?.() return Promise.resolve(true) } else { message.error(msg || $t(RESPONSE_TIPS.error)) @@ -464,7 +479,11 @@ const SystemConfig = forwardRef((_, ref) => { )} label={$t('MCP')} name="enable_mcp" rules={[{ required: true }]}> - + {showAI && ( <>