diff --git a/web/.umirc.ts b/web/.umirc.ts index a3e42026e75..b30d25d7d10 100644 --- a/web/.umirc.ts +++ b/web/.umirc.ts @@ -30,7 +30,7 @@ export default defineConfig({ copy: ['src/conf.json'], proxy: { '/v1': { - target: 'http://123.60.95.134:9380/', + target: 'http://localhost:9380/', changeOrigin: true, ws: true, logger: console, diff --git a/web/src/hooks/flow-hooks.ts b/web/src/hooks/flow-hooks.ts index d7741165f40..19fe558889e 100644 --- a/web/src/hooks/flow-hooks.ts +++ b/web/src/hooks/flow-hooks.ts @@ -191,3 +191,24 @@ export const useResetFlow = () => { return { data, loading, resetFlow: mutateAsync }; }; + +export const useTestDbConnect = () => { + const { + data, + isPending: loading, + mutateAsync, + } = useMutation({ + mutationKey: ['testDbConnect'], + mutationFn: async (params: any) => { + const ret = await flowService.testDbConnect(params); + if (ret?.retcode === 0) { + message.success(ret?.data?.data); + } else { + message.error(ret?.data?.data); + } + return ret; + }, + }); + + return { data, loading, testDbConnect: mutateAsync }; +}; diff --git a/web/src/pages/flow/exesql-form/index.tsx b/web/src/pages/flow/exesql-form/index.tsx index f884d8dd39b..8171fe4e659 100644 --- a/web/src/pages/flow/exesql-form/index.tsx +++ b/web/src/pages/flow/exesql-form/index.tsx @@ -1,11 +1,19 @@ import TopNItem from '@/components/top-n-item'; import { useTranslate } from '@/hooks/common-hooks'; -import { Form, Input, InputNumber, Select } from 'antd'; +import { useTestDbConnect } from '@/hooks/flow-hooks'; +import { Button, Flex, Form, Input, InputNumber, Select } from 'antd'; +import { useCallback } from 'react'; import { ExeSQLOptions } from '../constant'; import { IOperatorForm } from '../interface'; const ExeSQLForm = ({ onValuesChange, form }: IOperatorForm) => { const { t } = useTranslate('flow'); + const { testDbConnect, loading } = useTestDbConnect(); + + const handleTest = useCallback(async () => { + const ret = await form?.validateFields(); + testDbConnect(ret); + }, [form, testDbConnect]); return (
); }; diff --git a/web/src/services/flow-service.ts b/web/src/services/flow-service.ts index 6bb8272e48d..381c0f05ddd 100644 --- a/web/src/services/flow-service.ts +++ b/web/src/services/flow-service.ts @@ -10,6 +10,7 @@ const { removeCanvas, runCanvas, listTemplates, + testDbConnect, } = api; const methods = { @@ -41,6 +42,10 @@ const methods = { url: listTemplates, method: 'get', }, + testDbConnect: { + url: testDbConnect, + method: 'post', + }, } as const; const chatService = registerServer