当前位置: 首页 > 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;},
};

相关文章:

Vue3设置缓存:storage.ts

在vue文件使用&#xff1a; import { Local,Session } from //utils/storage; // Local if (!Local.get(字段名)) Local.set(字段名, 字段的值);// Session Session.getToken()storage.ts文件&#xff1a; import Cookies from js-cookie;/*** window.localStorage 浏览器永…...

超市信息管理系统(java+swing+jdbc+msyql)

...

如何用AI工具提升日常工作效率,帮我们提速增效减负

昨天&#xff0c;coze海外版支持了GPT4o&#xff0c; 立马体验了下&#xff0c;速度杠杠的。 https://www.coze.com 支持chatGP和gemini模型&#xff0c;需要科学上网。国内 https://www.coze.cn支持语雀、KIMI模型。 这里回到正题&#xff0c; 如何用AI工具提升日常工作效率…...

C++: 优先级队列的模拟实现和deque

目录 一、优先级队列 1.1优先级队列 priority_queue介绍 1.2优先级队列的使用 1.3priority_queue的模拟实现 二、deque 2.1deque介绍 2.2deque的优缺点 2.3为什么选择deque作为stack和queue的底层默认容器 一、优先级队列 1.1优先级队列 priority_queue介绍 1.11 优先级队…...

C++ socket epoll IO多路复用

IO多路复用通常用于处理单进程高并发&#xff0c;在Linux中&#xff0c;一切皆文件&#xff0c;一个socket连接会对应一个文件描述符&#xff0c;在监听多个文件描述符的状态应用中epoll相对于select和poll效率更高 epoll本质是系统在内核维护了一颗红黑树&#xff0c;监听的文…...

缓存IO与直接IO

IO类型 缓存 I/O 缓存 I/O 又被称作标准 I/O&#xff0c;大多数文件系统的默认 I/O 操作都是缓存 I/O。在 Linux 的缓存 I/O 机制中&#xff0c;数据先从磁盘复制到内核空间的缓冲区&#xff0c;然后从内核空间缓冲区复制到应用程序的地址空间&#xff08;用户空间&#xff0…...

输入输出(3)——C++的标准输入流

目录 一、cin 流 二、成员函数 get 获取一个字符 (一)无参数的get函数。 (二)有一个参数的get函数。 (三&#xff09;有3个参数的get函数 (四&#xff09;用成员函数 getline 函数读取一行字符 (五&#xff09;用成员函数 read 读取一串字符 (六&#xff09;istream 类…...

[力扣题解] 344. 反转字符串

题目&#xff1a;344. 反转字符串 思路 双指针法 代码 class Solution { public:void reverseString(vector<char>& s) {int i, j, temp;for(i 0, j s.size()-1; i < j; i, j--){temp s[j];s[j] s[i];s[i] temp;}} };...

找不到msvcr110.dll无法继续执行代码的原因分析及解决方法

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是找不到msvcr110.dll文件。这个错误通常发生在运行某些程序或游戏时&#xff0c;系统无法找到所需的动态链接库文件。为了解决这个问题&#xff0c;下面我将介绍5种常见的解决方法。 一&#…...

深入理解数仓开发(一)数据技术篇之日志采集

前言 今天开始重新回顾电商数仓项目&#xff0c;结合《阿里巴巴大数据之路》和尚硅谷的《剑指大数据——企业级电商数据仓库项目实战 精华版》来进行第二次深入理解学习。之前第一次学习数仓&#xff0c;虽然尽量放慢速度力求深入理解&#xff0c;但是不可能一遍掌握&#xff0…...

Edge浏览器:重新定义现代网页浏览

引言 - Edge的起源与重生 Edge浏览器&#xff0c;作为Microsoft Windows标志性的互联网窗口&#xff0c;源起于1995年的Internet Explorer。在网络发展的浪潮中&#xff0c;IE曾是无可争议的霸主&#xff0c;但随着技术革新与用户需求的演变&#xff0c;它面临的竞争日益激烈。…...

HDFS,HBase,MySQL,Elasticsearch ,MongoDB分别适合存储什么特征的数据?

HDFS&#xff08;Hadoop Distributed File System&#xff09;通常用于存储大规模数据&#xff0c;适合存储结构化和非结构化数据&#xff0c;例如文本文件、日志数据、图像和视频等。 HBase是基于Hadoop的分布式数据库&#xff0c;适合存储大量非结构化和半结构化的数据&…...

ArcGIS中离线发布路径分析服务,并实现小车根据路径进行运动

ArcGIS中离线发布路径分析服务&#xff0c;您可以按照以下步骤操作&#xff1a; 准备ArcMap项目&#xff1a; 打开ArcMap并加载包含网络分析图层的项目。在ArcMap中&#xff0c;使用 Network Analyst Toolbar 或 Catalog 创建网络数据集&#xff08;Network Dataset&#xff09…...

时政|医疗结果互认

背景&#xff08;存在的问题&#xff09; 看同一种病&#xff0c;换一家医院甚至换一个院区、换一个科室&#xff0c;检查检验还得再来一遍&#xff0c;费钱又费时。开展检查检验结果互认&#xff0c;可以明显减轻患者就医负担。患者不用做重复检查&#xff0c;也可节约就医时…...

华为OD机试【找出通过车辆最多颜色】(java)(100分)

1、题目描述 在一个狭小的路口&#xff0c;每秒只能通过一辆车&#xff0c;假设车辆的颜色只有 3 种&#xff0c;找出 N 秒内经过的最多颜色的车辆数量。 三种颜色编号为0 &#xff0c;1 &#xff0c;2。 2、输入描述 第一行输入的是通过的车辆颜色信息[0,1,1,2] &#xff0…...

hyperf 多对多关联模型

这里使用到三张表&#xff0c;一张是用户&#xff08;users&#xff09;&#xff0c;一张是角色(roles)&#xff0c;一张是用户角色关联表(users_roles)&#xff0c; 首先创建用户模型、角色模型 php bin/hyperf.php gen:model users php bin/hyperf.php gen:model rolesusers…...

每日力扣刷题day03(从零开始版)

文章目录 2024.5.24&#xff08;5题&#xff09;2828.判别首字母缩略词题解一题解二 1365.有多少小于当前数字的数字题解一题解二题解三 2469.温度转换题解一题解二 1502.判断能否形成等差数列题解一题解二 2351.第一个出现两次的字母题解一题解二 2024.5.24&#xff08;5题&am…...

误差反向传播简介与实现

误差反向传播 导语计算图反向传播链式法则 反向传播结构加法节点乘法节点 实现简单层加法乘法 激活函数层实现ReLUSigmoid Affine/Softmax层实现Affine基础版批版本 Softmax-with-Loss 误差反向传播实现梯度确认总结参考文献 导语 书上在前一章介绍了随机梯度下降法进行参数与…...

ATmega328P加硬件看门狗MAX824L看门狗

void Reversewdt(){ //硬件喂狗&#xff0c;11PIN接MAX824L芯片WDIif (digitalRead(11) HIGH) {digitalWrite(11, LOW); //低电平} else {digitalWrite(11, HIGH); //高电平 }loop增加喂狗调用 void loop() { …… Reversewdt();//喂狗 }...

【Redis】 String类型的内部编码与使用环境

文章目录 &#x1f343;前言&#x1f334;内部编码&#x1f384;典型使用场景&#x1f6a9;缓存功能&#x1f6a9;计数&#xff08;Counter&#xff09;功能&#x1f6a9;共享会话&#xff08;Session&#xff09;&#x1f6a9;验证码功能 ⭕总结 &#x1f343;前言 本篇文章重…...

DeerFlow进阶教程:集成MCP服务扩展AI助手能力实战

DeerFlow进阶教程&#xff1a;集成MCP服务扩展AI助手能力实战 1. 引言 1.1 为什么需要MCP服务集成 在AI助手领域&#xff0c;单一模型的能力往往难以满足复杂任务需求。DeerFlow作为深度研究助理&#xff0c;通过集成MCP&#xff08;Multi-Component Platform&#xff09;服…...

OpenClaw二次开发:基于Qwen3-14B扩展自定义自动化协议

OpenClaw二次开发&#xff1a;基于Qwen3-14B扩展自定义自动化协议 1. 为什么需要自定义协议 去年夏天&#xff0c;当我尝试用OpenClaw控制实验室的智能家居设备时&#xff0c;发现现有的指令集无法满足红外遥控和Zigbee设备联动的需求。官方提供的标准协议主要针对办公场景的…...

[特殊字符] 第87课:股票含冷冻期

想系统提升编程能力、查看更完整的学习路线&#xff0c;欢迎访问 AI Compass&#xff1a;https://github.com/tingaicompass/AI-Compass 仓库持续更新刷题题解、Python 基础和 AI 实战内容&#xff0c;适合想高效进阶的你。&#x1f4d6; 第87课:股票含冷冻期模块:动态规划 | 难…...

HEX与BIN文件格式详解及嵌入式开发应用

1. 文件格式的本质差异第一次接触单片机开发时&#xff0c;我也曾被HEX和BIN文件搞得晕头转向。直到有次烧录出错导致硬件锁死&#xff0c;才真正明白这两种格式的区别绝非表面那么简单。HEX文件本质上是一种带地址信息的文本编码格式&#xff0c;而BIN文件则是纯粹的二进制映像…...

基于Arm Cortex-M7内核GD32H7

基于Arm Cortex-M7内核&#xff0c;主频高达750MHz&#xff0c;并配备了高速大容量内存架构&#xff0c;旨在以“超高算力”与“实时通信”能力&#xff0c;为伺服控制、数字电源、智能家居&#xff08;885478&#xff09;等下一代智能装备提供核心硬件基础。 性能铁三角&#…...

高明总裁班台工厂推荐

在企业办公环境中&#xff0c;总裁班台不仅是工作的工具&#xff0c;更是企业形象和领导者身份的象征。选择一家靠谱的总裁班台工厂至关重要。今天&#xff0c;就为大家推荐佛山市豪亿办公家具&#xff0c;一家专注于中高端办公家具的源头工厂&#xff0c;为你解决办公家具采购…...

【GraalVM静态镜像内存优化实战白皮书】:20年JVM专家亲授生产级堆内存压缩至47MB的5大硬核技法

第一章&#xff1a;GraalVM静态镜像内存优化的生产意义与挑战全景GraalVM 的原生镜像&#xff08;Native Image&#xff09;技术通过提前编译&#xff08;AOT&#xff09;将 Java 应用构建成独立、无 JVM 依赖的二进制可执行文件&#xff0c;显著降低启动延迟与运行时内存开销。…...

突破苹果触控板Windows限制:mac-precision-touchpad驱动实现原生级精准控制

突破苹果触控板Windows限制&#xff1a;mac-precision-touchpad驱动实现原生级精准控制 【免费下载链接】mac-precision-touchpad Windows Precision Touchpad Driver Implementation for Apple MacBook / Magic Trackpad 项目地址: https://gitcode.com/gh_mirrors/ma/mac-p…...

EPLAN笔记

一般使用:1.端子排报表&#xff1a;每个端子前后要放置线线号,原则上端子前后都要放置设备(如:电机、按钮、开关、端子)&#xff0c;端子前后中断点、描述点、节点等端子EPLAN端子数据里是识别不了线号的。在自建端子排中&#xff0c;端子前或后最少有一边放置了设备&#xff0…...

Flutter 跨端实战教程:鸿蒙开发者入门 + 三方库集成实践案例

Flutter 跨端实战教程&#xff1a;鸿蒙开发者入门 三方库集成实践案例 前言 本文面向鸿蒙开发者新手&#xff0c;从零开始学习 Flutter 跨端开发。 内容包含&#xff1a;Flutter 基础使用、常用三方库集成、鸿蒙设备运行三大核心知识点。 通过一个完整可运行的 TODO 清单案例&…...