From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目
---
src/api/iot/rule/data/sink/index.ts | 126 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 126 insertions(+), 0 deletions(-)
diff --git a/src/api/iot/rule/data/sink/index.ts b/src/api/iot/rule/data/sink/index.ts
new file mode 100644
index 0000000..3e2755e
--- /dev/null
+++ b/src/api/iot/rule/data/sink/index.ts
@@ -0,0 +1,126 @@
+import request from '@/config/axios'
+
+// IoT 鏁版嵁娴佽浆鐩殑 VO
+export interface DataSinkVO {
+ id?: number // 妗ユ缂栧彿
+ name?: string // 妗ユ鍚嶇О
+ description?: string // 妗ユ鎻忚堪
+ status?: number // 妗ユ鐘舵��
+ direction?: number // 妗ユ鏂瑰悜
+ type?: number // 妗ユ绫诲瀷
+ config?:
+ | HttpConfig
+ | MqttConfig
+ | RocketMQConfig
+ | KafkaMQConfig
+ | RabbitMQConfig
+ | RedisStreamMQConfig // 妗ユ閰嶇疆
+}
+
+interface Config {
+ type: string
+}
+
+/** HTTP 閰嶇疆 */
+export interface HttpConfig extends Config {
+ url: string
+ method: string
+ headers: Record<string, string>
+ query: Record<string, string>
+ body: string
+}
+
+/** MQTT 閰嶇疆 */
+export interface MqttConfig extends Config {
+ url: string
+ username: string
+ password: string
+ clientId: string
+ topic: string
+}
+
+/** RocketMQ 閰嶇疆 */
+export interface RocketMQConfig extends Config {
+ nameServer: string
+ accessKey: string
+ secretKey: string
+ group: string
+ topic: string
+ tags: string
+}
+
+/** Kafka 閰嶇疆 */
+export interface KafkaMQConfig extends Config {
+ bootstrapServers: string
+ username: string
+ password: string
+ ssl: boolean
+ topic: string
+}
+
+/** RabbitMQ 閰嶇疆 */
+export interface RabbitMQConfig extends Config {
+ host: string
+ port: number
+ virtualHost: string
+ username: string
+ password: string
+ exchange: string
+ routingKey: string
+ queue: string
+}
+
+/** Redis Stream MQ 閰嶇疆 */
+export interface RedisStreamMQConfig extends Config {
+ host: string
+ port: number
+ password: string
+ database: number
+ topic: string
+}
+
+/** 鏁版嵁娴佽浆鐩殑绫诲瀷 */
+export const IotDataSinkTypeEnum = {
+ HTTP: 1,
+ TCP: 2,
+ WEBSOCKET: 3,
+ MQTT: 10,
+ DATABASE: 20,
+ REDIS_STREAM: 21,
+ ROCKETMQ: 30,
+ RABBITMQ: 31,
+ KAFKA: 32
+} as const
+
+// 鏁版嵁娴佽浆鐩殑 API
+export const DataSinkApi = {
+ // 鏌ヨ鏁版嵁娴佽浆鐩殑鍒嗛〉
+ getDataSinkPage: async (params: any) => {
+ return await request.get({ url: `/iot/data-sink/page`, params })
+ },
+
+ // 鏌ヨ鏁版嵁娴佽浆鐩殑璇︽儏
+ getDataSink: async (id: number) => {
+ return await request.get({ url: `/iot/data-sink/get?id=` + id })
+ },
+
+ // 鏂板鏁版嵁娴佽浆鐩殑
+ createDataSink: async (data: DataSinkVO) => {
+ return await request.post({ url: `/iot/data-sink/create`, data })
+ },
+
+ // 淇敼鏁版嵁娴佽浆鐩殑
+ updateDataSink: async (data: DataSinkVO) => {
+ return await request.put({ url: `/iot/data-sink/update`, data })
+ },
+
+ // 鍒犻櫎鏁版嵁娴佽浆鐩殑
+ deleteDataSink: async (id: number) => {
+ return await request.delete({ url: `/iot/data-sink/delete?id=` + id })
+ },
+
+ // 鏌ヨ鏁版嵁娴佽浆鐩殑锛堢簿绠�锛夊垪琛�
+ getDataSinkSimpleList() {
+ return request.get({ url: '/iot/data-sink/simple-list' })
+ }
+}
--
Gitblit v1.8.0