Commit 6e5f3acb56b4c933b5da012a2d786dcee2fae9b5

Authored by gesilong
1 parent 154bd875

commit: 测试链接功能

... ... @@ -15,6 +15,7 @@ enum API {
15 15 DATA_VIEW_INTERFACE = '/data_view_interface',
16 16 DATA_VIEW_SQL = '/dbConnect',
17 17 DATA_SAVE_SQL = '/dbConnect/save',
  18 + DATA_TEST_SQL = '/dbConnect/testDbConnect',
18 19 DATA_DELETE_SQL = '/dbConnect/delete',
19 20 DATA_GET_SQL = '/dbConnect/get',
20 21
... ... @@ -81,6 +82,12 @@ export const saveDataViewSql = (params: BigScreenInterfaceParams) => {
81 82 data: params,
82 83 });
83 84 };
  85 +export const testDataViewSql = (params: BigScreenInterfaceParams) => {
  86 + return defHttp.post({
  87 + url: API.DATA_TEST_SQL,
  88 + data: params,
  89 + });
  90 +};
84 91 export const deleteBigViewSql = (id: string) => {
85 92 return defHttp.get({
86 93 url: API.DATA_DELETE_SQL + '?id=' + id,
... ...
... ... @@ -11,15 +11,21 @@
11 11 <BasicForm @register="registerForm">
12 12
13 13 </BasicForm>
  14 + <div class="footer">
  15 + <Button type="primary" @click="fnTest">
  16 + 测试链接
  17 + </Button>
  18 + </div>
14 19 </BasicDrawer>
15 20 </div>
16 21 </template>
17 22 <script lang="ts" setup name="sqlApi">
18 23 import {
19 24 getBigViewSql,
20   - saveDataViewSql
  25 + saveDataViewSql, testDataViewSql
21 26 } from "/@/api/bigscreen/center/bigscreenCenter";
22 27 import {BasicDrawer, useDrawerInner} from "/@/components/Drawer";
  28 +import { Button } from 'ant-design-vue';
23 29 import {BasicForm, useForm} from "/@/components/Form";
24 30 import {schemas} from "/@/views/dataview/sqlApi/config/config";
25 31 import {nextTick, ref} from "vue";
... ... @@ -67,7 +73,7 @@ const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (
67 73 }
68 74 });
69 75
70   -const [registerForm, { resetFields, validate, setFieldsValue, updateSchema }] = useForm({
  76 +const [registerForm, { resetFields, validate, setFieldsValue, updateSchema,getFieldsValue }] = useForm({
71 77 labelWidth: 160,
72 78 schemas: schemas(),
73 79 showActionButtonGroup: false,
... ... @@ -110,4 +116,44 @@ const handleSubmit = async () => {
110 116 setDrawerProps({ loading: false });
111 117 }
112 118 }
  119 +const fnTest = async () => {
  120 + const values = getFieldsValue();
  121 + const {
  122 + ssh_ip,
  123 + ssh_port,
  124 + ssh_privateKey,
  125 + ssh_sshPassword,
  126 + ssh_verifyMethod,
  127 + ...restValues
  128 + } = values;
  129 +
  130 +// 2. 创建新对象时直接排除这些字段
  131 + const processedData: any = {
  132 + ...restValues, // 这里不包含 ssh_* 字段
  133 + id: putId.value || null,
  134 + ssl: sslId.value ? { id: sslId.value } : null,
  135 + ssh: {
  136 + id: sshId.value || null,
  137 + ip: ssh_ip,
  138 + port: ssh_port,
  139 + sshName: values.ssh_sshName,
  140 + privateKey: values.ssh_privateKey?.[0]?.url || '',
  141 + privateKeyFileName: values.ssh_privateKey?.[0]?.name || '',
  142 + sshPassword: ssh_sshPassword,
  143 + verifyMethod: ssh_verifyMethod
  144 + }
  145 + };
  146 + const res = await testDataViewSql(processedData);
  147 + if (res === false) {
  148 + createMessage.error('测试链接失败')
  149 + }else if (res === true){
  150 + createMessage.success('测试链接成功')
  151 + }
  152 +}
113 153 </script>
  154 +<style lang="less" scoped>
  155 +.footer {
  156 + margin-top: 50px;
  157 + text-align: right;
  158 +}
  159 +</style>
... ...