Commit 6e5f3acb56b4c933b5da012a2d786dcee2fae9b5

Authored by gesilong
1 parent 154bd875

commit: 测试链接功能

@@ -15,6 +15,7 @@ enum API { @@ -15,6 +15,7 @@ enum API {
15 DATA_VIEW_INTERFACE = '/data_view_interface', 15 DATA_VIEW_INTERFACE = '/data_view_interface',
16 DATA_VIEW_SQL = '/dbConnect', 16 DATA_VIEW_SQL = '/dbConnect',
17 DATA_SAVE_SQL = '/dbConnect/save', 17 DATA_SAVE_SQL = '/dbConnect/save',
  18 + DATA_TEST_SQL = '/dbConnect/testDbConnect',
18 DATA_DELETE_SQL = '/dbConnect/delete', 19 DATA_DELETE_SQL = '/dbConnect/delete',
19 DATA_GET_SQL = '/dbConnect/get', 20 DATA_GET_SQL = '/dbConnect/get',
20 21
@@ -81,6 +82,12 @@ export const saveDataViewSql = (params: BigScreenInterfaceParams) => { @@ -81,6 +82,12 @@ export const saveDataViewSql = (params: BigScreenInterfaceParams) => {
81 data: params, 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 export const deleteBigViewSql = (id: string) => { 91 export const deleteBigViewSql = (id: string) => {
85 return defHttp.get({ 92 return defHttp.get({
86 url: API.DATA_DELETE_SQL + '?id=' + id, 93 url: API.DATA_DELETE_SQL + '?id=' + id,
@@ -11,15 +11,21 @@ @@ -11,15 +11,21 @@
11 <BasicForm @register="registerForm"> 11 <BasicForm @register="registerForm">
12 12
13 </BasicForm> 13 </BasicForm>
  14 + <div class="footer">
  15 + <Button type="primary" @click="fnTest">
  16 + 测试链接
  17 + </Button>
  18 + </div>
14 </BasicDrawer> 19 </BasicDrawer>
15 </div> 20 </div>
16 </template> 21 </template>
17 <script lang="ts" setup name="sqlApi"> 22 <script lang="ts" setup name="sqlApi">
18 import { 23 import {
19 getBigViewSql, 24 getBigViewSql,
20 - saveDataViewSql 25 + saveDataViewSql, testDataViewSql
21 } from "/@/api/bigscreen/center/bigscreenCenter"; 26 } from "/@/api/bigscreen/center/bigscreenCenter";
22 import {BasicDrawer, useDrawerInner} from "/@/components/Drawer"; 27 import {BasicDrawer, useDrawerInner} from "/@/components/Drawer";
  28 +import { Button } from 'ant-design-vue';
23 import {BasicForm, useForm} from "/@/components/Form"; 29 import {BasicForm, useForm} from "/@/components/Form";
24 import {schemas} from "/@/views/dataview/sqlApi/config/config"; 30 import {schemas} from "/@/views/dataview/sqlApi/config/config";
25 import {nextTick, ref} from "vue"; 31 import {nextTick, ref} from "vue";
@@ -67,7 +73,7 @@ const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async ( @@ -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 labelWidth: 160, 77 labelWidth: 160,
72 schemas: schemas(), 78 schemas: schemas(),
73 showActionButtonGroup: false, 79 showActionButtonGroup: false,
@@ -110,4 +116,44 @@ const handleSubmit = async () => { @@ -110,4 +116,44 @@ const handleSubmit = async () => {
110 setDrawerProps({ loading: false }); 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 </script> 153 </script>
  154 +<style lang="less" scoped>
  155 +.footer {
  156 + margin-top: 50px;
  157 + text-align: right;
  158 +}
  159 +</style>