封装一个通用的小程序授权方法

本文介绍了在微信小程序开发中,如何封装一个通用的授权处理方法。针对用户首次和后续授权的不同情况,详细阐述了授权流程,包括直接调用API、用户拒绝后的处理以及引导用户授权的逻辑。通过封装此方法,可以简化授权操作并提供更好的用户体验。

在小程序的开发中,经常需要比如获取用户地理位置保存图片到本地等操作,在进行这些操作前都需要先获取访问权限

微信小程序在获取授权时不是直接调用获取API就行,而是有如下情况的判断

  1. 第一次获取用户授权信息,直接调获取API,系统在页面中弹窗提示用户是否同意授权,用户同意,true;用户拒绝,执行拒绝,false
  2. 若之前用户拒绝了授权,在本次获取时需要通过先打开设置页面的方法开启授权,然后再调用获取API

所以用户同意授权后可以直接调用获取方法,用户没同意时,需要引导用户去同意授权才能执行后面的方法,而引导用户授权,在第一次授权的时候,小程序原生会自动弹窗提示,而后面几次都需要我们打开设置页面来引导用户授权,所以梳理以上步骤,我们可以封装一个如下方法

/** @desc 打开设置页面 */
export const openAuthSetting = ({
   
   
    key,
    authCB,
    failCB,
}) => {
   
   
    wx.openSetting({
   
   
        success (res) {
   
   
            if (!res.authSetting[`scope.${
     
     key}`]) {
   
   
                // 未授权直接返回
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值