UNPKG

catproxy

Version:

a node proxy or host change tools

84 lines (81 loc) 1.9 kB
import log from '../log'; import webCfg from '../config/webCfg'; import { SUCC } from './status'; import { addMonitorData, updateMonitorData, getConDetail } from './sendType'; let addMonitorArr = []; let updateMonitorArr = []; let addMonitorTimer; let updateMonitorTimer; let wss = null; let sendAddMonitor = data => { if (wss) { let result = { result: data, status: SUCC, }; wss.emit(addMonitorData, result); } }; let sendUpdateMonitor = data => { if (wss) { let result = { result: data, status: SUCC, }; wss.emit(updateMonitorData, result); } }; // 添加监控数据 export let addMonitor = data => { if (!wss) { log.error('清先初始化monitor'); return; } if (typeof data === 'object' && data.id) { addMonitorArr.push(data); } if (addMonitorTimer) { clearTimeout(addMonitorTimer); } // 延迟比 update短点,保证先触发,如果后触发前端也会有特殊处理 addMonitorTimer = setTimeout(() => { let data = addMonitorArr; addMonitorArr = []; sendAddMonitor(data); }, 100); }; // 更新监控数据 export let updateMonitor = data => { if (!wss) { log.error('清先初始化monitor'); return; } if (typeof data === 'object' && data.id) { updateMonitorArr.push(data); } if (updateMonitorTimer) { clearTimeout(updateMonitorTimer); } updateMonitorTimer = setTimeout(() => { let data = updateMonitorArr; updateMonitorArr = []; sendUpdateMonitor(data); }, 150); }; // 发送监控详情数据 export let sendConnDetail = data => { if (wss) { let result = { result: data, status: SUCC, }; wss.emit(getConDetail, result); } }; // 启动项目的时候需要 群发一个消息,清除掉当前页面的记录,否则id会冲突--- 为了以防万一,id前面带个随机数?? /** * 必须先调init,即default方法才能使用 */ export default webSocket => { wss = webSocket; };