没有合适的资源?快使用搜索试试~ 我知道了~
vue实现后台管理权限系统及顶栏三级菜单显示功能

温馨提示


试读
6页
主要介绍了vue实现后台管理权限系统及顶栏三级菜单显示功能,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
资源推荐
资源详情
资源评论















vue实现后台管理权限系统及顶栏三级菜单显示功能实现后台管理权限系统及顶栏三级菜单显示功能
主要介绍了vue实现后台管理权限系统及顶栏三级菜单显示功能,本文图文并茂给大家介绍的非常详细,具有一
定的参考借鉴价值,需要的朋友可以参考下
•效果演示地址
项目demo展示
重要功能总结重要功能总结
权限功能的实现权限功能的实现
权限路由思路:权限路由思路:
根据用户登录的roles信息与路由中配置的roles信息进行比较过滤,生成可以访问的路由表,并通
过router.addRoutes(store.getters.addRouters)动态添加可访问权限路由表,从而实现左侧和顶栏菜单的展示。
实现步骤:实现步骤:
1.在router/index.js中,给相应的菜单设置默认的roles信息;
如下:给"权限设置"菜单设置的权限为:meta:{roles: ['admin', 'editor']},及不同的角色都可以看到; 给其子菜单"页面权限",设置权
限为:meta:{roles: ['admin']},及表示只有"admin"可以看到该菜单; 给其子菜单"按钮权限"设置权限为:meta:{roles:
['editor']},及表示只有"editor"可以看到该菜单。
2.通过router.beforeEach()和router.afterEach()进行路由过滤和权限拦截;
代码如下:
// permission judge function
function hasPermission(roles, permissionRoles) {
if (roles.indexOf('admin') >= 0) return true // admin permission passed directly
if (!permissionRoles) return true
return roles.some(role => permissionRoles.indexOf(role) >= 0)
}
const whiteList = ['/login'] // 不重定向白名单
router.beforeEach((to, from, next) => {
NProgress.start()
// 设置浏览器头部标题
const browserHeaderTitle = to.meta.title
store.commit('SET_BROWSERHEADERTITLE', {
browserHeaderTitle: browserHeaderTitle
})
// 点击登录时,拿到了token并存入了vuex;
if (getToken()) {
/* has token*/
if (store.getters.isLock && to.path !== '/lock') {
next({
path: '/lock'
})
NProgress.done()
} else if (to.path === '/login') {
next({ path: '/' }) // 会匹配到path:'',后面的path:'*'还没有生成;
NProgress.done()
} else {
if (store.getters.roles.length === 0) {
store.dispatch('GetInfo').then(res => { // 拉取用户信息
const roles = res.roles
store.dispatch('GenerateRoutes', { roles }).then(() => { // 根据roles权限生成可访问的路由表
router.addRoutes(store.getters.addRouters) // 动态添加可访问权限路由表
next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
})
}).catch((err) => {
store.dispatch('FedLogOut').then(() => {
Message.error(err || 'Verification failed, please login again')
next({ path: '/' })
})
})
} else {
// 没有动态改变权限的需求可直接next() 删除下方权限判断 ↓
if (hasPermission(store.getters.roles, to.meta.roles)) {
next()//
资源评论

- 贼仙呐2023-07-26:这个文件在解释vue实现后台管理权限系统及顶栏三级菜单显示功能的同时,还提供了一些优化和拓展的思路,很值得参考。
- 西山居游戏2023-07-26:作者将vue的功能应用到了具体的场景中,让我更加深入地理解了vue的灵活性和高效性。
- 乖巧是我姓名2023-07-26:这个文件提供了一个很好的实践篇章,对于想要开发后台管理系统的开发者来说是一份很好的参考资料。
- ShepherdYoung2023-07-26:非常适合初学者学习,作者用简单易懂的语言解释了vue的实现原理,让人一目了然。
- 村上树树8252023-07-26:这个文件详细介绍了如何使用Vue实现后台管理权限系统,以及顶栏三级菜单显示功能,内容丰富实用。

weixin_38641366
- 粉丝: 4
- 资源: 893
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
