diff --git a/frontend/packages/common/src/components/aoplatform/EditableTableWithModal.tsx b/frontend/packages/common/src/components/aoplatform/EditableTableWithModal.tsx index e388c6f9..8cc994c9 100644 --- a/frontend/packages/common/src/components/aoplatform/EditableTableWithModal.tsx +++ b/frontend/packages/common/src/components/aoplatform/EditableTableWithModal.tsx @@ -15,6 +15,7 @@ export interface ConfigField { renderText?: (value: unknown, record: T) => string; required?: boolean; ellipsis?:boolean + unRender?:(form:FormInstance)=>boolean } interface EditableTableWithModalProps { @@ -39,6 +40,7 @@ const EditableTableWithModal = ({ const [configurations, setConfigurations] = useState(value ||[]); const [editingConfig, setEditingConfig] = useState(null); const {state} = useGlobalContext() + const [formsValue, setFormsValue] = useState>() const showModal = (config?: T) => { if (config) { @@ -111,18 +113,23 @@ const EditableTableWithModal = ({ ],[state.language, disabled, configFields]) - const formItems = configFields.map(({ title,key, component, required }) => { - return ( - - {component} - - ) + const formItems = useMemo(()=>{ + return configFields.map(({ title,key, component, required,unRender }) => { + return ( + unRender && unRender(formsValue) ? null : + + {component} + + ) + }) } - ); + ,[formsValue]) + + return ( <> @@ -142,6 +149,9 @@ const EditableTableWithModal = ({
{ + setFormsValue(form.getFieldsValue()) + })} // labelCol={{ span: 7 }} // wrapperCol={{ span: 17}} autoComplete="off"> diff --git a/frontend/packages/common/src/components/aoplatform/PublishApprovalModalContent.tsx b/frontend/packages/common/src/components/aoplatform/PublishApprovalModalContent.tsx index 022df0de..66ef75ae 100644 --- a/frontend/packages/common/src/components/aoplatform/PublishApprovalModalContent.tsx +++ b/frontend/packages/common/src/components/aoplatform/PublishApprovalModalContent.tsx @@ -195,7 +195,7 @@ export const PublishApprovalModalContent = forwardRef } - {$t('API 列表')}: + {$t('路由列表')}: value.join(',') + render:(value)=>value?.join(', ') }, { title:('路径'), diff --git a/frontend/packages/common/src/locales/scan/newJson/en-GB.json b/frontend/packages/common/src/locales/scan/newJson/en-GB.json index 2c63c085..f33c6e33 100644 --- a/frontend/packages/common/src/locales/scan/newJson/en-GB.json +++ b/frontend/packages/common/src/locales/scan/newJson/en-GB.json @@ -1,2 +1,3 @@ { + "K4758140d": "路由列表" } diff --git a/frontend/packages/common/src/locales/scan/newJson/zh-CN.json b/frontend/packages/common/src/locales/scan/newJson/zh-CN.json index f3239c9a..f33c6e33 100644 --- a/frontend/packages/common/src/locales/scan/newJson/zh-CN.json +++ b/frontend/packages/common/src/locales/scan/newJson/zh-CN.json @@ -1,5 +1,3 @@ { - "K71753476": "是否放行", - "K597435c5": "监控", - "Kde9d6e8e": "开启拦截后,网关会拦截所有该路径的请求,相当于防火墙禁用了特定路径的访问。" + "K4758140d": "路由列表" } diff --git a/frontend/packages/core/src/const/system/const.tsx b/frontend/packages/core/src/const/system/const.tsx index fbdd80c6..c2d6c3c7 100644 --- a/frontend/packages/core/src/const/system/const.tsx +++ b/frontend/packages/core/src/const/system/const.tsx @@ -72,8 +72,8 @@ export const SYSTEM_I18NEXT_FOR_ENUM = { export const HTTP_METHOD = ['GET','POST','PUT','DELETE','PATCH','HEAD'] export const API_PROTOCOL = [ - {label:'HTTP',value:'http'}, - {label:'HTTPS',value:'https'} + {label:'HTTP',value:'HTTP'}, + {label:'HTTPS',value:'HTTPS'} ] @@ -259,6 +259,7 @@ export const MATCH_CONFIG:ConfigField[] = [ }, { title:('参数值'), key: 'pattern', + unRender:(formValue)=>{return formValue?.matchType === 'NULL' || formValue?.matchType==='EXIST' || formValue?.matchType === 'UNEXIST'}, component: , renderText: (value: string) => { return value @@ -278,17 +279,17 @@ export const SYSTEM_API_TABLE_COLUMNS: PageProColumns[] title:('协议'), dataIndex: 'protocols', ellipsis:true, - renderText:(value)=>value?.join(',') + renderText:(value)=>value?.join(', ') }, { title:('方法'), - dataIndex: 'method', + dataIndex: 'methods', ellipsis:true, - renderText:(value)=>value?.join(',') + renderText:(value)=>value?.join(', ') }, { title:'是否放行', - dataIndex:'isDisabled', + dataIndex:'disable', ellipsis:true, filters: true, onFilter: true, diff --git a/frontend/packages/core/src/const/system/type.ts b/frontend/packages/core/src/const/system/type.ts index ac28cb6d..9dc7636a 100644 --- a/frontend/packages/core/src/const/system/type.ts +++ b/frontend/packages/core/src/const/system/type.ts @@ -95,7 +95,7 @@ export type SystemApiProxyFieldType = { id:string; description?:string; path:string; - method:string[]; + methods:string[]; match:MatchItem[] isDisable?: boolean; service?:string; @@ -295,6 +295,7 @@ export type SystemInsideApiProxyProps = { teamId:string initProxyValue?:SystemApiProxyType value?:SystemApiProxyType + type:'add'|'edit' onChange?: (newConfigItems: SystemApiProxyType) => void; // 当配置项变化时,外部传入的回调函数 } diff --git a/frontend/packages/core/src/pages/system/api/SystemInsideApiProxy.tsx b/frontend/packages/core/src/pages/system/api/SystemInsideApiProxy.tsx index 3f51eb4c..882d9071 100644 --- a/frontend/packages/core/src/pages/system/api/SystemInsideApiProxy.tsx +++ b/frontend/packages/core/src/pages/system/api/SystemInsideApiProxy.tsx @@ -9,7 +9,7 @@ import { $t } from "@common/locales"; import { useGlobalContext } from "@common/contexts/GlobalStateContext"; const SystemInsideApiProxy = forwardRef((props,ref)=>{ - const {value, onChange, className,initProxyValue} = props + const {value, onChange, className,initProxyValue,type} = props const {state} = useGlobalContext() const [form] = Form.useForm(); @@ -51,7 +51,7 @@ const SystemInsideApiProxy = forwardRef - + diff --git a/frontend/packages/core/src/pages/system/api/SystemInsideRouterCreate.tsx b/frontend/packages/core/src/pages/system/api/SystemInsideRouterCreate.tsx index 22946b84..bf551103 100644 --- a/frontend/packages/core/src/pages/system/api/SystemInsideRouterCreate.tsx +++ b/frontend/packages/core/src/pages/system/api/SystemInsideRouterCreate.tsx @@ -25,7 +25,7 @@ const SystemInsideRouterCreate = forwardRef{ return Promise.all([proxyRef.current?.validate?.(), form.validateFields()]).then(([,formValue])=>{ const body = {...formValue,path:formValue.path.trim(),proxy:{...formValue.proxy,path:formValue.proxy.path ? (formValue.proxy.path.startsWith('/')? formValue.proxy.path: '/'+ formValue.proxy.path) : undefined}} - return fetchData>('service/router',{method: type === 'add' ? 'POST' : 'PUT',eoBody:(body), eoParams: {service:serviceId,team:teamId, ...(type === 'edit' ? {router:entity?.id}: {})},eoTransformKeys:['matchType','isDisable']}).then(response=>{ + return fetchData>('service/router',{method: type === 'add' ? 'POST' : 'PUT',eoBody:(body), eoParams: {service:serviceId,team:teamId, ...(type === 'edit' ? {router:entity?.id}: {})},eoTransformKeys:['matchType','disable']}).then(response=>{ const {code,msg} = response if(code === STATUS_CODE.SUCCESS){ message.success(msg || $t(RESPONSE_TIPS.success)) @@ -63,11 +63,11 @@ const SystemInsideRouterCreate = forwardRef{ setLoading(true) - fetchData>('service/router/detail',{method:'GET',eoParams:{service:serviceId,team:teamId, router:entity!.id}}).then(response=>{ + fetchData>('service/router/detail',{method:'GET',eoParams:{service:serviceId,team:teamId, router:entity!.id}, eoTransformKeys:['create_time','update_time','match_type','upstream_id','opt_type']}).then(response=>{ const {code,data,msg} = response if(code === STATUS_CODE.SUCCESS){ - const {isDisable, protocols, path, method, description, match, proxy} = data.router - form.setFieldsValue({isDisable, protocols, path, method, description, match,proxy + const {disable, protocols, path, methods, description, match, proxy} = data.router + form.setFieldsValue({disable, protocols, path, methods, description, match,proxy }) }else{ message.error(msg || $t(RESPONSE_TIPS.error)) @@ -85,7 +85,7 @@ const SystemInsideRouterCreate = forwardRef {$t('API 基础信息')} label={$t("拦截该接口的请求")} - name="isDisable" + name="disable" extra={$t('开启拦截后,网关会拦截所有该路径的请求,相当于防火墙禁用了特定路径的访问。')} > @@ -158,13 +158,13 @@ const SystemInsideRouterCreate = forwardRef - label={$t("请求方式")} - name="method" + name="methods" rules={[{ required: true }]} >
{ useEffect(()=>{ if(!service) return setServiceName(service?.name) - setApiDocument(service.apiDoc) + setApiDocument(service?.apiDoc) },[service]) useEffect(() => { @@ -41,7 +41,7 @@ const ServiceHubApiDocument = ({service}:{service:ServiceDetailType})=>{ - { closeIcon={false} > - + */} ) }