gemercheung il y a 3 ans
Parent
commit
8e8e32674f

+ 1 - 0
src/controller/connectController.js

@@ -32,6 +32,7 @@ export class ConnectController extends BasicController {
           roomId,
         });
         // if (this.roomController.isHoster(role)) {
+        this.roomController.roomAssistant.hasCall = false;
         setTimeout(async () => {
           // 有可客户端主动断开时
           if (Number(user.onlineStatus) === 1) {

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

@@ -13,6 +13,7 @@ export class RoomAssistant {
     this.socket = socket;
     this.redis = redis;
     this.roomId = null;
+    this.hasCall = false;
     this.room = room;
   }
 
@@ -317,6 +318,7 @@ export class RoomAssistant {
         }
       }
       user.isInRoom = true;
+      this.hasCall = true;
       const AllRoomUsers = await getAllRoomUsers(roomId);
       const roomConfig = await getRoomConfig(roomId);
       await updateRoomUser(roomId, userId, user);

+ 2 - 2
src/controller/room/index.js

@@ -133,8 +133,8 @@ export class RoomController extends BasicController {
       // 不带key的this.user.userId
       const isInRoom = await isUserInRoom(this.roomId, this.user.userId);
       if (isInRoom) {
-        if (Number(isInRoom.onlineStatus) === 0) {
-          console.log("在房间人员掉线人员,强制上线!", isInRoom);
+        if (Number(isInRoom.onlineStatus) === 0 && this.roomAssistant.hasCall) {
+          console.log("hasCall在房间人员掉线人员,强制上线!", isInRoom);
           // 带key的this.userId
           this.roomAssistant.setOnlineStatus(this.roomId, this.userId, isInRoom);
         }