改进VUE-element-admin实现⾃动更新token丝滑般的体验效果
element-admin这套后端模板⽤的是模拟数据,token写死了,没提供⾃动更新token的⽅案,然⽽通常后端给的token是⼀段时间内就刷新⼀次的,所以在这⾥分享我的解决⽅案。直接上代码:
1、在上获取新的token并且更改VUEX的token
request.js → sponse.use()
response =>{//响应分⽀内
// 这样就更新了store⾥的token;
de ===50000){
storemit('SET_TOKEN',ken)
setToken(ken)
ject(res)
}
}
2、每次打开路由都有⼀个permission.js这个中间件作为拦路虎,每次都会获取⽤户的权限:const { roles } = await
store.dispatch(‘user/getInfo’) ,如果这⾥返回的错误信息那么就会执⾏await store.dispatch(‘user/resetToken’) 清除掉token 返回登陆页⾯,如果取消掉删除token其实是已经实现⾃动更新了因为有第⼀步的操作,但是当token是错误的时候就是死循环了,所以不能删,我们重点放在const { roles } = await store.dispatch(‘user/getInfo’),到 /store/modules/user.js
getInfo({ commit, state }){
return new Promise((resolve, reject)=>{
//默认使⽤VUEX⾥的token
ken).then(response =>{
resolve(data)
}).catch(res =>{vue element admin
//如果返回的是刷新token就重新⽤新的token请求⼀次
de ===50000){
getInfo(ken).then(response =>{
}
resolve(data)
}
})
})
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。