# 最开始是cookie存储的,后面发现后端给的token太大了,就改用localStorage了,直接上代码
function createLocalStorage() {
/** 默认缓存期限为1天 */
const DEFAULT_CACHE_TIME = 60 * 60 * 24 * 1;
function set(key, value, expire = DEFAULT_CACHE_TIME) {
const storageData = {
value,
expire: expire !== null ? new Date().getTime() + expire * 1000 : null,
};
const json = JSON.stringify(storageData);
localStorage.setItem(key, json);
}
function get(key) {
try {
const json = localStorage.getItem(key);
if (json) {
let storageData = null;
storageData = json;
if (storageData) {
const { value, expire } = JSON.parse(storageData);
// 在有效期内直接返回
if (expire === null || expire >= Date.now()) {
return value;
}
}
remove(key);
return null;
}
return null;
} catch (error) {
return null;
}
}
function remove(key) {
localStorage.removeItem(key);
}
function clear() {
localStorage.clear();
}
return {
set,
get,
remove,
clear,
};
}
export const localStg = createLocalStorage();
#使用方法很简单
import { localStg } from "@/utils/storage/index";
// 清除localStorage
localStg.clear();
// 获取
localStg.get("Tokens")
//存储
localStg.set("Tokens", res.data);
// 移除
localStg.remove('tokens')