gemercheung пре 3 година
родитељ
комит
c852626cd4
3 измењених фајлова са 9 додато и 4 уклоњено
  1. 2 1
      src/controller/connectController.js
  2. 6 2
      src/controller/room/assistant.js
  3. 1 1
      src/enum/event.js

+ 2 - 1
src/controller/connectController.js

@@ -25,8 +25,9 @@ export class ConnectController extends BasicController {
         const user = this.roomController.user;
         this.logger.info("subscribe-订阅", disMissRoomId, userId, roomId, user);
         if (disMissRoomId === disMissRoomId) {
+          this.oomController.roomAssistant.notifyRoomDismiss(roomId);
           this.roomController.roomAssistant.stopCall(roomId, userId, user);
-          //
+          this.roomController.roomAssistant.destoryRoom(roomId);
         }
       }
     });

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

@@ -49,6 +49,10 @@ export class RoomAssistant {
     return Promise.resolve(true);
   }
 
+  async notifyRoomDismiss(roomId) {
+    this.socket.broadcast.to(roomId).emit(EVENT.roomDisMiss);
+  }
+
   /**
    * kickPersion LEADER or assistant 房主或助手
    */
@@ -87,7 +91,7 @@ export class RoomAssistant {
       const isAssistant = cancel ? 0 : 1;
       //  assistant是助手,customer是普通角色,操作role会好些
       const userObj = Object.assign({}, user, { role: "customer", order: 1, isAssistant });
-      const roomObj = Object.assign({}, roomConfigRes, { assistantId: cancel ? '' : user.userId });
+      const roomObj = Object.assign({}, roomConfigRes, { assistantId: cancel ? "" : user.userId });
       // console.log("setAssistant", userObj, roomObj);
       // console.error("roomObj", roomObj);
       await updateRoomUser(roomId, userId, userObj);
@@ -119,7 +123,7 @@ export class RoomAssistant {
 
   async getRoomAssistant(roomId) {
     const roomConfig = await getRoomConfig(roomId);
-    const assistantId = roomConfig.assistantId || '';
+    const assistantId = roomConfig.assistantId || "";
     return Promise.resolve(assistantId);
   }
   /**

+ 1 - 1
src/enum/event.js

@@ -24,6 +24,6 @@ const EVENT = {
   silentUpdateRoom: "silentUpdateRoom", // 默认通知房间更新
   roomMaximum: "roomMaximum",
   serverOnMic: "serverOnMic", //由服务器加MIC通知延续状态
-};
+  roomDisMiss: "roomDisMiss", //由服务器通知全员解散
 
 export { EVENT };