小程序取消授权逻辑

该博客介绍了一个用于微信小程序中获取用户权限的函数`getPermission`。该函数首先检查用户设置,如果未授权,则弹出提示框询问用户是否授权。用户确认后打开设置页面,成功授权则回调函数返回`true`,否则返回`false`。示例展示了如何为访问相册权限请求用户授权。
摘要由CSDN通过智能技术生成



export const getPermission = (successFun, failFun, obj) => {
  const { permissionName, promptMessage } = obj
  wx.getSetting({
    success(res) {
      if (!res.authSetting[permissionName]) {
        wx.authorize({
          scope: permissionName,
          success: function () {
            successFun && successFun(true)
          },
          fail: function (res) {
            wx.hideLoading()
            wx.showModal({
              title: '提示',
              content: promptMessage,
              showCancel: true,
              cancelText: "否",
              confirmText: "是",
              success: function (res2) {
                if (res2.confirm) { //用户点击确定'
                  wx.openSetting({
                    success: (res3) => {
                      if (res3.authSetting[permissionName]) {
                        //已授权
                        successFun && successFun(true)
                      } else {
                        failFun && failFun(false)
                      }
                    }
                  })
                } else {
                  failFun && failFun(false)
                }
              }
            });
          }
        })
      } else {
        successFun && successFun()
      }
    }
  })
}

 

使用:

1.引用

import { getPermission } from "../../../utils/getPermission";

2.

     getPermission((res)=>{
        //    授权成功
      },err=>{},{
        permissionName:"scope.writePhotosAlbum", 
        promptMessage:"小程序需要访问相册保存图片"
      })

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值