网站建设策划方案广西网站建设

温州市鹿城区灵仙阁取名馆 2026/09/09 19:55:05

一、退出要实现的操作

(1)清理掉当前用户缓存数据

(2)清理掉权限相关配置

(3)返回到登录页

二、主动退出

主动退出指的是用户点击登录按钮之后退出

就是绑定点击退出事件,然后这个退出函数一般写在store中的user中的actions中,和登录的一样

import { removeAllItem } from '@/utils/storage' // 这个removeAllItem主要就是将window.localStorage.clear()清空 export default { state:(), mutations:(), actions:{ logout() { this.commit('user/setToken', '') this.commit('user/setUserInfo', {}) removeAllItem() router.push('/login') } } }

三、被动退出(token失效与单用户登录)

(1)主动处理——解决token失效,然后退出

在utils/auth.js中写入如下代码(处理token缓存时间)

import { TIME_STAMP, TOKEN_TIMEOUT_VALUE } from '@/constant' import { setItem, getItem } from '@/utils/storage' /** * 获取时间戳 */ export function getTimeStamp() { return getItem(TIME_STAMP) } /** * 设置时间戳 */ export function setTimeStamp() { setItem(TIME_STAMP, Date.now()) } /** * 是否超时 */ export function isCheckTimeout() { // 当前时间戳 var currentTime = Date.now() // 缓存时间戳 var timeStamp = getTimeStamp() return currentTime - timeStamp > TOKEN_TIMEOUT_VALUE }

在constant/index.js中

export const TIME_STAMP = 'timeStamp' export const TOKEN_TIMEOUT_VALUE = 1000 * 60 * 30 // 缓存时间30分钟

用户登录后设置时间

import { setTimeStamp } from '@/utils/auth' export default { namespaced: true, state: () => ({}), mutations: {}, actions: { login(context, userInfo) { 。。。 return new Promise((resolve, reject) => { 。。。 .then((data) => { 。。。 setTimeStamp() // 登录成功后设置时间戳 resolve() }) .catch((err) => { reject(err) }) }) }, 。。。 } }

在请求拦截器中主动介入(到达设置的时间节点后自动退出)

service.interceptors.request.use((config) => { 。。。 if (store.getters.token) { if (isCheckTimeout()) { store.dispatch('user/logout') return Promise.reject(new Error('token 失效')) } 。。。 } return config })

(2)被动处理——token失效

在响应拦截器中

service.interceptors.response.use( (response) => { 。。。 }, (error) => { if ( error.response && error.response.data && error.response.data.code === 401 ) { store.dispatch('user/logout') } ElMessage.error(error.message) return Promise.reject(error) } )

一般单用户登录也是用被动处理的,这里我也是在学习中,然后所用到的账号还是在多设备中可以登录的,处理单用户登录办法后续再补。


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

建设部网站山东网站建设

摘要冷链物流系统在当今全球化贸易和电子商务快速发展的背景下显得尤为重要。随着生鲜食品、医药制品等对温度敏感的商品需求激增,传统物流模式已无法满足严格的温控要求。冷链物流通过实时监控、精准

2026/06/30 11:02:53

医疗网站建设黑龙江网站建设

深入理解Kotaemon的组件模块化设计理念在大模型技术席卷各行各业的今天,越来越多企业试图将LLM(大语言模型)落地为实际可用的智能服务——比如客服机器人、

2026/06/30 11:43:28

重庆网站建设昆明网站建设

AMD GPU加速革命:FlashAttention部署实战全解析【免费下载链接】flash-attentionFast and memory-efficient exact atten

2026/06/30 13:28:06

无锡网站建设宝安网站建设

Windows平台终极PDF工具箱:Poppler完整使用指南【免费下载链接】poppler-windowsDownload Poppler binaries packaged for

2026/06/30 11:17:24

网站建设空间pc网站建设

Mac鼠标优化终极指南:用Mos工具打造媲美触控板的滚动体验【免费下载链接】Mos一个用于在 macOS 上平滑你的鼠标滚动效果或单独设置滚动方向的小工具, 让你的滚轮爽如触控板 | A

2026/06/30 10:57:52

西安网站建设网站建设方法

大模型推理服务按Token计费?先用TensorRT压降成本在今天的大模型时代,企业部署一个LLM应用可能并不难——从HuggingFace拉下Llama、Qwen或Cha

2026/06/30 13:05:04

淮安网站建设南宁网站建设公司

BotW存档管理器:塞尔达传说跨平台存档转换终极指南【免费下载链接】BotW-Save-ManagerBOTW Save Manager for Switch and Wii U项目地址

2026/06/30 13:59:38

扬中网站建设湖南网站建设

年龄识别模型合规吗?TensorFlow镜像中的伦理审查在金融开户、社交内容分级甚至智能门禁系统中,我们越来越频繁地遇到“请上传一张清晰的人脸照片”的提示。背后的算法不仅识

2026/06/30 10:23:20

盐城网站建设专业网站建设公司

信息系统基础知识是软考系统架构设计师考试的基础核心模块,是理解后续系统架构设计、软件工程等复杂知识点的前提,同时直接关联案例分析题中 “系统选型”“架构适配” 等实际应用场

2026/06/30 12:43:32