当前位置: 首页 > news >正文

Vue3设置缓存:storage.ts

在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;},
};

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • CDGA|像治理空气和水一样来治理数据:构建数字时代的新秩序
  • ubuntu20.04安装后配置:wifi、屏幕亮度、Nvidia驱动等
  • 浙江大学数据结构MOOC-课后习题-第六讲-图2 Saving James Bond - Easy Version
  • I.MX6ULL Linux 点灯实验理论及汇编点灯
  • 深度学习-转置卷积
  • 月薪5万是怎样谈的?
  • 【ARMv7-A】——WFE(wait for event)
  • 2024 前端面试每日1小时
  • JAVA自制小游戏之推箱子
  • 光伏组件积灰检测系统
  • 【代码】自定义函数
  • 数据治理与数据提取:解锁信息价值的双钥匙
  • 计算机网络——物理层
  • img标签添加::before ::after 伪元素无效,伪元素增加:hover伪类无效
  • java项目之飘香水果购物网站(springboot+vue+mysql)
  • @jsonView过滤属性
  • css选择器
  • iOS编译提示和导航提示
  • javascript数组去重/查找/插入/删除
  • MySQL-事务管理(基础)
  • node学习系列之简单文件上传
  • QQ浏览器x5内核的兼容性问题
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 从输入URL到页面加载发生了什么
  • 从伪并行的 Python 多线程说起
  • 对象引论
  • 记一次用 NodeJs 实现模拟登录的思路
  • 前端性能优化--懒加载和预加载
  • 前言-如何学习区块链
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 如何胜任知名企业的商业数据分析师?
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 小程序button引导用户授权
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​VRRP 虚拟路由冗余协议(华为)
  • ​zookeeper集群配置与启动
  • ​香农与信息论三大定律
  • # Redis 入门到精通(八)-- 服务器配置-redis.conf配置与高级数据类型
  • # 职场生活之道:善于团结
  • #图像处理
  • $forceUpdate()函数
  • (2)STL算法之元素计数
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (C11) 泛型表达式
  • (day6) 319. 灯泡开关
  • (vue)页面文件上传获取:action地址
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (四)模仿学习-完成后台管理页面查询
  • (五)Python 垃圾回收机制
  • (学习日记)2024.01.09
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • (转)我也是一只IT小小鸟