From ad376b24b44c4634620531b8445479b21a0a81ef Mon Sep 17 00:00:00 2001 From: puhui999 Date: Fri, 13 Mar 2026 12:27:09 +0800 Subject: [PATCH] =?UTF-8?q?feat(iot):=20=E5=89=8D=E7=AB=AF=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=20Database=20=E6=95=B0=E6=8D=AE=E7=9B=AE=E7=9A=84?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E8=A1=A8=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. DatabaseConfigForm.vue: 新增 Database 配置表单(JDBC地址/用户名/密码/目标表名) 2. config/index.ts: 导出 DatabaseConfigForm 组件 3. DataSinkForm.vue: 引入 DatabaseConfigForm 条件渲染和校验规则 4. api/sink/index.ts: 添加 DatabaseConfig 接口和联合类型 --- src/api/iot/rule/data/sink/index.ts | 9 ++++ src/views/iot/rule/data/sink/DataSinkForm.vue | 8 ++++ .../data/sink/config/DatabaseConfigForm.vue | 44 +++++++++++++++++++ src/views/iot/rule/data/sink/config/index.ts | 2 + 4 files changed, 63 insertions(+) create mode 100644 src/views/iot/rule/data/sink/config/DatabaseConfigForm.vue diff --git a/src/api/iot/rule/data/sink/index.ts b/src/api/iot/rule/data/sink/index.ts index 31a2659a7..9bc356bc7 100644 --- a/src/api/iot/rule/data/sink/index.ts +++ b/src/api/iot/rule/data/sink/index.ts @@ -13,6 +13,7 @@ export interface DataSinkVO { | TcpConfig | WebSocketConfig | MqttConfig + | DatabaseConfig | RocketMQConfig | KafkaMQConfig | RabbitMQConfig @@ -73,6 +74,14 @@ export interface MqttConfig extends Config { topic: string } +/** Database 配置 */ +export interface DatabaseConfig extends Config { + jdbcUrl: string + username: string + password: string + tableName: string +} + /** RocketMQ 配置 */ export interface RocketMQConfig extends Config { nameServer: string diff --git a/src/views/iot/rule/data/sink/DataSinkForm.vue b/src/views/iot/rule/data/sink/DataSinkForm.vue index 2aca73f9d..5165bea3e 100644 --- a/src/views/iot/rule/data/sink/DataSinkForm.vue +++ b/src/views/iot/rule/data/sink/DataSinkForm.vue @@ -30,6 +30,10 @@ v-model="formData.config" /> + + + + + + + + + + + + + + + diff --git a/src/views/iot/rule/data/sink/config/index.ts b/src/views/iot/rule/data/sink/config/index.ts index f04808f58..67b0d2fa6 100644 --- a/src/views/iot/rule/data/sink/config/index.ts +++ b/src/views/iot/rule/data/sink/config/index.ts @@ -2,6 +2,7 @@ import HttpConfigForm from './HttpConfigForm.vue' import TcpConfigForm from './TcpConfigForm.vue' import WebSocketConfigForm from './WebSocketConfigForm.vue' import MqttConfigForm from './MqttConfigForm.vue' +import DatabaseConfigForm from './DatabaseConfigForm.vue' import RocketMQConfigForm from './RocketMQConfigForm.vue' import KafkaMQConfigForm from './KafkaMQConfigForm.vue' import RabbitMQConfigForm from './RabbitMQConfigForm.vue' @@ -12,6 +13,7 @@ export { TcpConfigForm, WebSocketConfigForm, MqttConfigForm, + DatabaseConfigForm, RocketMQConfigForm, KafkaMQConfigForm, RabbitMQConfigForm,