66 lines
1.5 KiB
TypeScript
66 lines
1.5 KiB
TypeScript
|
|
import Cookies from 'js-cookie';
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 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(key: string, val: any) {
|
||
|
|
return Cookies.set(key, JSON.stringify(val));
|
||
|
|
},
|
||
|
|
// 获取临时缓存
|
||
|
|
get<T = any>(key: string) {
|
||
|
|
const v = Cookies.get(key);
|
||
|
|
if (v !== undefined) {
|
||
|
|
return JSON.parse(v) as T;
|
||
|
|
}
|
||
|
|
return v;
|
||
|
|
},
|
||
|
|
// 移除临时缓存
|
||
|
|
remove(key: string) {
|
||
|
|
return Cookies.remove(key);
|
||
|
|
},
|
||
|
|
// 移除全部临时缓存
|
||
|
|
clear() {
|
||
|
|
Object.keys(Cookies.get()).forEach(function (cookieName) {
|
||
|
|
Cookies.remove(cookieName);
|
||
|
|
});
|
||
|
|
},
|
||
|
|
};
|