From ca74058a77d7c9000a485502a2b53fbef5807ef5 Mon Sep 17 00:00:00 2001
From: guonan <guonan201020@163.com>
Date: 星期四, 03 七月 2025 14:08:02 +0800
Subject: [PATCH] 历史回放

---
 src/api/trApi.js |  151 +++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 118 insertions(+), 33 deletions(-)

diff --git a/src/api/trApi.js b/src/api/trApi.js
index 7588136..f826b82 100644
--- a/src/api/trApi.js
+++ b/src/api/trApi.js
@@ -24,8 +24,21 @@
 // 鑾峰彇鏂规鍒楄〃
 export async function getSimData() {
   try {
-    const res = await instance.get("/simu/selectPage");
-    return res.data; // 杩斿洖瀹為檯鏁版嵁锛堥�氬父 res.data 鎵嶆槸鎺ュ彛杩斿洖鐨勫唴瀹癸級
+    const res = await instance.get("/simu/selectPage", {
+      params: { pageSize: 100 },
+    });
+    return res.data;
+  } catch (error) {
+    console.error("Error fetching data:", error);
+    throw error; // 鎶涘嚭閿欒锛岃璋冪敤鏂瑰彲浠ユ崟鑾�
+  }
+}
+
+// 鏍规嵁鏂规id鑾峰彇鏂规鍒楄〃
+export async function getSimDataById(id) {
+  try {
+    const res = await instance.get(`/simu/selectPage?id=${id}`);
+    return res.data;
   } catch (error) {
     console.error("Error fetching data:", error);
     throw error; // 鎶涘嚭閿欒锛岃璋冪敤鏂瑰彲浠ユ崟鑾�
@@ -57,53 +70,125 @@
     throw error;
   }
 }
+
+// 寮�濮嬫ā鎷�
+export async function getSimStart(ids) {
+  try {
+    const res = await instance.get(`/simu/start?id=${ids}`);
+    return res.data;
+  } catch (error) {
+    console.error("Error deleting simulation data:", error);
+    throw error;
+  }
+}
+
+// 瀹炴椂妯℃嫙鐨勭粨鏋�
+export async function getSimresult(ids) {
+  try {
+    const res = await instance.get(`/simu/results?id=${ids}`);
+    return res.data;
+  } catch (error) {
+    console.error("Error deleting simulation data:", error);
+    throw error;
+  }
+}
+
+// 缁撴潫瀹炴椂妯℃嫙
+export async function stopSim(ids) {
+  try {
+    const res = await instance.get(`/simu/stop?id=${ids}`);
+    return res.data;
+  } catch (error) {
+    console.error("Error deleting simulation data:", error);
+    throw error;
+  }
+}
 // **************************************************************************************************************
 // 瑙f瀽json鑾峰彇娉ョ煶娴佸弬鏁�
 export function parseWaterSimulationData(jsonData) {
   try {
-      const startTime = jsonData.duration.start; // 鐩存帴浣跨敤鍘熷鏃堕棿
-      const endTime = jsonData.duration.end; // 鐩存帴浣跨敤鍘熷鏃堕棿
-      const extension = jsonData.extension;
-      const terrainSizes = jsonData.terrain.size; // 鍒嗚鲸鐜�
-      const waterTimestamps = jsonData.waters.data.map((timestamp) => {
-          return timestamp; // 涓嶈繘琛屾椂闂存牸寮忓寲
-      });
-      return {
-          startTime: startTime, // 鍘熷鏃堕棿
-          endTime: endTime, // 鍘熷鏃堕棿
-          extension: {
-              maxHeight: extension.maxHeight,
-              minHeight: extension.minHeight,
-              maxX: extension.maxx,
-              maxY: extension.maxy,
-              minX: extension.minx,
-              minY: extension.miny,
-          },
-          terrainSizes: terrainSizes,
-          flowUrl: jsonData.flowUrl,
-          waterUrl: jsonData.waterUrl,
-          version: jsonData.version,
-          waterTimestamps: waterTimestamps, // 鍘熷鏃堕棿鏁扮粍
-      };
+    const startTime = jsonData.duration.start; // 鐩存帴浣跨敤鍘熷鏃堕棿
+    const endTime = jsonData.duration.end; // 鐩存帴浣跨敤鍘熷鏃堕棿
+    const extension = jsonData.extension;
+    const terrainSizes = jsonData.terrain.size; // 鍒嗚鲸鐜�
+    const waterTimestamps = jsonData.waters.data.map((timestamp) => {
+      return timestamp; // 涓嶈繘琛屾椂闂存牸寮忓寲
+    });
+    return {
+      startTime: startTime, // 鍘熷鏃堕棿
+      endTime: endTime, // 鍘熷鏃堕棿
+      extension: {
+        maxHeight: extension.maxHeight,
+        minHeight: extension.minHeight,
+        maxX: extension.maxx,
+        maxY: extension.maxy,
+        minX: extension.minx,
+        minY: extension.miny,
+      },
+      terrainSizes: terrainSizes,
+      flowUrl: jsonData.flowUrl,
+      waterUrl: jsonData.waterUrl,
+      version: jsonData.version,
+      waterTimestamps: waterTimestamps,
+      watersMaxHeight: jsonData.waters.maxHeight,
+      watersMinHeight: jsonData.waters.minHeight,
+    };
   } catch (error) {
-      console.error("瑙f瀽姘存ā鎷熸暟鎹椂鍑洪敊:", error);
-      return null;
+    console.error("瑙f瀽姘存ā鎷熸暟鎹椂鍑洪敊:", error);
+    return null;
   }
 }
 
-// 閫氳繃鎺ュ彛鍘昏姹俲son锛屽皢璇锋眰鐨刯son瑙f瀽鑾峰彇娉ョ煶娴佸弬鏁�
-export async function fetchWaterSimulationData(serviceInfo) {
+// // 閫氳繃鎺ュ彛鍘昏姹俲son锛屽皢璇锋眰鐨刯son瑙f瀽鑾峰彇娉ョ煶娴佸弬鏁�
+// export async function fetchWaterSimulationData(serviceInfo) {
+//   try {
+//     const response = await fetch(`/simu/${serviceInfo}/layer.json`); // 鍙戣捣璇锋眰
+//     // const response = await fetch(`/simu/c2h1dc/layer.json`); // 鍙戣捣璇锋眰
+//     if (!response.ok) {
+//       throw new Error(`HTTP error! status: ${response.status}`);
+//     }
+//     const jsonData = await response.json(); // 瑙f瀽 JSON 鏁版嵁
+//     // console.log(jsonData, "jsonjsonjsonjson");
+//     return parseWaterSimulationData(jsonData); // 璋冪敤瑙f瀽鍑芥暟
+//   } catch (error) {
+//     console.error("璇锋眰鎴栬В鏋愭暟鎹椂鍑洪敊:", error);
+//     return null;
+//   }
+// }
+
+export async function fetchWaterSimulationData(serviceInfo, timestamp = null) {
   try {
-    // const response = await fetch(`/simu/${serviceInfo}/layer.json`); // 鍙戣捣璇锋眰
-    const response = await fetch(`/simu/c2h1dc/layer.json`); // 鍙戣捣璇锋眰
+    // 鏍规嵁鏄惁鎻愪緵鏃堕棿鎴虫潵鍐冲畾鏂囦欢鍚�
+    let fileName = timestamp ? timestamp : 'layer.json';
+    const url = `/simu/${serviceInfo}/${fileName}`;
+
+    const response = await fetch(url); // 鍙戣捣璇锋眰  
+
+    // console.log(url,'aaaaaaaaa')
+
     if (!response.ok) {
       throw new Error(`HTTP error! status: ${response.status}`);
     }
     const jsonData = await response.json(); // 瑙f瀽 JSON 鏁版嵁
-    return parseWaterSimulationData(jsonData); // 璋冪敤瑙f瀽鍑芥暟
+    return parseWaterSimulationData(jsonData); // 璋冪敤瑙f瀽鍑芥暟澶勭悊鏁版嵁
   } catch (error) {
     console.error("璇锋眰鎴栬В鏋愭暟鎹椂鍑洪敊:", error);
     return null;
   }
 }
+
+// 鑾峰彇姘翠綅姘存繁
+export async function getFlowRate(data) {
+  // console.log(data,'鍙戦�佺殑鏁版嵁锛�');
+
+  try {
+    const res = await instance.get("/simu/position", {
+      params: data
+    });
+    return res.data; // 杩斿洖瀹為檯鏁版嵁锛堥�氬父 res.data 鎵嶆槸鎺ュ彛杩斿洖鐨勫唴瀹癸級
+  } catch (error) {
+    console.error("Error fetching data:", error);
+    throw error; // 鎶涘嚭閿欒锛岃璋冪敤鏂瑰彲浠ユ崟鑾�
+  }
+}
 // **************************************************************************************************************

--
Gitblit v1.9.3