import { useRtcStore } from "/@/store/modules/rtc"; import consola from 'consola' import type { ConsolaLogObject } from 'consola' import { handleActions, handleSync, handleReceivePaint, handleJoin } from './controls' // 所有socket业务事件集中点 export function initSocketEvent(socket: SocketIOClient.Socket): void { if (socket) { socket.on('connect', () => { const rtcStore = useRtcStore(); let params = { userId: rtcStore.userId, roomId: rtcStore.roomId, role: rtcStore.role || "leader", avatar: rtcStore.avatar, nickname: rtcStore.nickname, }; socket.emit('join', params) rtcStore.setIsJoined(true) }) socket.on('action', (data: any) => { const actionLog: ConsolaLogObject = { message: data, tag: `action-${data.type || ''}`, level: 3 } consola.info(actionLog) handleActions(data) }) // 自已进入逻辑 socket.on('join', handleJoin) // 同屏帶看 socket.on('sync', handleSync) // 畫筆 socket.on('paint', handleReceivePaint) socket.on('onAny', (event: any) => { console.error('onAny:-->', event) }) socket.on('error', (error: any) => { const actionLog: ConsolaLogObject = { message: error, tag: 'socket', level: 0 } consola.error(actionLog) }) } else { throw new Error('socket没有初始化!') } }