| | |
| | | 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 浏览器永久缓存 |
| | |
| | | // 查看 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) { |
| | |
| | | // 获取永久缓存 |
| | | 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) { |
| | |
| | | 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 浏览器临时缓存 |
| | |
| | | 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() { |