专心致志的程序员! 2023-04-26 10:37 采纳率: 100%
浏览 27
已结题

前端菜单管理和按钮权限管理

vue有没有简易版的菜单管理和按钮权限管理,麻烦大家解答下,谢谢!

  • 写回答

2条回答 默认 最新

  • 逍遥花生 2023-04-26 11:07
    关注

    这里是一个简单的菜单和权限管理的实现:
    菜单管理:

    // menu.js
    export default [
      {
        name: '首页',
        path: '/home',
        meta: {
          icon: 'home'
        }
      },
      {
        name: '用户管理',
        path: '/user',
        meta: {
          icon: 'user'
        },
        children: [
          {
            name: '用户列表',
            path: '/user/list'
          },
          {
            name: '添加用户',
            path: '/user/add'
          }
        ]
      }
    ]
    

    然后在路由中使用:

    import menu from './menu'
    
    const routes = menu.map(item => {
      return {
        path: item.path,
        component: () => import(`@/views/${item.path}`),
        meta: item.meta
      }
    })
    

    权限管理:

    • 在用户对象中定义用户权限,比如:
      const user = {
      permissions: ['用户管理', '添加用户']
      }
      
    • 在路由的meta中定义权限,比如:
      {
      name: '用户列表',
      path: '/user/list',
      meta: {
        permission: '用户管理'
      }
      }
      
    • 在路由前置守卫中判断权限,实现权限管理:
      router.beforeEach((to, from, next) => {
      const permissions = user.permissions
      if (to.meta.permission && permissions.includes(to.meta.permission)) {
        next()
      } else {
        next('/403')
      }
      })
      
      这个简单实现了菜单和按钮权限管理的基本功能。可以根据实际需求进行扩展和改进。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月9日
  • 已采纳回答 5月1日
  • 创建了问题 4月26日