|
@@ -1,5 +1,5 @@
|
|
|
import consolaGlobalInstance from 'consola';
|
|
|
-// import Dialog from '/@/components/basic/dialog';
|
|
|
+import Dialog from '/@/components/basic/dialog';
|
|
|
// import { getApp } from '/@/hooks/userApp';
|
|
|
import { useRoom } from '/@/hooks/useRoom';
|
|
|
import { useSocket } from '/@/hooks/userSocket';
|
|
@@ -9,17 +9,20 @@ const { enterRoom } = useRoom();
|
|
|
// 自已join的方法
|
|
|
export function handleJoin(data: any) {
|
|
|
// const app = getApp();
|
|
|
- const { socket } = useSocket();
|
|
|
+ const { socket, closeSocket } = useSocket();
|
|
|
const members = data?.members as any as UserInfoType[];
|
|
|
const user = data?.user as any as UserInfoType;
|
|
|
- enterRoom();
|
|
|
-
|
|
|
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);
|
|
@@ -40,6 +43,19 @@ export function handleJoin(data: any) {
|
|
|
}
|
|
|
|
|
|
members && rtcStore.setMemberList(members);
|
|
|
+
|
|
|
+ console.log('gem', rtcStore.memberList.length, userExsit);
|
|
|
+
|
|
|
+ if (rtcStore.memberList.length > 3) {
|
|
|
+ if (rtcStore.role === 'customer') {
|
|
|
+ Dialog.toast({ content: `房间已满员,当前角色${user.UserId}` });
|
|
|
+ setTimeout(() => {
|
|
|
+ closeSocket();
|
|
|
+ }, 1500);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (!rtcStore.isLeader) {
|
|
|
setTimeout(() => {
|
|
|
socket.emit('action', {
|