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/scene/index.ts | 87 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 87 insertions(+), 0 deletions(-)
diff --git a/src/api/iot/rule/scene/index.ts b/src/api/iot/rule/scene/index.ts
new file mode 100644
index 0000000..0fbde26
--- /dev/null
+++ b/src/api/iot/rule/scene/index.ts
@@ -0,0 +1,87 @@
+import request from '@/config/axios'
+
+// 鍦烘櫙鑱斿姩
+export interface IotSceneRule {
+ id?: number // 鍦烘櫙缂栧彿
+ name: string // 鍦烘櫙鍚嶇О
+ description?: string // 鍦烘櫙鎻忚堪
+ status: number // 鍦烘櫙鐘舵�侊細0-寮�鍚紝1-鍏抽棴
+ triggers: Trigger[] // 瑙﹀彂鍣ㄦ暟缁�
+ actions: Action[] // 鎵ц鍣ㄦ暟缁�
+}
+
+// 瑙﹀彂鍣ㄧ粨鏋�
+export interface Trigger {
+ type: number // 瑙﹀彂绫诲瀷
+ productId?: number // 浜у搧缂栧彿
+ deviceId?: number // 璁惧缂栧彿
+ identifier?: string // 鐗╂ā鍨嬫爣璇嗙
+ operator?: string // 鎿嶄綔绗�
+ value?: string // 鍙傛暟鍊�
+ cronExpression?: string // CRON 琛ㄨ揪寮�
+ conditionGroups?: TriggerCondition[][] // 鏉′欢缁勶紙浜岀淮鏁扮粍锛�
+}
+
+// 瑙﹀彂鏉′欢缁撴瀯
+export interface TriggerCondition {
+ type: number // 鏉′欢绫诲瀷锛�1-璁惧鐘舵�侊紝2-璁惧灞炴�э紝3-褰撳墠鏃堕棿
+ productId?: number // 浜у搧缂栧彿
+ deviceId?: number // 璁惧缂栧彿
+ identifier?: string // 鏍囪瘑绗�
+ operator: string // 鎿嶄綔绗�
+ param: string // 鍙傛暟
+}
+
+// 鎵ц鍣ㄧ粨鏋�
+export interface Action {
+ type: number // 鎵ц绫诲瀷
+ productId?: number // 浜у搧缂栧彿
+ deviceId?: number // 璁惧缂栧彿
+ identifier?: string // 鐗╂ā鍨嬫爣璇嗙锛堟湇鍔¤皟鐢ㄦ椂浣跨敤锛�
+ params?: string // 璇锋眰鍙傛暟
+ alertConfigId?: number // 鍛婅閰嶇疆缂栧彿
+}
+
+// IoT 鍦烘櫙鑱斿姩 API
+export const RuleSceneApi = {
+ // 鏌ヨ鍦烘櫙鑱斿姩鍒嗛〉
+ getRuleScenePage: async (params: any) => {
+ return await request.get({ url: `/iot/scene-rule/page`, params })
+ },
+
+ // 鏌ヨ鍦烘櫙鑱斿姩璇︽儏
+ getRuleScene: async (id: number) => {
+ return await request.get({ url: `/iot/scene-rule/get?id=` + id })
+ },
+
+ // 鏂板鍦烘櫙鑱斿姩
+ createRuleScene: async (data: IotSceneRule) => {
+ return await request.post({ url: `/iot/scene-rule/create`, data })
+ },
+
+ // 淇敼鍦烘櫙鑱斿姩
+ updateRuleScene: async (data: IotSceneRule) => {
+ return await request.put({ url: `/iot/scene-rule/update`, data })
+ },
+
+ // 淇敼鍦烘櫙鑱斿姩
+ updateRuleSceneStatus: async (id: number, status: number) => {
+ return await request.put({
+ url: `/iot/scene-rule/update-status`,
+ data: {
+ id,
+ status
+ }
+ })
+ },
+
+ // 鍒犻櫎鍦烘櫙鑱斿姩
+ deleteRuleScene: async (id: number) => {
+ return await request.delete({ url: `/iot/scene-rule/delete?id=` + id })
+ },
+
+ // 鑾峰彇鍦烘櫙鑱斿姩绠�鍗曞垪琛�
+ getSimpleRuleSceneList: async () => {
+ return await request.get({ url: `/iot/scene-rule/simple-list` })
+ }
+}
--
Gitblit v1.8.0