2019-07-08 Vue-vue项目文件的权限配置

首先,在项目目录下的main.js里写入权限添加的主函数

  • 在项目目录下的server文件夹下的server.js文件中,写入接口函数
    	// 用户权限
    	export function get_permission(params) {
    	  return axios.get('/user/getPermList', {
    	    params
    	  });
    	}
    
  • 登录页面login.vue中,写入调接口函数
    	// 权限
        getPermission() {
          // let that = this;
          const obj = {
            appCode: 1003  // 不同项目appCode不通,是后端人员配置的
          };
          get_permission(obj)    // 接口函数写在方法里,不要直接写在mounted初始化函数里
            .then(res => {
              if (res.data.code === "90000") {
                let permissionInitList = res.data.result; // 获取接口里的权限数据
                if (permissionInitList != null) {
                  sessionStorage.setItem(
                    "permissionList",
                    JSON.stringify(permissionInitList)  // 用局部缓存保存起来
                  );
                }
              }
            })
            .catch(function(error) {
              console.log(error);
            });
        }
    
  • main.js文件里写入主方法
    	// 权限函数
    	Vue.prototype.hasPermission = function (userPermission = '') {
    	  let permissionList = sessionStorage.getItem('permissionList') || [];  // 获取缓存的权限列表
    	  if (permissionList.length !== 0) {
    	    permissionList = JSON.parse(permissionList);
    	  }
    	  let userName = sessionStorage.getItem('userName');
    	  if (userName === "administrator") {   // 如果是管理员则不做权限操作,否则为普通用户设置权限
    	    return true;
    	  } else {
    	    return permissionList.includes(userPermission) || false;  // 返回是否包含参数权限
    	  }
    	}
    

然后,在需要的文件中写入main.js中的方法,配置权限

  • 为菜单栏添加权限,在项目目录下的data文件里的menu.js中
    • 菜单栏

      菜单栏菜单权限

    • menu.js

      	export const menu = [
      	  {
      	    icon: 'fa fa-dashboard',
      	    index: 'team-show1',
      	    title: '平台管理',
      	    permission: '/oes-workbench-manage/workbench-menu',
      	    subs: [
      	      {
      	        index: 'team-show',
      	        title: '工作组总览',
      	        permission: '/oes-workbench-manage/workbench-overview-menu'
      	      },
      	      {
      	        index: 'team-manage',
      	        title: '工作组管理',
      	        permission: '/oes-workbench-manage/workbench-groupmanage-menu'
      	      }
      	    ]
      	  }
      	  ...(需要的菜单添加权限permission)
       	]
      
  • 给项目文件添加权限,在<button>按钮或者<div>元素上添加v-if = hasPermission(args)方法
    • 权限表格
      权限表格
    • 在需要的文件里添加方法,如此项目文件notice-manage.vue
      		<el-button
              type="primary"
              @click="deletePatchButton"
              :disabled="deleteBtn"
              icon="el-icon-delete"
              v-if="hasPermission('/oes-workbench-manage/notice/del')"  // 参数为上述后端给的表格里的路径
            >批 量 删 除</el-button>
      

至此,项目权限配置完成,希望能帮助到大家!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值