From 1df71bdd7fc5b35be1447c9cc574bf610666f436 Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期一, 14 四月 2025 19:13:11 +0800
Subject: [PATCH] SERVE_URL

---
 src/utils/storage.ts |   46 +++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 39 insertions(+), 7 deletions(-)

diff --git a/src/utils/storage.ts b/src/utils/storage.ts
index 1827719..186dcd9 100644
--- a/src/utils/storage.ts
+++ b/src/utils/storage.ts
@@ -1,4 +1,5 @@
-import { accessSessionKey, getSessionKey, getUserNameKey, userNameKey } from './request';
+import { STORED_ACCOUNT_KEY } from '../layout/component/login/login';
+import { accessSessionKey, getSessionKey, getUserNameKey, userNameKey, domainPrefix } from './request';
 
 /**
  * window.localStorage 娴忚鍣ㄦ案涔呯紦瀛�
@@ -11,7 +12,7 @@
 	// 鏌ョ湅 v2.4.3鐗堟湰鏇存柊鏃ュ織
 	setKey(key: string) {
 		// @ts-ignore
-		return `${__NEXT_NAME__}:${key}`;
+		return `${__NEXT_NAME__}:${domainPrefix}${key}`;
 	},
 	// 璁剧疆姘镐箙缂撳瓨
 	set<T>(key: string, val: T, win = window) {
@@ -20,7 +21,7 @@
 	// 鑾峰彇姘镐箙缂撳瓨
 	get(key: string, win = window) {
 		let json = <string>win.localStorage.getItem(Local.setKey(key));
-		return JSON.parse(json);
+		return json === 'undefined' ? null : JSON.parse(json);
 	},
 	// 绉婚櫎姘镐箙缂撳瓨
 	remove(key: string, win = window) {
@@ -31,6 +32,36 @@
 		window.localStorage.clear();
 	},
 };
+
+//#region ====================== 缂撳瓨甯︽椂闂� ======================
+type CacheValue<T> = {
+	// 杩囨湡鏃堕棿锛屾椂闂存埑
+	expiredTime: number;
+	value: T;
+};
+export const LocalPlus = {
+	// 璁剧疆
+	set<T>(key: string, val: T, expireDay: number) {
+		const expireMs = expireDay * 24 * 60 * 60 * 1000;
+		const cacheValue: CacheValue<T> = {
+			expiredTime: new Date().getTime() + expireMs,
+			value: val,
+		};
+		Local.set(key, cacheValue);
+	},
+	// 鑾峰彇锛岃繃鏈熷垯娓呴櫎
+	get(key: string) {
+		const cacheValue: CacheValue<any> = Local.get(key);
+		if (!cacheValue?.expiredTime) return null;
+		if (new Date().getTime() > cacheValue.expiredTime) {
+			Local.remove(key);
+			return null;
+		}
+		return cacheValue.value;
+	},
+};
+
+//#endregion
 
 /**
  * window.sessionStorage 娴忚鍣ㄤ复鏃剁紦瀛�
@@ -71,16 +102,17 @@
 		const userNameKey = getUserNameKey(win);
 		Local.remove(sessionKey, win);
 		Local.remove(userNameKey, win);
+		Local.remove(STORED_ACCOUNT_KEY, win);
 	},
 };
 
 export const LoginInfo = {
 	set(session: string, name: string) {
 		WinLoginInfo.set(session, name, window);
-		for (let i = 0; i < window.frames.length; i++) {
-			const win = window.frames[i] as any;
-			WinLoginInfo.set(session, name, win);
-		}
+		// for (let i = 0; i < window.frames.length; i++) {
+		// 	const win = window.frames[i] as any;
+		// 	WinLoginInfo.set(session, name, win);
+		// }
 	},
 
 	remove() {

--
Gitblit v1.9.3