一、两种用户退出情况
1.点击按钮主动退出
2.token过期,或者被挤下线退出
二、行动方案
1.清除用户信息缓存
(1)清理vuex中的用户信息
a.创建一个mutation logout
(2)本地缓存
2.清理权限配置
3.返回登录页
mutations:{logout(){this.commit('','')this.commit('',{})removeAllStorage()router.push('/login')}}
三、用户被动退出
1.前端主动介入
(1)登录后,记录时间戳
创建一个工具类模块包括:记录登录时时间戳、计算已登录时间的函数、判断是否已过期的函数
(2)调用接口时,判断是否已超有效期
const tokenValid = isTokenValid()// 前端主动介入用户token失效退出if (!tokenValid) {store.dispatch('user/logout')}
2.前端被动介入
(1)已过有效期
(2)单点登录,被迫下线
(3)在相应拦截器中判断响应码是否为401
service.interceptors.response.use(()=>{},(error)=>{const {code} = errorif(code === 401){store.dispatch('user/logout')}})
