实属低级错误了
vuex内获取token的方法直接写错
token: getToken || ''
//getToken忘记调用直接写了,导致并没有拿到token,只是放了个函数
token: getToken() || ''
结果在request加响应头的时候又直接调用了,所以发请求的时候是正常的
const token = store.getters.token()
直到在路由守卫里终于出bug了
const token = store.getters.token()
这里其实也打印出来了token第一次为空,只是没仔细看,还是以为是后续判断逻辑的问题
所以后续判断
if (token) 进入后续页面
一直走不通
因为访问的是首页,不是404和login,所以流程重新跳转登录
// 不在白名单,跳转到登录页
next({ path: '/login' })
就跳转一次登录页,并未往后续页面走
因为最后请求还是发出去了,所以获得了token,刷新一次后进入了后续页面
唉,太粗心,唉,没有用typescript!