微信小程序-获取用户已授权权限的方法封装及详细使用

文章介绍了在微信小程序中如何封装一个方法`getUserPermission`来检测用户是否授权了获取位置的权限。当用户拒绝授权时,提供引导用户至设置页面的流程。关键步骤包括使用`wx.getSetting`检查权限状态,如果用户未授权,则使用`wx.authorize`请求权限,或使用`wx.openSetting`引导用户手动开启权限设置。

项目背景

小程序有地图打卡的功能, 需要判断用户的位置是否在打卡范围内(判断用户位置见下篇博客), 那么就涉及到用户是否授权获取位置的权限, 如果询问权限的时候用户直接点击了允许, 那万事大吉, 在需要位置的地方直接用 wx.getLocation 去获取用户位置就可以了, 但是如果用户点击了拒绝, 就需要用户手动去打开权限, 我们才可以拿到位置, 因此, 我们需要判断用户是否授权了这个权限
在这里插入图片描述

就想着是不是可以封装一个方法, 用来检测用户是否授权了某些权限

方法封装

function getUserPermission(permissionName) {
   
   
  return new Promise((resolve, reject) => {
   
   
    wx.getSetting({
   
   
      success(res) {
   
   
        if (res.authSetting[permissionName]) {
   
   
          resolve(true);
        } else if (res.authSetting[permissionName] === false) {
   
   
          reject(false);
        } else {
   
   
          wx.authorize({
   
   
            scope: permissionName,
            success() {
   
   
              resolve(true);
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值