vue 前端配置按钮权限

  1. 拿到产品需要配置的按钮权限清单,如下
    在这里插入图片描述
  2. 在中台 资源管理 配置中,根据页面位置添加,'权限标识’名称不可重复
    在这里插入图片描述
    在这里插入图片描述
    注意一定要是菜单类型按钮,然后在"权限管理"通过勾选赋予按钮权限
    在这里插入图片描述
  3. 登录后获取后台返回的按钮权限数据,转换得到按钮key数组:btnPermissions(根据后台返回结构自行决定是否需要转换),将btnPermissions存储到session storage
let btnPermissions = ['domain:query','domain:add','domain:edit','domain:cache','domain:del','domain:define','domain:transition']
sessionStorage.setItem('btnPermissions', JSON.stringify(btnPermissions));

在这里插入图片描述

  1. 新建个js,directive.js
import Vue from 'vue'
const has = Vue.directive('has', {
	inserted: function (el, binding, vnode) {
		let btnPermissions = el.getAttribute("value");
		if (!Vue.prototype.$_has(btnPermissions)) {
			//这个时候就是没有权限,需要删除掉按钮
			el.parentNode.removeChild(el);
		}
	}
});
// 权限检查方法
Vue.prototype.$_has = function (value) {
	let isExist = false;
	let btnPermissionsStr = JSON.parse(sessionStorage.getItem("btnPermissions"));
	if (btnPermissionsStr == undefined || btnPermissionsStr == null) {
		return false;
	}
	if (btnPermissionsStr.indexOf(value) > -1) {
		isExist = true;
	}
	return isExist;
};

export default has;
  1. 在main.js中引入js
import has from '@/api/directive.js';
  1. 在页面中,按钮上加入 v-has 指令和 value=‘zt:cop-add’ 绑定按钮权限
<el-form-item>
	<el-button type="primary" icon="el-icon-search" v-on:click="getRows" value='domain:query' v-has>查询</el-button>
</el-form-item>

原理解析

v-has是自定义的钩子,会在inserted的时机,去调用directive.js中的方法,去判断自己是否显示,value='domain:query’是其中的判断条件,必须唯一,所以这里强制约定为routes定义的component属性的一个字母小写
在这里插入图片描述

注意:不能和v-if共同使用,可以和v-show共同使用

此篇为补充声明,原博客:https://blog.csdn.net/qq_34652478/article/details/100927471

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue后台系统中,按钮权限的定义通常是通过角色权限来实现的。 首先,在后台系统中,可以创建不同的用户角色,并分配相应的权限给每个角色。每个角色会被赋予一组权限,这些权限定义了用户在系统中可以执行的操作,包括按钮权限。 在Vue前端中,可以将按钮与后台系统中定义的权限进行关联。例如,在菜单或页面中的按钮上添加一个"v-if"或"v-show"指令,根据当前用户的角色和权限来决定按钮是否显示。 具体步骤如下: 1. 在后台系统中定义角色和权限。可以使用数据库中的表或JSON文件来管理这些数据。 2. 在Vue前端中,通过接口或登录时返回的用户信息获取当前用户的角色和权限。 3. 在页面中根据当前用户的角色和权限判断按钮是否显示。可以使用条件渲染指令"v-if"或"v-show"来实现。例如,可以通过判断用户是否有特定的角色或权限来控制按钮的显示与隐藏。 4. 在按钮被点击时,根据用户的角色和权限进行相应的处理。可以在按钮的点击事件处理程序中,根据用户的角色和权限来决定是否执行相应的操作或跳转到相应的页面。 在实际开发中,还可以结合路由权限控制、动态生成按钮、动态控制按钮状态等功能,提高系统的安全性和用户体验。 总之,通过角色权限的定义和前后端的配合,我们可以在Vue后台系统中较为灵活地定义按钮权限

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值