进入正题,今天主要讲权限管理。
首先要了解流程
- 登录:用户填写正确的账号密码并进行校验,通过后,后台会返回给你token以及此用户的所有权限(权限的返回接口需要和你的专属后台协商);
- 存储:拿到权限列表后,需要自己处理成数组的形式,然后利用强大的vuex存储起来;
- 权限验证:动态根据用户的 权限 算出其对应有权限的路由,通过 router.addRoutes 动态挂载这些路由。
登录&存储
- 找到mock=>user.js,先mock一个假的数据(最好根据真实的接口),上代码:
权限验证
- 打开src=>permission.js,利用beforeEach钩子函数,判断如果有token继续下一步,否则去登录;由于之前框架中是以角色进行区分,不满足我们的需求,所以这里需要改动,将其变成我们想要的。
3. 在本文件中找到filterAsyncRoutes方法,稍稍进行修改,我红框标注的要注意,不要落下:
路由
真开心,到了最后一步
打开router=>index.js,找到asyncRoutes,能写在这里的路由都是有身份的路由,需要权限的,也正是我们所需要的的,小伙伴可以自行修改了: