| | |
| | | |
| | | import { accessSessionKey, getSessionKey, getUserNameKey, userNameKey } from './request'; |
| | | |
| | | /** |
| | | * window.localStorage 浏览器永久缓存 |
| | |
| | | return `${__NEXT_NAME__}:${key}`; |
| | | }, |
| | | // 设置永久缓存 |
| | | set<T>(key: string, val: T) { |
| | | window.localStorage.setItem(Local.setKey(key), JSON.stringify(val)); |
| | | set<T>(key: string, val: T, win = window) { |
| | | win.localStorage.setItem(Local.setKey(key), JSON.stringify(val)); |
| | | }, |
| | | // 获取永久缓存 |
| | | get(key: string) { |
| | | let json = <string>window.localStorage.getItem(Local.setKey(key)); |
| | | get(key: string, win = window) { |
| | | let json = <string>win.localStorage.getItem(Local.setKey(key)); |
| | | return JSON.parse(json); |
| | | }, |
| | | // 移除永久缓存 |
| | | remove(key: string) { |
| | | window.localStorage.removeItem(Local.setKey(key)); |
| | | remove(key: string, win = window) { |
| | | win.localStorage.removeItem(Local.setKey(key)); |
| | | }, |
| | | // 移除全部永久缓存 |
| | | clear() { |
| | |
| | | export const Session = { |
| | | // 设置临时缓存 |
| | | set<T>(key: string, val: T) { |
| | | |
| | | window.sessionStorage.setItem(Local.setKey(key), JSON.stringify(val)); |
| | | }, |
| | | // 获取临时缓存 |
| | |
| | | window.sessionStorage.clear(); |
| | | }, |
| | | }; |
| | | |
| | | export const WinLoginInfo = { |
| | | set(session: string, name: string, win: any = window) { |
| | | const sessionKey = getSessionKey(win); |
| | | const userNameKey = getUserNameKey(win); |
| | | Local.set(sessionKey, session, win); |
| | | Local.set(userNameKey, name, win); |
| | | }, |
| | | remove(win: any = window) { |
| | | const sessionKey = getSessionKey(win); |
| | | const userNameKey = getUserNameKey(win); |
| | | Local.remove(sessionKey, win); |
| | | Local.remove(userNameKey, 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); |
| | | } |
| | | }, |
| | | |
| | | remove() { |
| | | WinLoginInfo.remove(window); |
| | | }, |
| | | }; |