微信小程序拒绝授权后不弹出

uniapp 获取手机定位权限及禁止拒绝后跳转设置页面 uniapp 获取手机定位权限及禁止拒绝后跳转设置页面;uniapp提示用户开启定位; 阅读详情

在微信小程序中,如果用户在小程序中拒绝过授权,下次再请求时是不会再次弹出授权窗口的.
所以需要先判断授权状态,手动弹出授权提醒

const mapInfo = () => {
    return new Promise((resolve, reject) => {
    // 先获取用户的所有授权信息
        wx.getSetting({
            success: (res) => {
            //  这里判断的是地理位置权限,如果有这个字段,状态是false,说明拒接过,这种情况是不会再次自动弹出授权窗口的
                if (res.authSetting.hasOwnProperty('scope.userLocation') && res.authSetting['scope.userLocation']===false) {
                //  弹出提示模态框
                    wx.showModal({
                        title: '是否授权地理位置信息',
                        content: '需要获取您的地理位置信息,请确认授权,否则无法推送本地岗位',
                        success: function (tip) {
                        //  点击确认
                            if (tip.confirm) {
                            //  打开授权页面,让用户手动打开权限
                                wx.openSetting({
                                    success: function (data) {
                                                          
                                        if (data.authSetting["scope.userLocation"]) {
                                            wx.getLocation({
                                                success: function (res) {
                                                    qqmapsdk.reverseGeocoder({
                                                        location: {
                                                            latitude: res.latitude,
                                                            longitude: res.longitude
                                                        },
                                                        success: function (addressRes) {
                                                            let address = addressRes.result.address_component
                                                            resolve(address);
                                                        }
                                                    })
                                                },
                                                fail: function () {
                                                }
                                            })
                                        } else {
                                            wx.showToast({
                                                title: '授权失败',
                                                icon: 'none',
                                                duration: 2000
                                            })
                                        }
                                    }
                                })
                            }
                            else {
                                let address = {city:'定位失败'}
                                resolve(address);
                            }
                        },
                    })
                } else {
                //  没有授权历史,或者已经授权过
                    wx.getLocation({
                        success: function (res) {
                            qqmapsdk.reverseGeocoder({
                                location: {
                                    latitude: res.latitude,
                                    longitude: res.longitude
                                },
                                success: function (addressRes) {
                                    let address = addressRes.result.address_component
                                    resolve(address);
                                }
                            })
                        },
                        fail: function () {
                            wx.showModal({
                                title: '获取地理位置信息失败',
                                content: '请确认是否打开手机定位功能',
                                success: function (tip) {
                                    let address = {city:'定位失败'}
                                    resolve(address);
                                },
                            })

                        }
                    })
                }
            }
        })
    })
}
微信小程序之授权登录的实现(button按钮) 前言:由于微信官方修改了 getUserInfo、authorize 接口,无法弹出授权窗口,所以现在无法实现一进入微信小程序就弹出授权窗口,只能通过 button 去触发 1.实现思路 微信授权登录仅适用于使用微信用户信息的用户,如果自己的项目有完善的用户信息(一套式开发项目),可不使用微信用户信息;如果仅为微信小程序,则要授权、获取用户信息 自己写一个微信授权登录页面让用户实... 阅读详情

相关推荐

微信小程序-用户拒绝授权后处理方式

今天做小程序关于发票那一块的接口,发现用户拒绝授权后,再次发起后wx.authorize不生效,说白了就是没有授权页面了。 解决思路:wx.authorize 不生效的话我们可以考虑自己弄个弹出层,提醒用户手动授权wx.openSetting,逻辑判断: 1.如果用户“允许”,则调用微信发票接口wx.chooseInvoiceTitle。 2.如果用户“拒绝”,则跳出弹出框用户手动设置...

qq_36197211的博客 2651

微信小程序用户授权弹窗,获取用户信息。用户拒绝授权时,引导用户去重新授权

我们在开发小程序时,如果想获取用户信息,就需要获取用的授权,如果用户误点了拒绝授权,我们怎么样去正确的引导用户重新授权呢。今天就来给大家讲讲如果正确的引导用户授权。 老规矩,先看效果图 从上图可以看出,我们在用户点击拒绝授权时,我们会弹出一个提示框,提示用户去设置页重新授权,当用户去授权页重新授权以后,我们再回到首页,点击获取用户信息时,就可以成功的获取到用户信息了。 如下图蓝色框里,就是我...

编程小石头 3万+

微信小程序 获取位置权限,用户拒绝授权后重新引导用户授权

在微信小程序开发中,有很多场景需要强依赖用户位置信息,但获取位置信息必须要显式的经过用户授权,然而很多用户对授权比较敏感,可能会点击拒绝,本文介绍如何用户拒绝授权后重新引导用户授权。

分享小程序、h5、中后台的内容和问题解决方法 2634

【微信小程序】关于授权拒绝后处理

一般情况下,微信授权拒绝之后无法再次调用起授权弹框,所以可以通过调用设置权限按钮来打开权限信息。如上,只需将上面封装成一个js文件,页面需要用时直接import导入即可。

qq_58620659的博客 2943

微信小程序简单实现授权遭拒后弹窗拉取授权(以保存图片到相册授权为例)

文章目录一、问题描述二、微信用户的解决方案三、弹窗提示引导用户开启授权四、参考代码 一、问题描述 有过微信小程序开发经历的应该会知道,小程序的部分接口需要用户授权同意才能调用,初次使用时小程序会有弹窗询问用户,但是一旦用户拒绝授权,那么下次点击时将不会出现弹窗询问。没有弹窗询问,该如何重新获取用户授权呢?下面以访问本地相册授权为例,介绍两类重新获取用户授权的方法。 二、微信用户的解决方案 1. 方...

帅气的小白的博客 3618

找麻烦之:一次授权点拒绝,二次授权重新打开授权界面与用户信息授权

前言 本博客记录了笔者在学习微信小程序时用到的俩种授权,分享记录一下,有需要的可以看看,如有错误多多包涵~ 授权 文档介绍 一 获取用户信息授权(昵称,头像,地区,性别) 在用微信小程序时我们经常会需要得到用户的信息 可以写个按钮。绑定点击方法,点击就出现上面的授权界面 <button type="primary" open-type="getUserInfo" bind:get...

Iwokei的博客 2076

关于微信小程序用户拒绝授权后不再弹出授权窗口

最近在开发小程序的时候发现了一些小问题,由于小程序 五月份进行了一些规则调整 获取用户授权需要引导用户手动触发,这样就导致之前直接弹窗的方式不可用了,比如我想要获取用户的通讯地址,当用户点击拒绝后,后续想要获取就需要引导用户去设置里面开启权限 &lt;view class="dizhi" bindtap="getMobile"&gt; &lt;view&gt; &lt;im...

Zhongcheng985的博客 1万+

ESP-SR实战:从零搭建智能语音唤醒与命令识别系统

本文详细介绍了如何利用乐鑫ESP-SR框架,从零开始搭建一个完整的离线智能语音交互系统。内容涵盖硬件选型(推荐ESP32-S3与数字麦克风)、开发环境配置(ESP-IDF与ESP-ADF),并深入解析了AFE声学前端、WakeNet唤醒词检测和MultiNet命令词识别三大核心模块的工作原理与实战配置。通过具体的代码示例和调试技巧,指导开发者快速实现高识别率的语音唤醒与命令控制功能。

weixin_29161785的博客 302

Android权限的一些问题和理解

Android权限的处理,使用官方提供的permissions.dispatcher包处理,是很简单的,我们只需要在各种时机回调中实现业务代码就可以了。比如,权限被禁止的时机也是有的。 看看几个概念的说明文章,方便理解 Android 动态权限中shouldShowRequestPermissionRationale怎么理解,判断权限被禁止 ...

“点点”专栏 1609

贝塞尔曲线在机器人路径平滑中的实战应用与优化

本文深入探讨了贝塞尔曲线算法在机器人路径平滑中的核心应用。通过对比G1CBS与G2CBS两种方法,详细阐述了如何实现从切线连续到曲率连续的平滑优化,以满足不同机器人对运动平稳性和效率的需求,并提供了完整的Python代码实现与关键参数调优指南。

weixin_29051811的博客 307

电源完整性之Cadence Sigrity Power SI_AC阻抗仿真

之前和大家分享过电源完整性之仿真设计原理链接: [link](https://blog.youkuaiyun.com/weixin_41808082/article/details/117065140?spm=1001.2014.3001.5501).今天接着上一篇文章总结一下电源AC阻抗的的仿真操作流程及一些simulation中的设置参数,用到的时候Cadence Sigrity 中的Power SI组件,下面开始享受仿真的快乐吧: 1.仿真模式选择与文件导入 选择Cadence Sigrity下的Power SI

刘小同学的博客 1万+

微信小程序 兼容用户拒绝获取位置权限 用户拒绝权限处理

微信小程序 兼容用户拒绝获取位置权限 用户拒绝权限处理。

Harry Blog 282

保姆级教程:用Adams/Car和Simulink搞定你的第一个整车联合仿真(附模型文件)

本文提供了一份详尽的Adams/Car与Simulink联合仿真教程,涵盖从环境配置到模型导出的全流程。通过实战案例解析,帮助工程师快速掌握多体动力学仿真与控制算法开发的集成技术,特别适合汽车工程领域的初学者。文章还包含常见问题解决方案和性能优化建议,助您高效完成整车联合仿真项目。

weixin_29663861的博客 337

微信小程序不允许位置信息后再次点击按钮不弹窗授权框的解决方法

点击获取位置按钮后执行下面的js wx.getSetting({//获取用户已授权的信息 success(res) { if (res.authSetting['scope.userLocation']==false){//如果没有授权地理位置 wx.openSetting({ s...

xxs18326183038的博客 3573

【硬件】通俗易懂的讲解晶体管(三极管和MOS管)的工作原理

晶体管是一个简单的元器件,可用于构建许多有趣的项目。在本文中,我将用通俗易懂的语言给您讲解晶体管的工作原理,以便您可以在电路设计中更好的使用静态管。一旦你学习这些基础知识,对以后的设计和使用来说,将会变得非常容易。我们将重点介绍两种最常见的晶体管:双极型晶体管(三极管)和MOSFET。晶体管的工作原理其实是类似于电子开关。它可以打开和关闭电路。一个简单的思考方法是将晶体管视为无源的继电器。晶体管类似于继电器,从某种意义上说,您可以使用它来打开和关闭某些东西。但晶体管也可以部分导通,一般在放大电路中使用,这部

1万+

NFS服务器配置与autofs自动挂载

NFS服务器配置autofs自动挂载 环境: hostname ip OS server 192.168.220.138 centos7 client 192.168.220.139 centos7 一、NFS概述 NFS(Network File System)网络文件系统。最大功能就是通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。 二、端口 [root@se...

DoloresOOO的博客 1026

微信小程序中用户拒绝授权的处理方式

微信小程序中的权限介绍 大家如果接触过移动开发应该都知道,涉及到一些用户敏感信息的操作(比如定位、访问本地文件等)都是需要用户授权的,在Android开发中,我们需要提前将这些权限配置到项目中,Android 6.0及以上版本还需要通过代码来动态申请部分权限。微信小程序也是如此,我们平时使用小程序时可能也见到过进行某个操作之前弹出授权框的场景,需要用户手动授权后才能进行下一步操作。接下来我简单介绍一下微信小程序中的授权机制,基本上都是参考自官方文档,大家也可以直接阅读官方文档,了解更详细的介绍。 微信小程

Supaopao的博客 9065

HCIE-Datacom笔试题库

关于HCIE Datacom笔试考试题目整理!

坏坏-5的博客 608

微信小程序获取用户地理位置拒绝后依然弹出授权

微信小程序获取用户地理位置拒绝后依然弹出授权 app.js App({ //获取用户地理位置权限 getPermission:function(obj){ wx.chooseLocation({ success: function (res) { obj.setData({ address:...

换日线的博客 2474

VS code 调试显示preLaunchTask“g++“已终止,退出代码为-1。 生成‘... .exe‘文件错误

总结: 以后每个工程都需要按照这样的流程:创建一个.c/.cpp文件 -> F5运行 -> 配置tasks.json文件-> launch.json文件 -> 运行

qq_45151652的博客 2513

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

微信小程序 拒绝地址授权无法二次授权解决方法

微信小程序 拒绝地址授权无法二次授权解决方法 wx.chooseAddress({})是小程序获取用户收货地址。编辑用户收货地址信息原生界面的接口,调用接口的时候需要授权获取位置信息,如果我们拒绝了授权后,再次调用微信地址就不会太有弹窗弹出,根据小程序官方文档给出的解释,如果用户已拒绝授权,则不会出现弹窗,而是直接进入接口 fail 回调。所以再开发过程中使用这个接口的时候需要做兼容。 为了解决无...

qq_41855739的博客 3024

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

关于微信小程序拒绝授权后,重新授权并获取用户信息

最近公司做了一些有关微信小程序的项目,涉及到授权获取用户基本信息,但是在拒绝授权之后就不会再出现授权窗口;   看网上也有很多人遇到了同样的问题,所以记录下来我的处理方法,供大家和自己学习和记录:   当调用小程序wx.getUserInfo(OBJECT) 获取用户基本信息时,需要用户进行授权操作,如果用户点击了拒绝,则再次调用该方法就不会出现对应的授权窗口,很是让人困惑;   找了许久...

weixin_30535565的博客 1423

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

小程序消息订阅用户拒绝了长期订阅授权,再次唤起授权,但是微信没有弹出授权弹窗

小程序消息订阅用户拒绝了长期订阅授权,再次唤起授权,但是微信没有弹出授权弹窗

weixin_63515766的博客 4491

微信小程序中的位置授权,位置授权完整流程

在微信小程序开发中,很多时候要用到定位信息,特别是某些基于位置提供服务的小程序,没有定位就无法提供相应功能。再实际业务中,主要要考虑下面两点: 1、在小程序中,如果用户首次拒绝了位置授权,那么再通过wx.getLocation获取位置信息时,是会直接走fail回调的。此时如果还想弹出授权,需要通过wx.openSetting调用设置位置授权功能。 2、当手机没有开启GPS定位服务时,这时候也应该给用户友好的提示,如果继续使用需要打开手机GPS定位功能。 下面代码是基于uniapp写的,如果使用小程序原生开发

weixin_43180359的博客 1万+
上一篇: 微信小程序获取所在位置信息,城市,省份
下一篇: 小程序打开百度地图,腾讯地图
wakangda
博客等级 码龄8年 445粉丝 96原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值