import axios from "./requestHT"; // 获取Token export async function fetchToken() { try { const response = await axios.post("/hp/auth/getToken", { username: "yunweiyonghu", password: "c2d6bba7f0a67701a97550684e39fa5f", systemName: "RS_SYSTEM", }); const token = response.data.data.token; // console.log("Token fetched:", token); localStorage.setItem("HPToken", token); return token; } catch (error) { console.error("Failed to fetch token:", error); } } // 自动重新获取token export function setupTokenRefresh() { const intervalTime = 28 * 60 * 1000; fetchToken().catch((error) => { console.error("Initial token fetch failed:", error); }); setInterval(() => { fetchToken().catch((error) => { console.error("Periodic token fetch failed:", error); }); }, intervalTime); } // 获取避险位置 export async function getSafeLocation(data) { const response = await axios.post("/hp/safeHavenLocation/getData", { filterObject: { year: 2024, // 动态传入的年份参数 }, }); console.log("getSafeLocation:", response); return response.data; } // 获取避险线路 export async function getEscapeRoute(data) { const response = await axios.post("/hp/escapeRoute/getData", { filterObject: { year: 2024, // 动态传入的年份参数 }, }); console.log("getEscapeRoute:", response); return response.data; } // 获取传感器列表 export async function getSensor(data) { const response = await axios.post("/hp/sensor/getData", { filterObject: { year: 2024, // 动态传入的年份参数 }, }); console.log("getSensor:", response); return response.data; } // 获取雨量数据 export async function getRainfallData() { const response = await axios.post("/hp/rainfallCountyCity/getData", { filterObject: {}, "pageSize": 1000 }); console.log("getRainfallData:", response); return response.data; } // 按照北京市code查询行政区code export async function getAeraCode() { const response = await axios.post("/hp/sinoDzHiddenDangerPoint/getHiddenDangerCountByDistrict", { "dictDisasterGrade": "", "dictDisasterType": "", "dictRiskLevel": "", "districtCode": "110000000000", "dictThreatObj": "", "year": "2025" }); return response.data; } // 按照行政区code查询乡镇code(此接口包含隐患点数量查询) export async function getAeraTownCode(data) { const response = await axios.post("/hp/sinoDzHiddenDangerPoint/getHiddenDangerTownCount", { "dictDisasterGrade": "", "dictDisasterType": "", "dictRiskLevel": "", "districtCode": data, "dictThreatObj": "", "year": "2025" }); return response.data; } // 根据乡镇Code获取隐患点(此接口包含隐患点数量查询) export async function getDangerPoint(data) { const response = await axios.post("/hp/sinoDzHiddenDangerPoint/getData", { filterObject: { "divisionTown": data, "year": 2025 }, "pageSize": 10000 }); return response.data; } // 分页获取行政区划隐患点信息 export async function getDangerPointByPage(data, pageNum) { const response = await axios.post("/hp/sinoDzHiddenDangerPoint/getData", { filterObject: { "divisionCounty": data, "year": 2025 }, "pageSize": 50, "pageNum": pageNum, }); return response.data; } // 监测设备接口 /** * @param {string} data - 雨量计设备类型id * @param {string} townCode - 乡镇code,可以查询乡镇监测设备信息 */ export async function getDeviceInfo(data, townCode) { const response = await axios.post("/hp/deviceInfo/getData", { filterObject: { "dictCommunicationType": data, "townCodeList": [townCode], "year": 2025, // 所属项目 "belongObjList": [ "1797461961110261762" ], }, "pageSize": 10000 }); return response.data; } // 接口多写几个应该无妨吧 export async function getDeviceNWJ(data, townCode) { const response = await axios.post("/hp/deviceInfo/getData", { filterObject: { "dictDeviceTypeList": [data], "townCodeList": [townCode], "year": 2025, }, "pageSize": 10000 }); return response.data; } // 查询孙胡沟监测设备,dictCommunicationType为查询孙胡沟的雨量计 export async function getDeviceInfoSHG(data) { const response = await axios.post("/hp/deviceInfo/getData", { filterObject: { "dictCommunicationType": data, "townCodeList": ["110116110000"], "year": 2025, }, "pageSize": 10000 }); return response.data; } // 分页查询行政区划监测设备信息 export async function getDeviceInfoByPage(data, pageNum) { const response = await axios.post("/hp/deviceInfo/getData", { filterObject: { "divisionDistrictList": [data], // 所属项目 // 如果不加这个,则返回的全是强震仪(1933099069385355265) "belongObjList": [ "1797461961110261762" ], }, "pageSize": 50, "pageNum": pageNum }); return response.data; } // 根据年份获取雨量数据 export async function getRainfallDataYears(data) { const response = await axios.post("/hp/rainfallCountyCity/getData", { filterObject: { year: data }, "pageSize": 1000 }); return response.data; } // 查询雨量计读数 export async function getYLJData(data) { // 获取当前时间 const now = new Date(); // 计算一小时前的时间 const oneHourAgo = new Date(now.getTime() - 2 * 60 * 60 * 1000); // 格式化时间为YYYY-MM-DD HH:mm:ss const formatTime = (date) => { const pad = (num) => num.toString().padStart(2, '0'); return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())} ${pad(date.getHours())}:${pad(date.getMinutes())}:${pad(date.getSeconds())}`; }; const response = await axios.post("/hp/ylclyPacket/getData", { "currentPage": 1, "pageSize": 20, "filterObject": { "deviceName": "", "deviceCode": data, "sendTimeList": [ formatTime(oneHourAgo), // 一小时前 formatTime(now) // 当前时间 ], "divisionDistrict": "110116000000", "townCode": "110116110000", "dictPacketsDataStatus": "1887255639886540806", } }); console.log("getYLJData:", response); return response.data; } // 查询北京市监测设备的数量 export async function getDeviceCount(params = {}) { const response = await axios.get("/hp/device/statisticsCountyByDeviceType", { params }); return response.data; } // 查询孙胡沟避险场所 export async function getSafePoint(data) { const response = await axios.get("/hp/safeHavenLocation/getDataSelect", { params: { divisionId: 110116110218 } }); return response.data; } // 查询北京市 export async function getAllCode() { const response = await axios.get("/hp/district/getAll"); return response.data; }