gemercheung 3 år sedan
förälder
incheckning
7962d742df
2 ändrade filer med 13 tillägg och 9 borttagningar
  1. 13 8
      src/controller/connectController.js
  2. 0 1
      src/controller/room/assistant.js

+ 13 - 8
src/controller/connectController.js

@@ -2,7 +2,7 @@ import { BasicController } from "./basicController.js";
 import { RoomController } from "./room/index.js";
 import { SyncDeviceController } from "./syncDeviceController.js";
 import { FROMTYPE } from "../enum/index.js";
-import { updateRoomUser, isUserInRoom } from "../service/userService.js";
+import { updateRoomUser, isUserInRoom, removeRoomUser } from "../service/userService.js";
 
 export class ConnectController extends BasicController {
   constructor(...args) {
@@ -68,13 +68,18 @@ export class ConnectController extends BasicController {
           if (Number(user.onlineStatus) === 1) {
             // const res = await this.roomController.roomAssistant.checkRoomMaximum(roomId);
             const isInRoom = await isUserInRoom(roomId, user.userId);
-            const illegalMaster = this.roomController.roomAssistant.illegalMaster
-            if (!this.roomController.roomAssistant.roomMax && isInRoom && this.roomController && !illegalMaster) {
-              console.log("已在线,被断开后", isInRoom);
-              isInRoom.onlineStatus = 0;
-              this.roomController.user = isInRoom;
-              await updateRoomUser(roomId, userId, isInRoom);
-              await this.roomController.roomAssistant.notifyUsersChange(roomId, user, false);
+            const illegalMaster = this.roomController.roomAssistant.illegalMaster;
+            if (!this.roomController.roomAssistant.roomMax && isInRoom && this.roomController) {
+              if (illegalMaster) {
+                console.log("断开存在非法房主");
+                await removeRoomUser(roomId, userId);
+              } else {
+                console.log("已在线,被断开后", isInRoom);
+                isInRoom.onlineStatus = 0;
+                this.roomController.user = isInRoom;
+                await updateRoomUser(roomId, userId, isInRoom);
+                await this.roomController.roomAssistant.notifyUsersChange(roomId, user, false);
+              }
             }
           }
         }, 1000);

+ 0 - 1
src/controller/room/assistant.js

@@ -341,7 +341,6 @@ export class RoomAssistant {
               // this.notifyUserJitter(roomId);
             } else {
               this.room.logger.error("存在非法房主", roomId, userId);
-              await removeRoomUser(roomId, userId);
               this.illegalMaster = true;
               this.socket.broadcast.to(this.room.syncId).emit(EVENT.unKnowError);
             }