import consolaGlobalInstance from 'consola'; // import Dialog from '/@/components/basic/dialog'; // import { getApp } from '/@/hooks/userApp'; import { useRoom } from '/@/hooks/useRoom'; import { useSocket } from '/@/hooks/userSocket'; import { UserInfoType, useRtcStore } from '/@/store/modules/rtc'; const { enterRoom } = useRoom(); // 自已join的方法 export function handleJoin(data: any) { // const app = getApp(); const { socket, closeSocket } = useSocket(); const members = data?.members as any as UserInfoType[]; const user = data?.user as any as UserInfoType; const rtcStore = useRtcStore(); const userExsit = rtcStore.checkUserInMemberList(rtcStore.userId); enterRoom(); rtcStore.setIsJoined(true); consolaGlobalInstance.info({ message: data, tag: 'socket:enter', }); if (user) { console.log('gem1', rtcStore.userId); console.log('gem2', rtcStore.memberList); const userExsit = rtcStore.checkUserInMemberList(rtcStore.userId); console.log('gem3', userExsit, user.Id !== userExsit?.Id); if (userExsit) { // Dialog.confirm({ // showCloseIcon: false, // okText: '我知道了', // content: // "您已有登录端在登录,请不要重复登录", // title: '隱私條款:', // single: true, // func: (state) => {}, // }); } } else { } members && rtcStore.setMemberList(members); console.log('gem', rtcStore.memberList.length, userExsit); const maxNumber = import.meta.env.VITE_ROOM_MEMBER || 10; console.log('roomMaxNumber', maxNumber); if (rtcStore.memberList.length > Number(maxNumber)) { if (rtcStore.role === 'customer') { rtcStore.showBaseDialog( { title: '温馨提示', desc: '带看人数已满,可切换自由观看', okTxt: '自由观看', closeTxt: '取消', isSingle: true, }, () => { setTimeout(() => { closeSocket(); }, 1500); }, ); // Dialog.toast({ content: `房间已满员` }); // setTimeout(() => { // closeSocket(); // }, 1500); // return; } } const { currentScene } = useRoom(); if (rtcStore.isLeader) { socket.emit('action', { type: 'changeScene', data: currentScene.value, }); } if (!rtcStore.isLeader) { setTimeout(() => { socket.emit('action', { type: 'user-init', }); }, 1500); } }