You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.7 KiB
65 lines
1.7 KiB
import Cookies from "js-cookie"; |
|
|
|
const __NEXT_NAME__ = "pear-rec"; |
|
/** |
|
* window.localStorage 浏览器永久缓存 |
|
* @method set 设置永久缓存 |
|
* @method get 获取永久缓存 |
|
* @method remove 移除永久缓存 |
|
* @method clear 移除全部永久缓存 |
|
*/ |
|
export const Local = { |
|
// 查看 v2.4.3版本更新日志 |
|
setKey(key: string) { |
|
// @ts-ignore |
|
return `${__NEXT_NAME__}:${key}`; |
|
}, |
|
// 设置永久缓存 |
|
set<T>(key: string, val: T) { |
|
window.localStorage.setItem(Local.setKey(key), JSON.stringify(val)); |
|
}, |
|
// 获取永久缓存 |
|
get(key: string) { |
|
let json = <string>window.localStorage.getItem(Local.setKey(key)); |
|
return JSON.parse(json); |
|
}, |
|
// 移除永久缓存 |
|
remove(key: string) { |
|
window.localStorage.removeItem(Local.setKey(key)); |
|
}, |
|
// 移除全部永久缓存 |
|
clear() { |
|
window.localStorage.clear(); |
|
}, |
|
}; |
|
|
|
/** |
|
* window.sessionStorage 浏览器临时缓存 |
|
* @method set 设置临时缓存 |
|
* @method get 获取临时缓存 |
|
* @method remove 移除临时缓存 |
|
* @method clear 移除全部临时缓存 |
|
*/ |
|
export const Session = { |
|
// 设置临时缓存 |
|
set<T>(key: string, val: T) { |
|
if (key === "token") return Cookies.set(key, val as any); |
|
window.sessionStorage.setItem(Local.setKey(key), JSON.stringify(val)); |
|
}, |
|
// 获取临时缓存 |
|
get(key: string) { |
|
if (key === "token") return Cookies.get(key); |
|
let json = <string>window.sessionStorage.getItem(Local.setKey(key)); |
|
return JSON.parse(json); |
|
}, |
|
// 移除临时缓存 |
|
remove(key: string) { |
|
if (key === "token") return Cookies.remove(key); |
|
window.sessionStorage.removeItem(Local.setKey(key)); |
|
}, |
|
// 移除全部临时缓存 |
|
clear() { |
|
Cookies.remove("token"); |
|
window.sessionStorage.clear(); |
|
}, |
|
};
|
|
|