import { CreateSocket } from '@apct/utils' import { getUID } from './auth' import { getEnv } from '@/config' // import { SocketType } from '@/types/common' const wsUrl = getEnv('VUE_APP_SOCKET_URL') as string export const Socket = new CreateSocket(wsUrl, () => getUID() || '', [ (msg) => { console.log('[WS] FetchMessage:', msg) return msg }, ({ statusCode, data, message }) => { if (statusCode === 1) { return data } throw new Error(message) } ]) export enum QuadPlayDataDataType { /** 防疫数据 */ AntiepidemicData = 1, /** 人员在场情况 */ PersonnelPresence, /** 今日工地考勤情况 */ AttendanceData, // 预警报警信息 QuadPlayDataChangeMessage } export const bindQuadPlayDataCall = (key: string, callback: (data: QuadPlayDataDataType[]) => void) => { let timer: NodeJS.Timeout const close = Socket.bind( 'QuadPlayDataChangeMessage', (data: any) => { console.log(`[WS] QuadPlayDataChangeMessage ${key}:`, data) clearTimeout(timer) timer = setTimeout(callback, 300, data.dataType as QuadPlayDataDataType[]) }, key ) return close }