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

展示类网站cms宿迁房产网最新房价

展示类网站cms,宿迁房产网最新房价,蚌埠做网站有哪些公司,宝应做网站目录 前言1. Demo2. 知识拓展 前言 在 Vue 项目中,缓存通常用于存储用户信息、角色权限、系统设置等,以提高页面加载速度并减少 API 请求 这里使用 web-storage-cache 作为封装的本地存储工具,支持 localStorage 和 sessionStorage 方式存储…

目录

  • 前言
  • 1. Demo
  • 2. 知识拓展

前言

在 Vue 项目中,缓存通常用于存储用户信息、角色权限、系统设置等,以提高页面加载速度并减少 API 请求

这里使用 web-storage-cache 作为封装的本地存储工具,支持 localStorage 和 sessionStorage 方式存储数据

1. Demo

适用于所有涉及权限、用户数据更新的场景,如角色变更、权限调整、系统升级等
使用缓存提高性能,但需要适时刷新,避免数据过时问题
通过 封装 useCache 统一管理本地存储,方便切换 localStorage 和 sessionStorage,提高代码复用性

/*** 配置浏览器本地存储的方式,可直接存储对象数组。*/import WebStorageCache from 'web-storage-cache'type CacheType = 'localStorage' | 'sessionStorage'export const CACHE_KEY = {// 用户相关ROLE_ROUTERS: 'roleRouters',USER: 'user',// 系统设置IS_DARK: 'isDark',LANG: 'lang',THEME: 'theme',LAYOUT: 'layout',DICT_CACHE: 'dictCache',// 登录表单LoginForm: 'loginForm',TenantId: 'tenantId'
}export const useCache = (type: CacheType = 'localStorage') => {const wsCache: WebStorageCache = new WebStorageCache({storage: type})return {wsCache}
}export const deleteUserCache = () => {const { wsCache } = useCache()wsCache.delete(CACHE_KEY.USER)wsCache.delete(CACHE_KEY.ROLE_ROUTERS)// 注意,不要清理 LoginForm 登录表单
}

对应具体Demo如下:

<template><el-button plain @click="refreshMenu"><Icon class="mr-5px" icon="ep:refresh" />刷新菜单缓存</el-button>
</template><script setup>
import { useCache } from '@/hooks/web/useCache'
import { CACHE_KEY } from '@/hooks/web/useCache'
import { useMessage } from '@/hooks/web/useMessage'const { wsCache } = useCache()
const message = useMessage()const refreshMenu = async () => {try {await message.confirm('即将更新缓存刷新浏览器!', '刷新菜单缓存')wsCache.delete(CACHE_KEY.USER)wsCache.delete(CACHE_KEY.ROLE_ROUTERS)location.reload()} catch {}
}
</script>

2. 知识拓展

上述实战知识点,核心拓展如下:

refreshMenu 该方法的主要作用是:

  1. 弹出确认框,提示用户即将刷新缓存,并要求确认操作
  2. 删除本地存储中的 USER 和 ROLE_ROUTERS 缓存,确保下次访问时重新获取最新数据
  3. 通过 location.reload() 重新加载页面,使更新的缓存生效
const refreshMenu = async () => {try {await message.confirm('即将更新缓存刷新浏览器!', '刷新菜单缓存')// 清空缓存wsCache.delete(CACHE_KEY.USER)wsCache.delete(CACHE_KEY.ROLE_ROUTERS)// 刷新浏览器location.reload()} catch {}
}

1.2 CACHE_KEY 配置
CACHE_KEY 统一管理缓存键名,避免在多个地方直接使用字符串,从而降低维护成本:

export const CACHE_KEY = {ROLE_ROUTERS: 'roleRouters',  // 角色路由信息USER: 'user',                 // 用户信息IS_DARK: 'isDark',            // 深色模式LANG: 'lang',                 // 语言THEME: 'theme',               // 主题LAYOUT: 'layout',             // 布局DICT_CACHE: 'dictCache',      // 字典缓存LoginForm: 'loginForm',       // 登录表单(不应清除)TenantId: 'tenantId'          // 租户ID
}

1.3 useCache 封装
useCache 方法封装了 WebStorageCache,便于在项目中按需切换 localStorage 和 sessionStorage:

export const useCache = (type: CacheType = 'localStorage') => {const wsCache: WebStorageCache = new WebStorageCache({storage: type})return {wsCache}
}

localStorage:数据持久化,即使关闭浏览器也不会丢失。
sessionStorage:数据在会话期间有效,关闭浏览器后清除

http://www.yayakq.cn/news/589820/

相关文章:

  • 增城网站建设公司网站页面优化方案
  • 南京高端网站定制网站建设鸿儒
  • 长沙申请域名网站备案搭积木建网站软件
  • 临沂河东建设局网站注册一个新公司需要多少钱
  • 网站开发具体工作有那些做标签网站是什么
  • 网站微博代码可以全部免费观看的平台
  • 免费行情网站大全下载上海网站建设定
  • 昆明做网站公司学校网站建设的申请
  • 今鼎网站建设百度关键词排名提升工具
  • 中国建设银行网站类型分析内容管理网站建设方案
  • 优质手机网站建设做网站 广州
  • 艺麟盛世可以做网站推广吗网站首页怎么设计
  • 国际物流公司网站建设牛商网
  • 一级a做爰片视频免费观看网站贵州景点网站建设方案
  • 网站建设布局样式官方网站建设方案图
  • 学校官方网站飘云网络科技有限公司
  • 重庆的推广网站建站费用参考
  • 徐州网站开发聊城集团网站建设多少钱
  • weui做购物网站的案例网站信息内容建设责任制落实情况
  • 沧州网站建设刘磊广告设计专业专升本考什么
  • 最好茶叶网站建设wordpress数据库名
  • 新手学做免费网站少儿编程加盟培宝未来
  • 如何解析后用二级域名做网站深圳网站建设制作哪家好
  • 百度网站建设及推广什么样的笔记本电脑适合网站开发
  • 河南省能源规划建设局网站在线音乐网站开发摘要
  • 网站运营管理方案网站验收时项目建设总结报告
  • 网站开发调试工具苏州优化网站
  • 做个小网站多少钱河北百度seo关键词
  • 厦门的网站ftp 网站文件
  • 做网站需要哪几个板块电子商务网站建设课程标准