// 监测相关的api import { defHttp } from '@/utils/http/axios'; import { ErrorMessageMode } from '#/axios'; import { MonitorSite, MonitorSiteOperation, MonitorSiteOperationParams, MonitorSiteParams, MonitorSiteTreeNode, MonitorSiteTreeParams, Response, SaveMonitorSiteParams, DeleteMonitorSiteParams, } from './model/monitorModel'; enum Api { getMonitorSiteTree = '/prevention/gis/data/gisBaseTree ', getMonitorSite = '/prevention/gis/data/getDataByIdAndSystemCode', saveMonitorSite = '/prevention/gis/data/save', } /** * 获取测点树数据 */ export function getMonitorSiteTree( params: MonitorSiteTreeParams, mode: ErrorMessageMode = 'message', ) { return defHttp.get>( { url: Api.getMonitorSiteTree, params, }, { errorMessageMode: mode, }, ); } /** * 保存测点数据 */ export function saveMonitorSite(params: SaveMonitorSiteParams, mode: ErrorMessageMode = 'message') { return defHttp.post>( { url: Api.saveMonitorSite, params, }, { errorMessageMode: mode, }, ); } /** * 删除测点数据 */ export function deleteMonitorSite( params: DeleteMonitorSiteParams, mode: ErrorMessageMode = 'message', ) { return defHttp.delete>( { url: Api.saveMonitorSite, params, }, { errorMessageMode: mode, }, ); } /** * 获取测点详情数据 */ export function getMonitorSite(params: MonitorSiteParams, mode: ErrorMessageMode = 'message') { return defHttp.post>( { url: Api.getMonitorSite, params, }, { errorMessageMode: mode, }, ); } /** 测点操作内嵌的iframe地址 */ export const monitorSiteOperationUrl = 'http://82.157.13.146:18224/valkyrja'; /** 发送测点操作指令 */ export function postMonitorOperation(el, params: MonitorSiteOperationParams) { el.postMessage(JSON.stringify(params), '*'); } export function handleMonitorOperation( raw: MessageEvent, callback: (data: MonitorSiteOperation) => void, ) { if (raw.isTrusted && raw.origin === monitorSiteOperationUrl && raw.data) { callback(JSON.parse(raw.data)); } }