From 49921150cbdcf2ec681486f36bc78411ea1ff035 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期二, 03 十一月 2026 13:28:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_tide_wrzs_xinlan' into dev_tide_wrzs_xinlan

---
 src/api/environmentAccess/deviceMonitor.js |  138 +++++++++++++++++++++------------------------
 1 files changed, 65 insertions(+), 73 deletions(-)

diff --git a/src/api/environmentAccess/deviceMonitor.js b/src/api/environmentAccess/deviceMonitor.js
index 0b7edf5..a35ba35 100644
--- a/src/api/environmentAccess/deviceMonitor.js
+++ b/src/api/environmentAccess/deviceMonitor.js
@@ -1,77 +1,69 @@
 import request from "@/utils/request";
-import { getToken } from "@/utils/auth";
 
-export const listDeviceMonitor = () => request({ url: "/environmentAccess/deviceMonitor/list", method: "get" });
-export const collectTelemetry = () => request({ url: "/environmentAccess/deviceMonitor/collect", method: "post" });
-export const listDeviceAlarms = () => request({ url: "/environmentAccess/deviceMonitor/alarms", method: "get" });
-export const controlDevice = (deviceId, action) => request({
-  url: "/environmentAccess/deviceMonitor/control",
-  method: "post",
-  data: { deviceId, action },
-});
-
-/**
- * 浣跨敤甯� Authorization 璇锋眰澶寸殑 fetch 璁㈤槄 SSE 鎶ヨ娴併��
- * 鍘熺敓 EventSource 鏃犳硶鎼哄甫鏈」鐩殑 Bearer Token锛屽洜姝ゅ湪杩欓噷瑙f瀽浜嬩欢娴併��
- */
-export function subscribeDeviceAlarms(onAlarm, onState = () => {}) {
-  let stopped = false;
-  let controller;
-  let retryTimer;
-
-  const processBlock = (block) => {
-    let event = "message";
-    const data = [];
-    block.split("\n").forEach((line) => {
-      if (line.startsWith("event:")) event = line.slice(6).trim();
-      if (line.startsWith("data:")) data.push(line.slice(5).trim());
-    });
-    if (event !== "alarm" || !data.length) return;
-    try { onAlarm(JSON.parse(data.join("\n"))); } catch (error) { console.warn("鎶ヨ鏁版嵁瑙f瀽澶辫触", error); }
-  };
-
-  const connect = async () => {
-    if (stopped) return;
-    controller = new AbortController();
-    onState("connecting");
-    try {
-      const response = await fetch(`${import.meta.env.VITE_APP_BASE_API}/environmentAccess/deviceMonitor/alarm-stream`, {
-        headers: { Authorization: `Bearer ${getToken()}` },
-        signal: controller.signal,
-        cache: "no-store",
-      });
-      if (!response.ok || !response.body) throw new Error(`SSE ${response.status}`);
-      onState("connected");
-      const reader = response.body.getReader();
-      const decoder = new TextDecoder("utf-8");
-      let buffer = "";
-      while (!stopped) {
-        const { value, done } = await reader.read();
-        if (done) break;
-        buffer += decoder.decode(value, { stream: true }).replace(/\r/g, "");
-        let boundary;
-        while ((boundary = buffer.indexOf("\n\n")) >= 0) {
-          processBlock(buffer.slice(0, boundary));
-          buffer = buffer.slice(boundary + 2);
-        }
-      }
-    } catch (error) {
-      if (!stopped && error?.name !== "AbortError") console.warn("鎶ヨ鎺ㄩ�佽繛鎺ヤ腑鏂�", error);
-    }
-    if (!stopped) {
-      onState("reconnecting");
-      retryTimer = window.setTimeout(connect, 3000);
-    }
-  };
-
-  connect();
-  return {
-    close() {
-      stopped = true;
-      window.clearTimeout(retryTimer);
-      controller?.abort();
-      onState("closed");
-    },
-  };
+// ==================== 鐩戞帶璁惧 ====================
+export function listMonitorDevice(query) {
+  return request({ url: "/environmentAccess/monitorDevicePage", method: "get", params: query });
+}
+export function listAllMonitorDevice() {
+  return request({ url: "/environmentAccess/monitorDeviceList", method: "get" });
+}
+export function getMonitorDevice(id) {
+  return request({ url: "/environmentAccess/monitorDeviceInfo", method: "get", params: { id } });
+}
+export function addMonitorDevice(data) {
+  return request({ url: "/environmentAccess/monitorDeviceAdd", method: "post", data });
+}
+export function updateMonitorDevice(data) {
+  return request({ url: "/environmentAccess/monitorDeviceUpdate", method: "put", data });
+}
+export function delMonitorDevice(ids) {
+  return request({ url: "/environmentAccess/monitorDeviceDelete", method: "delete", data: ids });
 }
 
+// ==================== 鐩戞祴鎸囨爣 ====================
+export function listMonitorMetric(deviceId) {
+  return request({ url: "/environmentAccess/monitorMetricList", method: "get", params: { deviceId } });
+}
+export function addMonitorMetric(data) {
+  return request({ url: "/environmentAccess/monitorMetricAdd", method: "post", data });
+}
+export function updateMonitorMetric(data) {
+  return request({ url: "/environmentAccess/monitorMetricUpdate", method: "put", data });
+}
+export function delMonitorMetric(ids) {
+  return request({ url: "/environmentAccess/monitorMetricDelete", method: "delete", data: ids });
+}
+
+// ==================== 鏁版嵁閲囬泦 ====================
+export function reportMonitorData(params) {
+  return request({ url: "/environmentAccess/monitorDataReport", method: "post", params });
+}
+// 鐩戞祴鍘嗗彶鏁版嵁(瓒嬪娍鏇茬嚎)
+export function listMonitorDataHistory(params) {
+  return request({ url: "/environmentAccess/monitorDataHistory", method: "get", params });
+}
+
+// ==================== 鎶ヨ ====================
+export function listMonitorAlarm(query) {
+  return request({ url: "/environmentAccess/monitorAlarmPage", method: "get", params: query });
+}
+export function listUnhandledAlarm() {
+  return request({ url: "/environmentAccess/monitorAlarmUnhandled", method: "get" });
+}
+export function handleMonitorAlarm(id, handleRemark) {
+  return request({ url: "/environmentAccess/monitorAlarmHandle", method: "put", params: { id, handleRemark } });
+}
+export function delMonitorAlarm(ids) {
+  return request({ url: "/environmentAccess/monitorAlarmDelete", method: "delete", data: ids });
+}
+
+// ==================== 杩滅▼鎺у埗 ====================
+export function remoteControlDevice(params) {
+  return request({ url: "/environmentAccess/monitorControl", method: "post", params });
+}
+export function listMonitorControl(query) {
+  return request({ url: "/environmentAccess/monitorControlPage", method: "get", params: query });
+}
+export function getMonitorOverview() {
+  return request({ url: "/environmentAccess/monitorOverview", method: "get" });
+}

--
Gitblit v1.9.3