关于登录这块发现几个BUG,教主有时间看下
router.beforeEach((to, from, next) {
// 判断是否登录其实判断是否有token无意义 因为这个token 可能是过期
Store.state.AuthUser.authenticated || JWTToken.getToken()
})
// 如果只判断Store.state.AuthUser.authenticated 又出现另一个bug 就是强制刷新浏览器时
// App.vue中 这段代码是异步执行 会导致 router中Store.state.AuthUser.authenticated=false 但是后续数据更新Store.state.AuthUser.authenticated=true的尴尬情况
create() {
if (JWTToken.getToken())
{
this.$store.dispatch('setAuthUser');
}
},
// 于是我的改进方法时 将这些判断放到router中 针对 存在token过期 Store.state.AuthUser.authenticated=false 强制刷新浏览器时的情况
// 当 Store.state.AuthUser.authenticated=true且存在token时 是否认为该用户处于登录状态呢?如果认为处于登录状态但是此时可能token处于过期状态的 而Store.state.AuthUser.authenticated也是可能一直为true的
这是目前登录保持这块遇到的坑 想知道有没有更优雅的或者最佳的实践方式