gemercheung 3 年之前
父节点
当前提交
9450590c56
共有 4 个文件被更改,包括 14 次插入12 次删除
  1. 12 5
      src/controller/roomController.js
  2. 1 1
      src/controller/syncActionController.js
  3. 1 1
      src/enum/fromType.js
  4. 0 5
      src/service/userService.js

+ 12 - 5
src/controller/roomController.js

@@ -124,9 +124,9 @@ export async function roomController(socket) {
     const oneSceneNum = sceneNumber || sceneNum;
     const userUniqueId = `user-${userId}`;
     const roomUniqueId = `room-${roomId}_${oneSceneNum}_web`;
+    const syncId = `sync-${userId}-${roomId}`;
     // const userLimitNum = userLimitNum || process.env.US
     if ("roomId" in user && "userId" in user) {
-      console.log("getSig", getSig(userId));
       user.sig = getSig(userId);
       const userObj = { ...user, isConnected: true, roomType: roomType || "" };
 
@@ -135,9 +135,12 @@ export async function roomController(socket) {
       // await pubClient.expire(userUniqueId, 60 * 60 * 24);
       // 房主自动创建房间
 
-      if (isHoster(role) && Number(from) === FROMTYPE.MiniAPP) {
-        logger.debug("房主自动创建房间 :", { roomId: roomUniqueId, userId: userUniqueId, user });
-        buildRoom(roomUniqueId, userUniqueId, user);
+      if (isHoster(role)) {
+        if ([FROMTYPE.MiniAPP].includes(Number(from))) {
+          logger.debug("房主自动创建房间 :", { roomId: roomUniqueId, userId: userUniqueId, user });
+          buildRoom(roomUniqueId, userUniqueId, user);
+        }
+
         socket.join(roomUniqueId);
       }
     } else {
@@ -148,10 +151,14 @@ export async function roomController(socket) {
 
     socket.on(EVENT.startCall, startCallAction.bind(null, roomUniqueId, userUniqueId, user, socket));
     socket.on(EVENT.stopCall, stopCallAction.bind(null, roomUniqueId, userUniqueId, user, socket));
+    socket.on(EVENT.action, (data) => {
+      //console.log(data, 'clientSyncAction')
+      socket.broadcast.to(roomUniqueId).emit(EVENT.action, data);
+    });
     socket.onAny((event) => {
       console.log(`got ${event}`);
     });
-    socket.on("disconnect", (reason) => {
+    socket.on("disconnect", async (reason) => {
       // leaveRoom({ clientRoom, userUniqueId, roomUniqueId, socket });
       // watchRoomWithMaster(roomUniqueId, socket);
       console.log("reason", reason);

+ 1 - 1
src/controller/syncActionController.js

@@ -30,7 +30,7 @@ export async function syncActionController(socket) {
       socket.broadcast.to(syncId).emit(EVENT.action, data);
     });
     socket.on(EVENT.webSyncAction, (data) => {
-      console.log("syncActionController-webSyncAction", data);
+      // console.log("syncActionController-webSyncAction", data);
       socket.broadcast.to(syncId).emit(EVENT.webSyncAction, data);
     });
 

+ 1 - 1
src/enum/fromType.js

@@ -1,6 +1,6 @@
 const FROMTYPE = {
   base: 0,
-  H5: 1,
+  Bridge: 1,
   MiniAPP: 2,
 };
 

+ 0 - 5
src/service/userService.js

@@ -1,11 +1,6 @@
 import { pubClient } from "../connection/redis.js";
 
 const updateUser = async (userId, userObj) => {
-  //   const user = await pubClient.exists(userId);
-  //   if (user === 1) {
-  //     await pubClient.hSet(userId, userObj);
-  //   }
-
   await pubClient.hSet(userId, userObj.from, JSON.stringify(userObj));
   await pubClient.expire(userId, 60 * 60 * 24);
 };