针对微信小程序拉起授权并拒绝授权后的再次授权处理

这篇具有很好参考价值的文章主要介绍了针对微信小程序拉起授权并拒绝授权后的再次授权处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

针对微信小程序拉起授权并拒绝授权后的再次授权处理

小程序在获取某些用户隐私数据的时候通常需要经过授权,然而有的用户会点击拒绝,针对这种情况需要进行处理下,方便用户下次使用的时候能够正常拉起授权
比如我们如果要获取用户的位置,如果我们直接调用wx.getLocation(),然而用户点击了拒绝,怎么办?此时我们需要在调用wx.getLocation()之前先要去调用一下wx.getSetting(),看看authSetting里面是否有’scope.userLocation’,有的话代表之前拉起过授权,如果值是false代表拒绝授权,需要调用wx.getSetting()接口手动设置授权,如果没有’scope.userLocation’,代表没拉起过授权文章来源地址https://www.toymoban.com/news/detail-624294.html

        wx.getSetting({
          success(res0) {
            console.log('查看是否吊起过授权', res0)
            // 查看是否吊起过授权
            if (!Object.keys(res0.authSetting).includes('scope.userLocation')) {
              wx.getLocation({
                type: 'wgs84',
                success(res1) {
                  console.log('吊起过授权---再次获取定位', res1)
                  that.getAddress(res1)
                },
                fail() {
                  console.log('吊起过授权---失败')
                  that.getAddress({ longitude: '106.713478', latitude: '26.578343' })
                }
              })
              return
            }
            // 已经吊起过授权并且拒绝授权
            if (!res0.authSetting['scope.userLocation']) {
              wx.showModal({
                title: '您未开启地理位置授权',
                content: '为了给您提供更好的服务,请您授权地理位置,谢谢',
                success: res2 => {
                  if (res2.confirm) {
                    wx.openSetting({
                      success(res3) {
                        console.log('吊起过授权---并且拒绝--重新设置授权', res3)
                        // 成功授权地理位置
                        if (res3.authSetting['scope.userLocation']) {
                          wx.getLocation({
                            type: 'wgs84',
                            success(res4) {
                              console.log('重新上设置授权成功---再次获取定位', res4)
                              that.getAddress(res4)
                            },
                            fail() {
                              console.log('重新授权失败')
                              that.getAddress({ longitude: '106.713478', latitude: '26.578343' })
                            }
                          })
                        } else {
                          // 未授权地理位置,默认显示贵阳
                          console.log('重新授权---未允许,默认显示贵阳')
                          that.getAddress({ longitude: '106.713478', latitude: '26.578343' })
                        }
                      }
                    })
                  } else {
                    console.log('拒绝授权地理位置,默认显示贵阳')
                    that.getAddress({ longitude: '106.713478', latitude: '26.578343' })
                  }
                }
              })
            } else {
              wx.getLocation({
                type: 'wgs84',
                success(res) {
                  console.log('吊起过授权,直接获取位置')
                  that.getAddress(res)
                },
                fail() {
                  console.log('授权失败,默认显示贵阳')
                  that.getAddress({ longitude: '106.713478', latitude: '26.578343' })
                }
              })
            }
          }
        })

到了这里,关于针对微信小程序拉起授权并拒绝授权后的再次授权处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序中,当用户已经拒绝本次授权后,如何重新向用户发起授权?

    当用户拒绝授权后,小程序无法调用相应的 API,需要让用户重新授权。可以通过以下步骤引导用户重新授权: 显示一个提示框,向用户说明需要该权限所需的原因,并提供一个打开设置页面的按钮。 点击打开设置页面按钮后,跳转到小程序的授权设置页。用户可以在此页面

    2024年02月11日
    浏览(96)
  • uniapp 拉起授权(拒绝后重新开启权限)

    在 uniapp 中,你可以通过以下步骤来拉起权限,如果权限被拒绝,可以尝试重新开启权限: 引入 uniapp 的权限模块:首先,你需要在项目中引入 uniapp 的权限模块。在 manifest.json 文件中,找到 uni_modules ,添加 \\\"uni-permissions\\\": \\\"1.0.1\\\" ,然后在 pages.json 文件中,添加 \\\"useExtendedLib\\\":

    2024年02月06日
    浏览(44)
  • 链接拉起微信小程序

    前言:之前做过RN的 app 拉起小程序 外链拉起app,需求变更,需要支持微信分享出去的链接拉起小程序,这里对微信分享做个补充 准备工作 :微信开放平台绑定小程序 绑定时需要管理员账号 app 和小程序同一开发平台时,不用其他额外设置,如果不是同一平台,需要app绑定小

    2024年02月08日
    浏览(33)
  • uni_app授权登录及授权麦克风防止用户点击拒绝按钮,权限无法再次被挂起。

    在用uni-app开发小程序的时候我们经常会遇到,需要授权的时候,用户没有点击确认按钮,然后用户再次点击的时候,系统默认执行失败回调函数,权限获取无法再次被挂起。 1、授权登录 先调取uni.getUserProfile  设置desc: \\\'Wexin\\\' 再调去uni.login 然后用返回的code码向接口换取open

    2024年02月09日
    浏览(62)
  • Uniapp,vue拉起地图导航(微信小程序)

    wx.getLocation()方法 这个方法需要在首页调用一下 还需要再 app.json 里面加入 不然上线的时候审核不过 然后在你点击拉起按钮方法里面写入这个wx.openLocation()方法 切记里面的经纬度需要转成数字( Number 类型)例如: 按钮 方法 Markdown 图标 快捷键 撤销 Ctrl /⌘+Z 重做 Ctrl /⌘+Y 加

    2024年02月10日
    浏览(58)
  • 【需求】微信小程序getAccessToken接口调用过于频繁,导致超过每日限制,不能再次获取

    微信API文档上有讲:①getAccessToken接口生成的access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效②每天有调用次数限制,据说是2000次,具体多少就不知道了。本需求需要保证每天能正常获取和使用getAccessToken。 1.1 联调微信小程序的getA

    2024年02月16日
    浏览(53)
  • 微信小程序 video 组件[播新视频旧视频暂停,再次播放延续上次播放时长]

    1、引言 微信官方文档网址:媒体组件 / video (qq.com) 2、播新视频旧视频暂停   问题: 多个视频同时播放的问题 需求:         1. 在点击播放的事件中需要找到上一个播放的视频         2. 在播放新的视频之前关闭上一个正在播放的视频 关键:         1. 如何

    2024年02月19日
    浏览(43)
  • 生成微信小程序发布上线后的二维码 、获取微信小程序二维码、微信小程序二维码如何生成?

    情景: 1、在微信小程序审核完成,发布到线上后,想通过扫描小程序二维码进入小程序 2、可分享二维码出去,通过二维码扫码进入小程序 方法: 1、进入微信小程序的后台配置。链接:微信公众平台。(如图一) 2、进入 “设置” -- “ 基本设置” -- “小程序码及线下物

    2024年02月12日
    浏览(51)
  • UNIAPP---实现微信小程序登录授权和手机号授权(uniapp做微信小程序)

    描述:uniapp开发小程序,先授权用户信息后再出现手机号授权的页面进行手机号授权。完成后返回上一页面并把信息存入后台以及前台缓存中,方便使用。 1.在uniapp的manifest.json进行微信小程序配置 2.封装request请求api.js(如果已封装可跳过) 3.封装微信授权登录以及获取手机

    2024年02月11日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包