From b3080cd7524075f55e7fceed69c4f042f1ed12f2 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期日, 01 九月 2024 21:31:04 +0800
Subject: [PATCH] fix bug,  user store reference issue

---
 src/store/modules/user.ts |   41 ++++++++++++++++++++++++++++++-----------
 1 files changed, 30 insertions(+), 11 deletions(-)

diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts
index 2d5600b..60867c8 100644
--- a/src/store/modules/user.ts
+++ b/src/store/modules/user.ts
@@ -23,7 +23,7 @@
 
   // 鍖荤敓璇婂閫夋嫨
   isSetRoom: boolean
-  room: RoomVO
+  room: RoomVO | null
 }
 
 export const useUserStore = defineStore('admin-user', {
@@ -44,7 +44,9 @@
       roomId: 0,
       roomName: "",
       bedNo: "",
-      onstage: true
+      status: null,
+      docId: null,
+      docName: null
     }
   }),
   getters: {
@@ -64,7 +66,7 @@
     getIsSetRoom(): boolean {
       return this.isSetRoom
     },
-    getRoom(): RoomVO {
+    getRoom(): RoomVO | null {
       return this.room
     }
   },
@@ -85,15 +87,16 @@
       wsCache.set(CACHE_KEY.USER, userInfo)
       wsCache.set(CACHE_KEY.ROLE_ROUTERS, userInfo.menus)
     },
-    // 鍖荤敓璇婂閫夋嫨
+    // 鍖荤敓鍏ュ骇
     async setRoomInfoAction(room: RoomVO) {
-      if (!getAccessToken()) {
-        this.resetState()
-        return null
-      }
-
       // 鏇存柊 store
-      this.room = room
+      this.room!.id = room.id
+      this.room!.roomId = room.roomId
+      this.room!.roomName = room.roomName
+      this.room!.bedNo = room.bedNo
+      this.room!.status = room.status
+      this.room!.docId = room.docId
+      this.room!.docName = room.docName
       this.isSetRoom = true
 
       // 鏇存柊 cache
@@ -101,6 +104,20 @@
       if (userInfo2) {
         userInfo2.room = room
         userInfo2.isSetRoom = true
+        wsCache.set(CACHE_KEY.USER, userInfo2)
+      }
+    },
+    // 鍖荤敓绂诲骇
+    async clearRoomInfoAction() {
+      // 娓� store
+      this.room = null
+      this.isSetRoom = false
+
+      // 鏇存柊 cache
+      const userInfo2 = wsCache.get(CACHE_KEY.USER)
+      if (userInfo2) {
+        userInfo2.room = null
+        userInfo2.isSetRoom = false
         wsCache.set(CACHE_KEY.USER, userInfo2)
       }
     },
@@ -142,7 +159,9 @@
         roomId: 0,
         roomName: "",
         bedNo: "",
-        onstage: true
+        status: null,
+        docId: null,
+        docName: null
       }
     }
   }

--
Gitblit v1.9.3