gemercheung 3 年之前
父節點
當前提交
b10a2ed794
共有 1 個文件被更改,包括 35 次插入35 次删除
  1. 35 35
      src/controller/room/index.js

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

@@ -102,7 +102,7 @@ export class RoomController extends BasicController {
           userObj.role = "customer";
         }
       }
- 
+
       // if (assistantId && Number(this.userId) !== Number(assistantId) && !this.isHoster(this.user.role)) {
       //   userObj.role = "customer";
       // }
@@ -237,42 +237,42 @@ export class RoomController extends BasicController {
 
     this.socket.on(EVENT.kickUser, async ({ data, from }) => {
       // 要前端断线才可以踢人
-      setTimeout(async () => {
-        try {
-          const userId = `user:${data.userId}`;
-          const roomId = `room:${data.sceneNumber}:${data.roomId}`;
-          const currentUser = await getCurrentUser(userId, FROMTYPE.MiniAPP);
-          const user = JSON.parse(currentUser);
-          // 被踢人不能是hoster
-          console.log("user", JSON.stringify(user));
-          if (user && !this.isHoster(user.role)) {
-            console.log("currentUser.role", user.role);
-            const isKick = await this.roomAssistant.kickPersion(roomId, userId);
-            if (isKick) {
-              const AllRoomUsers = await getAllRoomUsers(roomId);
-              console.log("kickUser-AllRoomUsers", AllRoomUsers.length);
-              this.logger.info("kickUser", currentUser, userId, roomId);
-              // 通知管理
-              this.socket.emit(EVENT.someOneLeaveRoom, {
-                user: user,
-                roomsPerson: AllRoomUsers,
-              });
-              // 通知房间人员变动
-              this.socket.broadcast.to(roomId).emit(EVENT.someOneLeaveRoom, {
-                user: user,
-                roomsPerson: AllRoomUsers,
-              });
-              // 如果踢人后 如何通知?
-              this.socket.broadcast.to(roomId).emit(EVENT.beKicked, data);
-            }
-          } else {
-            const nickname = user.nickname || "";
-            this.logger.warn(nickname + "是房主,不能被踢!!");
+      try {
+        const userId = `user:${data.userId}`;
+        const roomId = `room:${data.sceneNumber}:${data.roomId}`;
+        const currentUser = await getCurrentUser(userId, FROMTYPE.MiniAPP);
+        const user = JSON.parse(currentUser);
+        // 被踢人不能是hoster
+        console.log("user", JSON.stringify(user));
+        if (user && !this.isHoster(user.role)) {
+          console.log("currentUser.role", user.role);
+          // 如果踢人后 如何通知?
+          this.socket.broadcast.to(roomId).emit(EVENT.beKicked, data);
+          
+          const isKick = await this.roomAssistant.kickPersion(roomId, userId);
+          if (isKick) {
+            const AllRoomUsers = await getAllRoomUsers(roomId);
+            console.log("kickUser-AllRoomUsers", AllRoomUsers.length);
+            this.logger.info("kickUser", currentUser, userId, roomId);
+
+            // 通知管理
+            this.socket.emit(EVENT.someOneLeaveRoom, {
+              user: user,
+              roomsPerson: AllRoomUsers,
+            });
+            // 通知房间人员变动
+            this.socket.broadcast.to(roomId).emit(EVENT.someOneLeaveRoom, {
+              user: user,
+              roomsPerson: AllRoomUsers,
+            });
           }
-        } catch (error) {
-          console.error("error", error);
+        } else {
+          const nickname = user.nickname || "";
+          this.logger.warn(nickname + "是房主,不能被踢!!");
         }
-      }, 1000);
+      } catch (error) {
+        console.error("error", error);
+      }
     });
     /**
      * 设置助手