微信小程序怎么写用户授权

微信小程序用户授权

微信小程序最常用的可能就是调用用户权限给用户带来更多的用户体验

而我们进入小程序的第一步就是授权小程序调用你的权限(调用用户权限基本要在用户进入的第一时间就进行调用授权)提前调用

微信小程序很少涉及敏感信息的权限

部分接口需要经过用户授权同意才能调用。微信小程序把这些接口按使用范围分成多个 scope,用户选择对 scope 来进行授权,当授权给一个 scope 之后,其对应的所有接口都可以直接使用。

注意:
如果用户未接受拒绝过此权限,会弹窗询问用户,用户点击同意后方可调用接口;
如果用户已授权,可以直接调用接口;
如果用户已拒绝授权,则不会出现弹窗,而是直接进入接口 fail 回调。

其中权限有以下多种

scope 对应接口描述
scope.userInfowx.getUserInfo 用户信息
scope.userLocationwx.getLocation, wx.chooseLocation 地理位置
scope.userLocationBackgroundwx.startLocationUpdateBackground 后台定位
scope.addresswx.chooseAddress 通讯地址
scope.invoiceTitlewx.chooseInvoiceTitle 发票抬头
scope.invoicewx.chooseInvoice 获取发票
scope.werunwx.getWeRunData 微信运动步数
scope.recordwx.startRecord 录音功能
scope.writePhotosAlbumwx.saveImageToPhotosAlbum, wx.saveVideoToPhotosAlbum 保存到相册
scope.cameracamera 组件 摄像头

例如我需要调用摄像头的权限

 // 获取用户当前设置的权限
    wx.getSetting({
      //回调成功函数
      success:(res) => {
        // 判断用户的相机权限是否开启,未开启值为 undefined,开启后值为 true
        if (res.authSetting['scope.camera'] == undefined)
        {
          // 如果未开启相机权限,适用 wx.authorize API 弹出访问框
          wx.authorize({
            scope: 'scope.camera',
            success:() => {
              // 用户点击确定后执行此处代码。跳转页面
              wx.navigateTo({
                url: '../upLoad/upLoad',
              })
            }
          })
        }
        // 若用户已开启相机权限,直接跳转页面。
        else
        {
          wx.navigateTo({
            url: '../upLoad/upLoad',
          })
        }
      }
    })
  },

所以我们在调用用户权限前应该先使用wx.getSetting(API接口 获取用户的当前设置)先来判断用户是否授权过此权限,如果没有的话就表明用户并没有进行授权我们再使用wx.authorize(授权弹窗)对用户进行询问授权等操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值