微信小程序小tip(一) --- 获取权限完整过程

本文详细介绍了小程序中用户权限的管理方式,包括获取权限状态、处理用户授权拒绝及重新请求授权的流程。通过优化代码结构,使用async/await简化了复杂的回调逻辑,提高了代码的可读性和维护性。

参考 黑马 的教学视频

一、获取权限

获取权限,有三种情况

1、用户从来没有获取过,所以这个的权限 scope = undefined

2、用户获取过,同意了,权限 scope = true

3、用户拒绝了,scope = false

4、当用户拒绝了,便无法再为这个权限使用

解决方法:

1、诱导用户 自己 打开 授权设置页面(wx.openSetting)

以下以获取用户地址为例

原生版本

获取 用户 对小程序 所授予 获取地址的 权限 状态 scope

  1. 假设 用户 点击获取收货地址的提示框 确定 authSetting scope.address scope 值 true 直接调用 获取收货地址

  2. 假设 用户 从来没有调用过 收货地址的api

    scope undefined 直接调用 获取收货地址

  3. 假设 用户 点击获取收货地址的提示框 取消

    scope 值 false

3-1 诱导用户 自己 打开 授权设置页面(wx.openSetting) 当用户重新给与 获取地址权限的时候

3-2  获取收货地址

3-3 把获取到的收货地址 存入到 本地存储中 
// 2 获取 用户 对小程序 所授予 获取地址的  
 wx.getSetting({
   
   
   success: (result)=>{
   
   
    // 权限 状态 scope
    const scopeAddress = result.authSetting["scope.address
    //   1 假设 用户 点击获取收货地址的提示框 确定  authSetting scope.address 
    //     scope 值 true 直接调用 获取收货地址
    //   2 假设 用户 从来没有调用过 收货地址的api 
    //     scope undefined 直接调用 获取收货地址
    if(scopeAddress === true || scopeAddress === undefined) {
   
   
      wx.chooseAddress({
   
   
        success: (result1)=>{
   
   
          console.log(result1)
        }
      });
    }else {
   
   
      //   3 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值