diff --git a/src/views/iot/rule/databridge/IoTDataBridgeForm.vue b/src/views/iot/rule/databridge/IoTDataBridgeForm.vue index bb38d6be..3f744087 100644 --- a/src/views/iot/rule/databridge/IoTDataBridgeForm.vue +++ b/src/views/iot/rule/databridge/IoTDataBridgeForm.vue @@ -5,7 +5,7 @@ v-loading="formLoading" :model="formData" :rules="formRules" - label-width="100px" + label-width="120px" > @@ -100,13 +100,44 @@ const formData = ref({ config: {} as any }) const formRules = reactive({ + // 通用字段 name: [{ required: true, message: '桥梁名称不能为空', trigger: 'blur' }], status: [{ required: true, message: '桥梁状态不能为空', trigger: 'blur' }], direction: [{ required: true, message: '桥梁方向不能为空', trigger: 'blur' }], type: [{ required: true, message: '桥梁类型不能为空', trigger: 'change' }], + // HTTP 配置 + 'config.url': [{ required: true, message: '请求地址不能为空', trigger: 'blur' }], + 'config.method': [{ required: true, message: '请求方法不能为空', trigger: 'blur' }], + // MQTT 配置 + 'config.username': [{ required: true, message: '用户名不能为空', trigger: 'blur' }], + 'config.password': [{ required: true, message: '密码不能为空', trigger: 'blur' }], + 'config.clientId': [{ required: true, message: '客户端ID不能为空', trigger: 'blur' }], + 'config.topic': [{ required: true, message: '主题不能为空', trigger: 'blur' }], + // RocketMQ 配置 + 'config.nameServer': [{ required: true, message: 'NameServer 地址不能为空', trigger: 'blur' }], + 'config.accessKey': [{ required: true, message: 'AccessKey 不能为空', trigger: 'blur' }], + 'config.secretKey': [{ required: true, message: 'SecretKey 不能为空', trigger: 'blur' }], + 'config.group': [{ required: true, message: '消费组不能为空', trigger: 'blur' }], + // Kafka 配置 'config.bootstrapServers': [{ required: true, message: '服务地址不能为空', trigger: 'blur' }], - 'config.topic': [{ required: true, message: '主题不能为空', trigger: 'blur' }] + 'config.ssl': [{ required: true, message: 'SSL 配置不能为空', trigger: 'change' }], + // RabbitMQ 配置 + 'config.host': [{ required: true, message: '主机地址不能为空', trigger: 'blur' }], + 'config.port': [ + { required: true, message: '端口不能为空', trigger: 'blur' }, + { type: 'number', min: 1, max: 65535, message: '端口号范围 1-65535', trigger: 'blur' } + ], + 'config.virtualHost': [{ required: true, message: '虚拟主机不能为空', trigger: 'blur' }], + 'config.exchange': [{ required: true, message: '交换机不能为空', trigger: 'blur' }], + 'config.routingKey': [{ required: true, message: '路由键不能为空', trigger: 'blur' }], + 'config.queue': [{ required: true, message: '队列不能为空', trigger: 'blur' }], + // Redis Stream 配置 + 'config.database': [ + { required: true, message: '数据库索引不能为空', trigger: 'blur' }, + { type: 'number', min: 0, message: '数据库索引必须是非负整数', trigger: 'blur' } + ] }) + const formRef = ref() // 表单 Ref const showConfig = computed(() => (val: string) => { const label = getDictLabel(DICT_TYPE.IOT_DATA_BRIDGE_TYPE_ENUM, formData.value.type) diff --git a/src/views/iot/rule/databridge/config/MqttConfigForm.vue b/src/views/iot/rule/databridge/config/MqttConfigForm.vue index 37bb363d..2aa17011 100644 --- a/src/views/iot/rule/databridge/config/MqttConfigForm.vue +++ b/src/views/iot/rule/databridge/config/MqttConfigForm.vue @@ -1,5 +1,5 @@