登录后我们拿到路由动态路由,后端传的数据可能为这个 { path: '/index', meta: { title: '首页', icon: 'icon-shouye', tab_index: , //给头部导航获取的 requireAuth:true,//验证用户能不能跳转这个页面true能false不能 }, name: 'index', component: index }, //用印中心 { path: '/chapterCenter', redirect: { name: 'appli…
在我不知道vue的路由还可以通过addRoutes动态添加时,我只知道vue的路由都是写死在路由表中的,每当跳转时再去加载相应的路由.直到在一个新公司接到需要根据用户的权限显示不同的菜单的需求时才知道了原来vue-router还有一个addRoutes的API,立马研究了一下. router.addRoutes: 函数签名: router.addRoutes(routes: Array<RouteConfig>) 动态添加更多的路由规则.参数必须是一个符合routes选项要求的数组. 点这里去…
这段时间在研究element-admin,感觉这个库有许多值得学习的地方,我学习这个库的方法是,先看它的路由,顺着路由,摸清它的逻辑,有点像顺藤摸瓜. 这个库分的模块非常清晰,适合多人合作开发项目,但是如果一个人去用这个库开发后台,步骤显的有点繁琐,特别是调用后端接口,之前一个方法就调用到了,但是用这个库,需要先后分几步调用. 比如说调用一个登陆接口:点击登陆按钮---->调用store中的方法---->调用api中对应登陆的方法--->request.js中封装的axios方法 4步!…
之前的写法 'use strict' import Vue from 'vue' import MessageBroadcast from 'page/MessageBroadcast' import Survey from 'page/Survey' import MessageFingure from 'page/MessageFingure' import InterfaceMonitor from 'page/InterfaceMonitor' import PowerDivisioin…
原文转自:点我 页面权限控制 页面权限控制是什么意思呢? 就是一个网站有不同的角色,比如管理员和普通用户,要求不同的角色能访问的页面是不一样的.如果一个页面,有角色越权访问,这时就得做出限制了. Vue 动态添加路由及生成菜单这是我写过的一篇文章,通过动态添加路由和菜单来做控制,不能访问的页面不添加到路由表里,这是其中一种办法. 另一种办法就是所有的页面都在路由表里,只是在访问的时候要判断一下角色权限.如果有权限就让访问,没有权限就拒绝,跳转到 404 页面. 思路: 在每一个路由的 meta …
之前用了一个vue-element-admin做了一个小项目,里面用到了动态添加路由,动态展示侧边栏, 当我切换页面时,控制台总是警告提示路由重复,连续跳转几次页面后,控制台就被这些警告占满了, 于是处理一下 原因addRoutes 方法仅仅是帮你注入新的路由,并没有帮你剔除原有的其它路由! 我们先看一下原来代码 路由拦截器中的代码: permission.js: if (roles) { function asyncFun(){ return new Promise(function(reso…
系列教程<一步步带你做vue后台管理框架>第三课 github地址:vue-framework-wz 线上体验地址:立即体验 <一步步带你做vue后台管理框架>第一课:介绍框架 <一步步带你做vue后台管理框架>第二课:上手使用 认证又称"验证"."鉴权",是指通过一定的手段,完成对用户身份的确认.身份验证的方法有很多,基本上可分为:基于共享密钥的身份验证.基于生物学特征的身份验证和基于公开密钥加密算法的身份验证. 登录鉴权功能是…
动态添加路由可以用了做权限管理.登录后服务器端返回权限菜单,前端动态添加路由  然后在设置菜单 1.vue-router 有方法router.addRoutes(routes) 动态添加更多的路由规则.参数必须是一个符合 routes 选项要求的数组. 使用方法 this.$router.options.routes[0].children.push({//插入路由 name:'list', path: 'list', component: resolve => require(['../tem…
动态加载菜单 之前我们的导航树都是写死在页面里的,而实际应用中是需要从后台服务器获取菜单数据之后动态生成的. 我们在这里就用上一篇准备好的数据格式Mock出模拟数据,然后动态生成我们的导航菜单. 接口模块化 我们向来讲究模块化,之前接口都集中在,interface.js,我们现在把它改名为 api.js,并把里边原来登录.用户.菜单的相关接口都转移到我们新建的接口模块文件中. 模块化之后的文件结构如下图所示 模块化之后,模块接口写在相应的模块接口文件中,如下面是登录模块 login.js imp…
本项目基于vue2.5.2,与低版本部分不同之处会在(五)参考资料中提出 完整程序:https://github.com/M-M-Monica/bukesi 实现内容: 资源准备(mock数据) 组件拆分components(header.footer.literature.science.humanity) 路由router(router-link.router-view) 一.准备工作 1.首先开始一个项目第一步是准备工作. 2.准备工作包括需求分析和项目资源准备两大步. 需求分析就是思考想…