在vue文件使用:
import { Local,Session } from '/@/utils/storage';
// Local
if (!Local.get('字段名')) Local.set('字段名', '字段的值');// Session
Session.getToken()
storage.ts文件:
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-ignorereturn `${__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) {if (key === 'token' || key === 'refresh_token') {Cookies.set(key, val);}window.sessionStorage.setItem(key, JSON.stringify(val));},// 获取临时缓存get(key: string) {if (key === 'token' || key === 'refresh_token') return Cookies.get(key);let json = <string>window.sessionStorage.getItem(key);return JSON.parse(json);},// 移除临时缓存remove(key: string) {if (key === 'token' || key === 'refresh_token') return Cookies.remove(key);window.sessionStorage.removeItem(key);},// 移除全部临时缓存clear() {Cookies.remove('token');Cookies.remove('refresh_token');Cookies.remove('bbId');window.sessionStorage.clear();},// 获取当前存储的 tokengetToken() {return this.get('token');},// 获取当前的用户getTenant() {return Local.get('bbId') ? Local.get('bbId') : 1;},
};