import io from 'socket.io-client'; const address: any = import.meta.env.VITE_APP_BASE_API; const token: any = localStorage.getItem('token'); const deviceid: any = localStorage.getItem('deviceid'); let socketHand: any = {}; //ws实例对象 let testConnect: any = {}; //接入成功 socketHand = io(address + '/', { transports: ['websocket', 'polling'], query: { Authorization: token } }); export const handWs = (callback: any) => { callback(testConnect); socketHand.on('connect', (e: any) => { callback(e); }); socketHand.on('my_response', (e: any) => { testConnect = e; callback(e); }); socketHand.on('handcontroller_ack', (e: any) => { callback(e); }); socketHand.on('handcontroller_result', (e: any) => { callback(e); }); socketHand.on('device_login_result', (e: any) => { callback(e); }); socketHand.on('fe_device_init_result', (e: any) => { callback(e); }); socketHand.on('disconnect', (e: any) => { callback(e); }); }; export const sendMessage = (type: string, data: any, callback?: () => void) => { if (socketHand.connected) { callback = callback || function () {}; socketHand.emit(type, data, callback); } }; /** * 开始连接手势 */ export const startHand = (data?: any, callback?: any) => { sendMessage( 'handcontroller', { hctrl_name: `handcontroller_${data}`, cmd: 'open_handcontroller' }, () => {} ); }; /** * 关闭连接手势 */ export const closeHand = (data?: any, callback?: any) => { sendMessage( 'handcontroller', { hctrl_name: `handcontroller_${data}`, cmd: 'terminate_handcontroller' }, () => {} ); }; /** * 开始连接登录 */ export const startLogin = (data?: any, callback?: any) => { sendMessage( 'fe_get_qrlogin', { deviceid: deviceid ? deviceid : '' }, () => {} ); }; /** * 开始连接设备信息 */ export const startDevice = (data?: any, callback?: any) => { sendMessage( 'fe_device_init', { data: data }, () => {} ); };