由于工作的需求,前后端分离,需要对页面中的资源权限控制,到按钮级别。
开发步骤:
1、制定 资源的命名规则: 系统名—模块名-页面名-功能名
2、收集各个页面所有需要管控按钮的资源,用一个excel来整理
3、让负责各个模块的同事把相关的资源按照如下要求去写:
<Button @click="isEdit = false" v-privilege privilegeId="sysManage_dept_deptInfo_edit">退出编辑</Button>
备注:
a. v-privilege 表示是使用的指令
b. privilegeId 表示资源的唯一标识
4、定义一个VUE的全局指令privilege,防止其他页面找不到相关指令报错
// 注册一个名为 v-focus 的全局自定义指令
Vue.directive('privilege', {
// 当绑定的元素插入到 DOM 时调用此函数……
inserted: function (el) {
// 获取 localStorage 的权限,是一个JSON 对象
var privilegeMapStr = localStorage.getItem('privilegeMapStr');
var privilegeMap = JSON.parse(privilegeMapStr);
// 获取资源的唯一标识