eight
2024-11-25 b5c1662e0bc4ee6d19a01d8465d3fe139e2adb3f
src/store/modules/user.ts
@@ -3,11 +3,10 @@
import { getAccessToken, removeToken } from '@/utils/auth'
import { CACHE_KEY, useCache, deleteUserCache } from '@/hooks/web/useCache'
import { getInfo, loginOut } from '@/api/login'
import {RoomVO} from "@/api/ecg/room";
const { wsCache } = useCache()
interface UserVO {
export interface UserVO {
  id: number
  avatar: string
  nickname: string
@@ -20,10 +19,6 @@
  roles: string[]
  isSetUser: boolean
  user: UserVO
  // 医生诊室选择
  isSetRoom: boolean
  room: RoomVO | null
}
export const useUserStore = defineStore('admin-user', {
@@ -35,19 +30,8 @@
      id: 0,
      avatar: '',
      nickname: '',
      deptId: 0
      deptId: 0,
    },
    // 医生诊室选择
    isSetRoom: false,
    room: {
      id: 0,
      roomId: 0,
      roomName: "",
      bedNo: "",
      status: null,
      docId: null,
      docName: null
    }
  }),
  getters: {
    getPermissions(): string[] {
@@ -62,13 +46,6 @@
    getUser(): UserVO {
      return this.user
    },
    // 医生诊室选择
    getIsSetRoom(): boolean {
      return this.isSetRoom
    },
    getRoom(): RoomVO | null {
      return this.room
    }
  },
  actions: {
    async setUserInfoAction() {
@@ -87,41 +64,6 @@
      wsCache.set(CACHE_KEY.USER, userInfo)
      wsCache.set(CACHE_KEY.ROLE_ROUTERS, userInfo.menus)
    },
    // 医生入座
    async setRoomInfoAction(room: RoomVO) {
      // 更新 store
      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
      const userInfo2 = wsCache.get(CACHE_KEY.USER)
      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)
      }
    },
    async setUserAvatarAction(avatar: string) {
      const userInfo = wsCache.get(CACHE_KEY.USER)
      // NOTE: 是否需要像`setUserInfoAction`一样判断`userInfo != null`
@@ -151,17 +93,6 @@
        avatar: '',
        nickname: '',
        deptId: 0
      }
      // 医生诊室选择
      this.isSetRoom = false
      this.room = {
        id: 0,
        roomId: 0,
        roomName: "",
        bedNo: "",
        status: null,
        docId: null,
        docName: null
      }
    }
  }