众所周知,小程序进入首先都要进行微信授权的,那万一用户不小心点了拒绝按钮怎么办呢?不要慌,官方早已预料到此情况,并提供了api供开发者使用,下面就一起来研究下api吧

一、API接口

wx.openSetting(OBJECT)调起客户端小程序设置界面,返回用户设置的操作结果。注:设置界面只会出现小程序已经向用户请求过的权限。wx.getSetting(OBJECT)获取用户的当前设置。注:返回值中只会出现小程序已经向用户请求过的权限。

二、API调用顺序

首先要知道咱们解决的问题是什么,其次才是怎么解决问题。

需要解决的问题:用户拒绝授权,在需要其授权的信息的页面打开授权,让用户再次进行授权(ps:表达能力有限)

分析问题:1.拒绝授权;2.再次授权

1:既然已拒绝授权,那么肯定已经调用了wx.getUserInfo()方法,那么先看下这个api吧

        wx.getUserInfo({success: function (res) {//用户同意授权时返回的数据var userInfo = res.userInfowx.setStroageSync('userInfo', userInfo)//获app.userInfo = userInfovar nickName = userInfo.nickNamevar avatarUrl = userInfo.avatarUrlvar gender = userInfo.gender //性别 0:未知、1:男、2:女var province = userInfo.provincevar city = userInfo.cityvar country = userInfo.country},fail: function (ret) {//用户拒绝授权时的操作//
}})

2.再次授权

        // 在需要用户授权时调用wx.getSetting()
        wx.getSetting({success: function (res) {if (res.authSetting["scope.userInfo"]) {//用户已授权
                    wx.getUserInfo({success: function (data) {var scopeData = data.userInfo;wx.setStorageSync('userInfo', scopeData);}})} else {//用户未授权// 可以添加个提示信息,在这里就我就不写了哈wx.openSetting({//打开小程序设置页面,用户自己选择授权
                        success: function (res) {res.authSetting = {"scope.userInfo": true}}})}}})

3.注

最后一点要注意,在小程序的设置页面,用户点击按钮是没有办法进行其操作的,要在其返回页面的onShow方法里进行wx.getSetting的success()操作

更多专业前端知识,请上 【猿2048】www.mk2048.com

小程序用户拒绝授权解决方法相关推荐

  1. uni-app微信小程序uni.getLocation获取位置;authorize scope.userLocation需要在app.json中声明permission;小程序用户拒绝授权后重新授权

    需求:点击按钮获取当前微信位置,以及点击拒绝授权后,下次点击还可以拉起授权窗口: 拒绝授权后重新拉起授权操作: 直接授权操作: 一.问题1:报authorize scope.userLocation需 ...

  2. 微信小程序用户拒绝授权之后重新调用

    console.log("onLoad=====");var that = this;wx.getUserInfo({success: function (res) {var us ...

  3. 微信小程序用户拒绝授权地理位置信息再次调起授权窗口

    目的 注意 chooseLocation() {let that = thiswx.chooseLocation({latitude: '',longitude: '',success(res) {c ...

  4. 微信小程序用户未授权bug解决方法,微信小程序获取用户信息失败解决方法

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 正文: bug示例图: 导致这个bug的原因是 wx.getUserInfo(OBJECT) 接口做了调整: ...

  5. 微信小程序保存图片拒绝授权后的操作

    这个地方还是有些困惑人的,拒绝了保存图片的授权,处理不好再次保存图片的时候就没有反应了,还是很急人的,那么我们来记录一下这个地方. 大家都知道,微信小程序保存图片等都需要获取相对应的权限才可以进行接下 ...

  6. 微信小程序Wepy框架——ThirdScriptError解决方法

    微信小程序报错ThirdScriptError 我使用的是wepy框架,后台实时进行编译,微信开发者工具作为界面展示 错误信息如下: 解决方法如下: 第一眼看到这个错误,根据错误信息TypeError ...

  7. UNI-APP_开发支付宝小程序注意事项与解决方法,支付宝小程序图片显示问题

    一.编译后,微信小程序上图片图标显示正常,但是一到支付宝小程序图片图标显示就不正常如下图: 微信显示 支付宝显示 官方文档:https://opendocs.alipay.com/mini/compo ...

  8. 无法启动程序,拒绝访问解决方法

    出现上面错误,我的情况是这样的,解决方案中有3个项目,运行的时候出现这个问题, 解决方法就是把需要运行出结果的那个项目右击设置为启动项目.

  9. uniapp 小程序超过2M的解决方法——分包

    小程序限制: 整个小程序所有分包大小不超过 8M  单个分包/主包大小不能超过 2M 如果小程序每个包超出了2M,不能预览和上传,所以需要分包 不难!不难!一点也不难!操作起来很简单 1.在根目录(p ...

最新文章

  1. 那些年,让我面试头大的几个排序算法,今天终于搞懂了!
  2. linux ldconfig 与 /etc/ld.so.conf 动态函数库配置
  3. 看django视频笔记
  4. Django,ajax实现表格增删查改,Django内置分页功能。
  5. Android 仿微信朋友圈发表图片拖拽和删除功能
  6. SqlServer2008修改编辑前200行
  7. 接口带声音输出吗_智能化时代,你的功放跟得上科技的脚步吗?
  8. python怎么看待_如何看待将Python作为少儿编程的基础语言?
  9. linux怎么建立链接文件,Linux 建立文件夹的链接
  10. 服务器IIS配置添加下载扩展名
  11. 齿轮的正负变位设计要点
  12. 谷歌浏览器html5插件怎么设置,怎么在谷歌浏览器上安装react插件
  13. 使用openwrt-SDK 生成IPK
  14. 连续型随机变量单点概率为0以及不可能事件
  15. ArcMap中设置字体符号Character Marker Symbol指定某字的unicode
  16. 程序员理想的工作环境应该是怎样的?
  17. Unrecoverable error: corrupted cluster config file.
  18. picgo+sharex写markdown笔记
  19. 官方问答--微信小程序常见FAQ (17.8.21-17.8.27)
  20. Linux系统根目录详解

热门文章

  1. [精品]CSAPP Bomb Lab 解题报告(三)
  2. python函数理解_Python 知识理解---函数
  3. 重温2 在Activity中使用Menu
  4. NOIP模拟测试8「匹配·回家」
  5. element table 组件内容换行方案
  6. solr 启动、停止
  7. Android 热补丁动态修复框架小结
  8. HDU-3065 病毒侵袭持续中 AC自动机又是一板子!
  9. Mac OS X 10.10如何打开虚拟内存
  10. creo减速器建模实例_3.16减速器箱体附件建模