本文只是使用vue做例子,但是思路可以衍生到其他地方。
-
从登录处开始处理。 用户输入账号和密码,点击登录之后,拿账号和密码通过
axios去获取用户的数据。好了,获取到用户的数据之后,看一下他可以用的功能里面都有啥,接着在vuex(状态管理模式)里存起来。然后路由跳转项目首页,或者是你想要的某一页。 -
首页 跳转首页之后呢,(也许你是加载组件,在单个组件里进行权限操作也行),生命周期
created的时候获取vuex中的用户数据,根据用户的数据进行加载。遍历用户数据,生成routes(路由树),再通过router.addRoutes(routes);达到动态生成路由的目地,注意:生成的路由树要和官方参数的结构一致。
(①用户数据返回系统所有功能,每一个功能对应着一个值,对这个值进行判断,只加载某个特定值的功能,即加载用户只能使用的功能;②用户数据只返回用户能用的功能,然后加载所有返回的功能)