watchRoomService.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. import { pubClient } from "../connection/redis.js";
  2. import { logger } from "../core/logger.js";
  3. import { io } from "../core/io.js";
  4. import { FROMTYPE } from "../enum/index.js";
  5. import { leaveRoomAction } from "../controller/roomActionController.js";
  6. const passiveLeave = async (roomId, userId, socket) => {
  7. try {
  8. setTimeout(async () => {
  9. const isExistUser = await pubClient.exists(userId);
  10. if (isExistUser === 1) {
  11. const baseUser = await pubClient.hGetAll(userId);
  12. const user = JSON.parse(baseUser[FROMTYPE.MiniAPP]);
  13. console.log("user-isConnected", user.isConnected);
  14. if (user && !user.isConnected) {
  15. const { userId, isConnected, from, roomId, sceneNum } = user;
  16. console.log("user", user);
  17. // const roomUniqueId = `room-${roomId}_${sceneNum}_web`;
  18. // const userUniqueId = `user-${userId}`;
  19. // const isExistRoomUser = await pubClient.hVals(roomUniqueId, userUniqueId);
  20. // logger.info("passiveLeave", isExistRoomUser);
  21. // leaveRoomAction(roomUniqueId, userUniqueId, user, socket);
  22. console.log("10秒离开");
  23. }
  24. }
  25. }, 10000);
  26. } catch (error) {
  27. logger.error("passiveLeave", error);
  28. }
  29. };
  30. export async function watchRoomService(roomId, userId, socket) {
  31. passiveLeave(roomId, userId, socket);
  32. }