微信小程序 根据后台返回的权限控制页面的展示

项目需求:在小程序端,根据后台返回的页面权限来控制页面中个别模块是否要展示

小编的解决方法:写一个自定义的组件,把页面写死的内容放在组件的插槽里,然后最后控制一些这个组件是否展示即可。

一,创建一个自定义的组件authorities_control

authorities_control下的wxml:

<slot></slot>是个占位,主要方便之后放一些写死的内容,

wx:if="{{showcontrol}}" 主要是控制该组件是否要显示

<!-- 权限的控制控件 -->
<view wx:if="{{showcontrol}}">
    <slot></slot> 
</view>

authorities_control下的js:


Component({
    /**
     * 组件的属性列表
     */
    properties: {
        //该值是从子组件中传过来的,主要是传这个控件的权限码,这个权限码后台会给到
        authorites:{
            type:String,
            value:""
        }

    },
    lifetimes:{
        //该方法主要作用于页面一加载就执行下面的方法
        attached: function(options){
            this.delshowcontrol()
          },
    },
    /**
     * 组件的初始数据
     */
    data: {
        showcontrol:false, //初始值,默认是不展示的,
    },

    /**
     * 组件的方法列表
     */
    methods: {
        delshowcontrol(){
            //我的权限是登录的时候就存在本地缓存里
            var authorities = wx.getStorageSync('authorities')
            //取一下子组件传过来的权限码
            var value = this.data.authorites
            //然后做一个遍历,如果相等那就说明该权限存在,那就把showcontrol:true,让该组件展示出来
            authorities.forEach(item=>{
                for(var i in item){
                    if(item[i] === value){
                    this.setData({
                        showcontrol:true
                    })
                    }
                }
            })
        },

    }
})

二,子组件的页面

1,首先要在.json文件中引入我刚自定义的组件authorities_control

2,子组件使用自定义组件

组件传值,参数名:authorites,权限码:aaa

<authorities_control authorites="{{'aaa'}}">
    <view>我是aa</view>
</authorities_control>
<authorities_control authorites="{{'bbb'}}">
    <view>我是bbb</view>
</authorities_control>

 以上是微信小程序开发时用到权限控制模块的展示的方法,希望我的方法能帮助得到大家,如果对你有用点个赞再走呗。如果有更好的方法也可以评论区分享给我,谢谢大家

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值