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.验证失败了,强制跳转到登录页:










![Rabbit客户端操作不同交换机[包含延迟类型]](https://img-blog.csdnimg.cn/b61baf95e18a431a82cd1ae06c2d1751.png)

![[牛客复盘] 牛客2022跨年场 20221212](https://img-blog.csdnimg.cn/07c2880706ad4a5eb2363567714be2e9.png)







