vue.js创建网站实例7

vue-admin-template使用动态路由,根据权限显示左侧菜单,涉及到要修改的文件有:

src/permission.js
src/store/modules/permission.js
src/store/modules/user.js
src/store/modules/errorLog.js
src/store/modules/tagsView.js
src/store/getters.js
src/store/index.js
src/router/index.js
src/layout/components/Sidebar/index.vue

上述文件直接从vue-element-admin复制就行

其中,修改 src/router/index.js 中的菜单即可,权限设置:

根据 vue-router官方推荐 的方法通过meta标签来标示改页面能访问的权限有哪些。如meta: { role: ['admin','super_editor'] }表示该页面只有admin和超级编辑才能有资格进入,例如:

{
    path: '/classinfo',
    component: Layout,
    redirect: '/classinfo',
    name: '班级管理',
    meta: { title: '班级管理', icon: 'el-icon-s-help', roles: ['admin', 'teacher'] },
    children: [
      {
        path: 'classinfo',
        name: '班级信息',
        component: () => import('@/views/classinfo/index'),
        meta: { title: '班级信息', icon: 'table' }
      },
      {
        path: 'addclass',
        name: '添加班级',
        component: () => import('@/views/classinfo/addclass'),
        meta: { title: '添加班级', icon: 'form' }
      }
    ]
  },

子菜单可以单独设置权限,如果不设置,会继承上级菜单的权限

还需修改src/store/modules/permission.js,可以进一步细化管理员权限

 

注意事项:这里有一个需要非常注意的地方就是 404 页面一定要最后加载,如果放在constantRouterMap一同声明了404,后面的所以页面都会被拦截到404,详细的问题见addRoutes when you've got a wildcard route for 404s does not work

备注:后台返回json:

{"code":20000,"data":{"roles":["teacher"],"introduction":"aaa","avatar":null,"name":"aaa"}}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hifhf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值