|
@@ -2,20 +2,24 @@ import { pubClient } from "../connection/redis.js";
|
|
|
import { logger } from "../core/logger.js";
|
|
|
import { io } from "../core/io.js";
|
|
|
import { FROMTYPE } from "../enum/index.js";
|
|
|
+import { leaveRoomAction } from "../controller/roomController.js";
|
|
|
|
|
|
const passiveLeave = async (roomId, userId, socket) => {
|
|
|
setTimeout(async () => {
|
|
|
const isExistUser = await pubClient.exists(userId);
|
|
|
if (isExistUser === 1) {
|
|
|
const baseUser = await pubClient.hGetAll(userId);
|
|
|
- const user = baseUser[FROMTYPE.MiniAPP];
|
|
|
- if (user && user.isConnected) {
|
|
|
- const isConnected = typeof user.isConnected === "string" ? JSON.parse(String(user.isConnected.toLowerCase())) : user.isConnected;
|
|
|
- const from = user.from;
|
|
|
- logger.info("passiveLeave", { userId, isConnected, from });
|
|
|
- if (!isConnected && Number(from) === FROMTYPE.MiniAPP) {
|
|
|
- console.log("10秒离开");
|
|
|
- }
|
|
|
+ const user = JSON.parse(baseUser[FROMTYPE.MiniAPP]);
|
|
|
+ console.log("user-isConnected", user.isConnected);
|
|
|
+ if (user && !user.isConnected) {
|
|
|
+ const { userId, isConnected, from, roomId, sceneNum } = user;
|
|
|
+ console.log("user", user);
|
|
|
+ const roomUniqueId = `room-${roomId}_${sceneNum}_web`;
|
|
|
+ const userUniqueId = `user-${userId}`;
|
|
|
+ const isExistRoomUser = await pubClient.hVals(roomUniqueId, userUniqueId);
|
|
|
+ logger.info("passiveLeave", isExistRoomUser);
|
|
|
+ leaveRoomAction(roomUniqueId, userUniqueId, user, socket);
|
|
|
+ console.log("10秒离开");
|
|
|
}
|
|
|
}
|
|
|
}, 10000);
|