模块展示权限控制

Posted natsu07

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模块展示权限控制相关的知识,希望对你有一定的参考价值。

/**
 * 组件增加belongTo属性后会获取归属模块状态码 0正常 1不显示
 *
 */
Vue.mixin({
    beforeCreate(){
        let opt = this.$options,attrs=this.$attrs,module=opt.belongTo || attrs.belongTo;
        opt.computed= opt.computed ||{};

        if(module){
             opt.computed.modules=mapState({modules:state => state.restriction.modules}).modules;
             opt.computed.module=()=>{ return module};
             opt.computed.moduleStateCode=()=>{ return this.modules[this.module] || 0};
             let originalRender=opt.render;
             opt.render=function () {
                    let  _vm = this;
                    let _h = _vm.$createElement;
                    let _c = _vm._self._c || _h;
                    return _vm.moduleStateCode == 1 ?  _vm._e() : originalRender.apply(this,[].slice.call(arguments));
             }
        }
    },
    mounted(){
        let module=this.$options.belongTo || this.$attrs.belongTo;
        if(module){
           this.$watch("moduleStateCode",(val)=>{})
        }
    }
});

组件增加自定义属性:belongTo 在组件选项里或添加在$attr里

以上是关于模块展示权限控制的主要内容,如果未能解决你的问题,请参考以下文章

基于RBAC权限控制模型的管理系统的设计与实现

漫谈权限控制设计

JMeter:逻辑控制器_模块控制器(Module Controller)

JMeter接口测试-模块控制器

权限管理系统中权限模块的实现

微搭低代码中的权限控制