// API List // /sitesMonitor/manage/nameList - GET // /sitesMonitor/manage/config/{name} - GET & POST & DELETE // /sitesMonitor/manage/pageConfig/{name} - POST // /sitesMonitor/manage/config - GET & POST // /sitesMonitor/site/infoList - POST 批量获取站点信息表 // /sitesMonitor/site/{site}/info - GET 获取单个站点信息 // /sitesMonitor/site/{site}/modeInfo - GET 获取站点工作模式信息 // /sitesMonitor/site/{site}/powerFlow/{day} - GET 获取单个站点功率流 // /sitesMonitor/site/{site}/alarmList - GET 获取单个站点告警列表 import http from '@/service/serverReq' import type { ApiMonitorInfo, MonitorPageConfig, SiteInfoResponse, SiteModeInfoResponse, SitePowerFlowResponse, SiteAlarmListResponse, } from './interface' import { TaskQueue } from '@/service/taskQueue' const API_List = { manageList: '/sitesMonitor/manage/nameList', manageConfigAndName: '/sitesMonitor/manage/config/{name}', managePageConfig: '/sitesMonitor/manage/pageConfig/{name}', manageConfig: '/sitesMonitor/manage/config', siteInfoList: '/sitesMonitor/site/infoList', siteInfo: '/sitesMonitor/site/{site}/info', siteModeInfo: '/sitesMonitor/site/{site}/modeInfo', sitePowerFlow: '/sitesMonitor/site/{site}/powerFlow/{day}', siteAlarmList: '/sitesMonitor/site/{site}/alarmList', } // GET 监控管理表 export const getManageList = async (): Promise => { const res = await http.get(API_List.manageList) return res } // GET 监控管理表配置 export const getManageConfig = async (name: string): Promise => { const url = API_List.manageConfigAndName.replace('{name}', encodeURIComponent(name)) const res = await http.get(url) return res } // POST 监控管理表配置 export const updateManageConfig = async (name: string, data: ApiMonitorInfo) => { const url = API_List.manageConfigAndName.replace('{name}', encodeURIComponent(name)) const res = await http.post(url, data) } // POST 监控管理表配置 export const updateManagePageConfig = async (name: string, data: MonitorPageConfig) => { const url = API_List.managePageConfig.replace('{name}', encodeURIComponent(name)) const res = await http.post(url, data) } // POST 监控管理表配置 export const createManageConfig = async (data: ApiMonitorInfo) => { const url = API_List.manageConfig const res = await http.post(url, data) } // DELETE 监控管理表配置 export const deleteManageConfig = async (name: string) => { const url = API_List.manageConfigAndName.replace('{name}', encodeURIComponent(name)) const res = await http.delete(url) } // POST 批量获取站点信息表 export const getSiteInfoList = async (siteList: string[], pageSize: number, pageNum: number) => { const url = API_List.siteInfoList const res = await http.post(url, { siteList, pageSize, pageNum, }) if (res.code === 0 || res.code === 200) { return res.result } } const siteInfoQueue = new TaskQueue(1) // 队列最大执行数为1 // GET 获取单个站点信息 export const getSiteInfo = async (sn: string) => { const url = API_List.siteInfo.replace('{site}', encodeURIComponent(sn)) const res = await http.get(url, { queue: siteInfoQueue, key: `${sn}` }) if (res.code === 0 || res.code === 200) { return res.result } } const siteModeInfoQueue = new TaskQueue(1) // 队列最大执行数为1 // GET 获取站点工作模式信息 export const getSiteModeInfo = async (sn: string) => { const url = API_List.siteModeInfo.replace('{site}', encodeURIComponent(sn)) const res = await http.get(url, { queue: siteModeInfoQueue, key: `${sn}` }) if (res.code === 0 || res.code === 200) { return res.result } } const sitePowerQueue = new TaskQueue(1) // 队列最大执行数为1 // GET 获取单个站点功率流 export const getSitePowerFlow = async (sn: string, day: string) => { const url = API_List.sitePowerFlow .replace('{site}', encodeURIComponent(sn)) .replace('{day}', encodeURIComponent(day)) const res = await http.get(url, { queue: sitePowerQueue, key: `${sn}-${day}`, }) console.log(res) if (res.code === 0 || res.code === 200) { return res.result } } const siteAlarmQueue = new TaskQueue(1) // 队列最大执行数为1 // GET 获取单个站点功率流 export const getSiteAlarmList = async (sn: string) => { const url = API_List.siteAlarmList.replace('{site}', encodeURIComponent(sn)) const res = await http.get(url, { queue: siteAlarmQueue, key: `${sn}`, }) console.log(res) if (res.code === 0 || res.code === 200) { return res.result } } export const clearSitesMonitorQueue = () => { siteInfoQueue.clear() siteModeInfoQueue.clear() sitePowerQueue.clear() siteAlarmQueue.clear() } export const clearSitesMonitorQueueCache = () => { siteInfoQueue.clearCache() siteModeInfoQueue.clearCache() sitePowerQueue.clearCache() siteAlarmQueue.clearCache() }