| | |
| | | import { getAccessToken, removeToken } from '@/utils/auth' |
| | | import { CACHE_KEY, useCache, deleteUserCache } from '@/hooks/web/useCache' |
| | | import { getInfo, loginOut } from '@/api/login' |
| | | import { releaseBedOnExit } from '@/utils/releaseBed' |
| | | |
| | | const { wsCache } = useCache() |
| | | |
| | |
| | | wsCache.set(CACHE_KEY.USER, userInfo) |
| | | }, |
| | | async loginOut() { |
| | | // 先释放诊疗床位(医生常在「诊室选择」页占了床位就直接退出系统)。 |
| | | // 后端 `/system/auth/logout` 内部虽然也会离座,但: |
| | | // ① 若该请求失败/网络中断,床位就留在占用状态; |
| | | // ② 本接口失败也不会阻断退出流程(releaseBedOnExit 内部已兜底)。 |
| | | await releaseBedOnExit('manual-logout') |
| | | await loginOut() |
| | | removeToken() |
| | | deleteUserCache() // 删除用户缓存 |