From 01ee694a3bb8048372fc793a8de314d70b688b35 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期日, 18 十月 2026 22:36:21 +0800
Subject: [PATCH] 修改了工位
---
src/utils/releaseBed.ts | 66 ++++++++-------------------------
1 files changed, 16 insertions(+), 50 deletions(-)
diff --git a/src/utils/releaseBed.ts b/src/utils/releaseBed.ts
index b3b3524..a642a49 100644
--- a/src/utils/releaseBed.ts
+++ b/src/utils/releaseBed.ts
@@ -2,7 +2,7 @@
import { getAccessToken } from '@/utils/auth'
/**
- * 閫�鍑虹郴缁熸椂鑷姩閲婃斁璇婂宸ヤ綅锛堥渶姹傦細鍖荤敓甯稿繕璁般�岀搴с�嶅氨閫�鍑虹郴缁燂級銆�
+ * 鎵嬪姩銆岄��鍑虹櫥褰曘�嶆椂閲婃斁璇婂宸ヤ綅銆�
*
* 鑳屾櫙
* ----
@@ -10,20 +10,23 @@
* 锛堝悗绔啓鍦� `clinic_room.doc_id` / `status`锛夈��
* 鑻ュ尰鐢熶笉鐐广�岀搴с�嶈�岀洿鎺ラ��鍑虹郴缁燂紝搴婁綅浼氫竴鐩存樉绀鸿鍗犵敤锛屽叾浠栧尰鐢熸棤娉曚娇鐢ㄣ��
*
- * 瑕嗙洊鐨勯��鍑鸿矾寰�
- * --------------
- * 1. 鎵嬪姩鐐广�岄��鍑虹櫥褰曘�� 鈫� 鍚庣 `/system/auth/logout` 宸蹭細绂诲骇锛圓uthController锛夛紝
- * 鏈嚱鏁板湪鍏朵箣鍓嶅啀鍏滀竴娆★紝淇濊瘉鍗充娇 logout 璇锋眰澶辫触涔熷凡閲婃斁锛�
- * 2. **绌洪棽 30 鍒嗛挓鑷姩鐧诲嚭**锛坄useIdleLogout`锛夆啋 鍘熷厛鍙竻鏈湴鍑瘉銆佷笉璋冨悗绔� 鈬� 搴婁綅涓嶉噴鏀撅紝
- * 杩欐槸鏈淇鐨勬牳蹇冨満鏅紱
- * 3. **浠ょ墝澶辨晥/鍒锋柊澶辫触琚己鍒剁櫥鍑�**锛坄config/axios/service.ts` 鐨� `handleAuthorized`锛夛紱
- * 4. 鍏抽棴/鍒锋柊椤甸潰鍓嶇殑 `pagehide` 鍏滃簳銆�
+ * 銆愰噸瑕佸彉鏇达紙鏈锛夈�戝彧淇濈暀銆屾墜鍔ㄩ��鍑虹櫥褰曘�嶈繖涓�鏉¤矾寰�
+ * ---------------------------------------------------------------
+ * 鍘熷厛瑕嗙洊 4 鏉¤矾寰勶細鎵嬪姩閫�鍑恒�佺┖闂� 30 鍒嗛挓鑷姩鐧诲嚭銆佷护鐗屽け鏁�(401)銆乣pagehide`锛堝埛鏂�/鍏抽〉锛夈��
+ * 瀹炴祴闂锛氬悗涓夋潯浼氭妸銆屼护鐗屽埌鏈� / 鍒锋柊椤甸潰 / 绂诲紑涓�浼氬効銆嶈褰撴垚銆屽尰鐢熺搴с�嶏紝
+ * 瀵艰嚧宸ヤ綅琚竻绌� 鈥斺�� 鍖荤敓鍥炴潵鐪嬪埌宸ヤ綔鍙板彧鍓╁彧璇汇�佸苟鎻愮ず"璇烽噸鏂板氨鍧�"锛岃�屽伐浣嶅凡鍙樼┖闂层��
+ *
+ * 鐜板湪鐨勫彛寰勶細
+ * 路 **鍙湁鎵嬪姩銆岄��鍑虹櫥褰曘��**锛堜互鍙婅瘖瀹ら�夋嫨椤电殑鎵嬪姩銆岀搴с�嶏級鎵嶉噴鏀惧伐浣嶏紱
+ * 路 绌洪棽瓒呮椂锛坄useIdleLogout`锛夊彧瑕佹眰閲嶆柊杈撳瘑鐮侊紝宸ヤ綅淇濈暀锛�
+ * 路 401 / 鍒锋柊浠ょ墝澶辫触鍙竻鏈湴鍑瘉锛屽伐浣嶄繚鐣欙紱
+ * 路 涓嶅啀娉ㄥ唽 `pagehide` 鍏滃簳锛堝埛鏂伴〉闈笉搴旇涓㈠伐浣嶏級锛�
+ * 路 鍖荤敓鐪熺殑涓嬬彮蹇樼搴х殑鍏滃簳锛氣憼 闂瘖鏃剁郴缁熺粺涓�娓呯┖褰撶彮宸ヤ綅锛涒憽 绠$悊鍛樸�屾竻绌哄伐浣嶃�嶃��
*
* 涓轰粈涔堢敤**瑁� axios** 鑰屼笉鏄」鐩殑 request
* ----------------------------------------
- * 椤圭洰鐨� `request` 鎸備簡 401 鎷︽埅鍣紝鑰屾湰鍑芥暟**鎭版伆鏄湪 401 涔嬪悗**琚皟鐢ㄧ殑銆�
- * 鑻ヨ蛋鎷︽埅鍣紝浼氬啀娆¤Е鍙�"鍒锋柊浠ょ墝澶辫触 鈫� 寮哄埗鐧诲嚭 鈫� 鍐嶈皟鏈嚱鏁�"鐨勯�掑綊銆�
- * 瑁� axios 涓嶆寕浠讳綍鎷︽埅鍣紝澶╃劧鏂紑杩欐潯閾俱��
+ * 鏈嚱鏁板彲鑳藉湪閴存潈鐘舵�佷笉绋虫椂琚皟鐢紝鑻ヨ蛋椤圭洰 request 鐨� 401 鎷︽埅鍣紝
+ * 浼氬啀娆¤Е鍙�"鍒锋柊浠ょ墝澶辫触 鈫� 寮哄埗鐧诲嚭"鐨勯�掑綊銆傝8 axios 涓嶆寕浠讳綍鎷︽埅鍣紝澶╃劧鏂紑杩欐潯閾俱��
*
* 涓轰粈涔堢敤**鏈嶅姟绔寜 userId 鍙嶆煡**鑰屼笉鏄墠绔紶搴婁綅鍙�
* ------------------------------------------------
@@ -31,9 +34,7 @@
* 灏变細"閲婃斁涓嶆帀"銆傛晠鍚庣鎻愪緵鏃犲弬鎺ュ彛 `/ecg/doctor/release-my-beds`锛屾寜褰撳墠鐧诲綍鐢ㄦ埛
* 鍙嶆煡鍏跺崰鐢ㄧ殑鍏ㄩ儴搴婁綅銆傚墠绔彧闇�甯︿笂浠ょ墝銆�
*
- * 鈿狅笍 鏈枃浠�**涓嶈 import `@/config/axios/config`**锛�
- * `config/axios/service.ts` 闇�瑕� import 鏈枃浠讹紙鍦� 401 澶勭悊閲岄噴鏀惧簥浣嶏級锛�
- * 鑻ユ湰鏂囦欢鍙嶅悜 import 瀹冪殑 config锛屼細褰㈡垚寰幆渚濊禆銆�
+ * 鈿狅笍 鏈枃浠�**涓嶈 import `@/config/axios/config`**锛氶伩鍏嶄笌 service.ts 褰㈡垚寰幆渚濊禆銆�
* 杩欓噷鐩存帴鐢ㄥ悓涓�涓幆澧冨彉閲忔嫾鎺ワ紝鏁堟灉绛変环涓旀棤鐜��
*
* 澶辫触澶勭悊锛氭湰鍑芥暟**姘镐笉鎶涘紓甯�**锛堥��鍑烘祦绋嬩笉搴斿洜瀹冭�屼腑鏂級銆�
@@ -68,39 +69,4 @@
} finally {
releasing = false
}
-}
-
-/**
- * 娉ㄥ唽 `pagehide` 鍏滃簳锛氬叧闂爣绛鹃〉/鍒锋柊/璺宠蛋鏃跺皾璇曢噴鏀惧簥浣嶃��
- *
- * 鐢� `sendBeacon` 鑰岄潪 ajax 鈥斺�� 椤甸潰鍗歌浇鏃舵櫘閫氳姹備細琚祻瑙堝櫒鍙栨秷锛宐eacon 涓嶄細銆�
- * 浣� beacon **鏃犳硶鑷畾涔夎姹傚ご**锛堜笉鑳藉甫 Authorization锛夛紝鏁呮敼鐢� URL 浼犱护鐗岋細
- * 鍚庣 `SecurityProperties.tokenParameter` 榛樿灏辨槸 `"token"`锛�
- * 涓� `TokenAuthenticationFilter` 浼氳鍙栧畠锛堣 `obtainAuthorization`锛夈��
- *
- * 娉ㄦ剰锛氭湰椤规槸**灏藉姏鑰屼负**鐨勫厹搴曪紝涓嶄綔涓轰富瑕佹墜娈� 鈥斺��
- * 涓昏鎵嬫鏄笂闈� 1/2/3 涓夋潯鏄庣‘璺緞銆�
- */
-export function setupBedReleaseOnUnload(): void {
- if (typeof window === 'undefined') return
- // 骞傜瓑锛氶伩鍏� HMR / 閲嶅璋冪敤瀵艰嚧閲嶅娉ㄥ唽
- if ((window as any).__bedReleaseUnloadBound) return
- ;(window as any).__bedReleaseUnloadBound = true
-
- window.addEventListener('pagehide', () => {
- const token = getAccessToken()
- if (!token) return
- try {
- const url = `${BASE_URL}/ecg/doctor/release-my-beds?token=${encodeURIComponent(token)}`
- const ok = navigator.sendBeacon?.(url)
- if (!ok) {
- // sendBeacon 涓嶅彲鐢�/琚嫆缁濇椂锛岄��鍥炲悓姝� XHR 鏈�鍚庝竴鎼�
- const xhr = new XMLHttpRequest()
- xhr.open('POST', url, false) // 鍚屾锛岀‘淇濆嵏杞藉墠鍙戝嚭
- xhr.send()
- }
- } catch {
- /* 蹇界暐锛氬嵏杞介樁娈典笉搴旀姤閿� */
- }
- })
}
--
Gitblit v1.9.3