guonan
2025-05-20 f1fbe8049ba01186f033037e6ae36d51915c7418
src/api/trApi.js
@@ -32,6 +32,17 @@
  }
}
// 根据方案id获取方案列表
export async function getSimDataById(id) {
  try {
    const res = await instance.get(`/simu/selectPage?id=${id}`);
    return res.data; // 返回实际数据(通常 res.data 才是接口返回的内容)
  } catch (error) {
    console.error("Error fetching data:", error);
    throw error; // 抛出错误,让调用方可以捕获
  }
}
// 新建仿真方案
export async function createSimData(simData) {
  try {
@@ -57,45 +68,56 @@
    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;
  }
}
// **************************************************************************************************************
// 解析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, // 原始时间数组
    };
  } catch (error) {
      console.error("解析水模拟数据时出错:", error);
      return null;
    console.error("解析水模拟数据时出错:", error);
    return null;
  }
}
// 通过接口去请求json,将请求的json解析获取泥石流参数
export async function fetchWaterSimulationData(serviceInfo) {
  try {
    // const response = await fetch(`/simu/${serviceInfo}/layer.json`); // 发起请求
    const response = await fetch(`/simu/c2h1dc/layer.json`); // 发起请求
    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}`);
    }