1)整体流程图
2.main.js是入口,里面require("permission")时会触发方法体
在进行require("权限时"),会进行一系列初始化。
重定向。
接着走login方法。
vuex其实就是store。
触发vuex里面的方法: await store.dispatch('user/getInfo') // 就是user.js里面的getInfo方法
登录成功,则保存name和头像到vuex中。
一旦getInfo调用了resolve执行完毕后,其实就是 permission中的 await store.dispatch('user/getInfo')执行完毕了,接着执行
3.页面跳转:
4.验证之类的没通过,调用reject时,就会触发这里的catch(err){},可以看出里面会重置token
重点:await store.dispatch('user/resetToken') 这类操作会调用vuex中的方法
同时,vuex中方法执行结果,是以:resolve或reject作为结束的:
那么调用方正常结束就调用next()// vuex中方法resolve了
做跳转路由等方法 // vuex中方法reject了
5.清除token的实现:
6.验证失败了,强制跳转到登录页: