小程序用户拒绝授权解决方法
众所周知,小程序进入首先都要进行微信授权的,那万一用户不小心点了拒绝按钮怎么办呢?不要慌,官方早已预料到此情况,并提供了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
小程序用户拒绝授权解决方法相关推荐
- uni-app微信小程序uni.getLocation获取位置;authorize scope.userLocation需要在app.json中声明permission;小程序用户拒绝授权后重新授权
需求:点击按钮获取当前微信位置,以及点击拒绝授权后,下次点击还可以拉起授权窗口: 拒绝授权后重新拉起授权操作: 直接授权操作: 一.问题1:报authorize scope.userLocation需 ...
- 微信小程序用户拒绝授权之后重新调用
console.log("onLoad=====");var that = this;wx.getUserInfo({success: function (res) {var us ...
- 微信小程序用户拒绝授权地理位置信息再次调起授权窗口
目的 注意 chooseLocation() {let that = thiswx.chooseLocation({latitude: '',longitude: '',success(res) {c ...
- 微信小程序用户未授权bug解决方法,微信小程序获取用户信息失败解决方法
微信小程序开发交流qq群 173683895 承接微信小程序开发.扫码加微信. 正文: bug示例图: 导致这个bug的原因是 wx.getUserInfo(OBJECT) 接口做了调整: ...
- 微信小程序保存图片拒绝授权后的操作
这个地方还是有些困惑人的,拒绝了保存图片的授权,处理不好再次保存图片的时候就没有反应了,还是很急人的,那么我们来记录一下这个地方. 大家都知道,微信小程序保存图片等都需要获取相对应的权限才可以进行接下 ...
- 微信小程序Wepy框架——ThirdScriptError解决方法
微信小程序报错ThirdScriptError 我使用的是wepy框架,后台实时进行编译,微信开发者工具作为界面展示 错误信息如下: 解决方法如下: 第一眼看到这个错误,根据错误信息TypeError ...
- UNI-APP_开发支付宝小程序注意事项与解决方法,支付宝小程序图片显示问题
一.编译后,微信小程序上图片图标显示正常,但是一到支付宝小程序图片图标显示就不正常如下图: 微信显示 支付宝显示 官方文档:https://opendocs.alipay.com/mini/compo ...
- 无法启动程序,拒绝访问解决方法
出现上面错误,我的情况是这样的,解决方案中有3个项目,运行的时候出现这个问题, 解决方法就是把需要运行出结果的那个项目右击设置为启动项目.
- uniapp 小程序超过2M的解决方法——分包
小程序限制: 整个小程序所有分包大小不超过 8M 单个分包/主包大小不能超过 2M 如果小程序每个包超出了2M,不能预览和上传,所以需要分包 不难!不难!一点也不难!操作起来很简单 1.在根目录(p ...
最新文章
- 那些年,让我面试头大的几个排序算法,今天终于搞懂了!
- linux ldconfig 与 /etc/ld.so.conf 动态函数库配置
- 看django视频笔记
- Django,ajax实现表格增删查改,Django内置分页功能。
- Android 仿微信朋友圈发表图片拖拽和删除功能
- SqlServer2008修改编辑前200行
- 接口带声音输出吗_智能化时代,你的功放跟得上科技的脚步吗?
- python怎么看待_如何看待将Python作为少儿编程的基础语言?
- linux怎么建立链接文件,Linux 建立文件夹的链接
- 服务器IIS配置添加下载扩展名
- 齿轮的正负变位设计要点
- 谷歌浏览器html5插件怎么设置,怎么在谷歌浏览器上安装react插件
- 使用openwrt-SDK 生成IPK
- 连续型随机变量单点概率为0以及不可能事件
- ArcMap中设置字体符号Character Marker Symbol指定某字的unicode
- 程序员理想的工作环境应该是怎样的?
- Unrecoverable error: corrupted cluster config file.
- picgo+sharex写markdown笔记
- 官方问答--微信小程序常见FAQ (17.8.21-17.8.27)
- Linux系统根目录详解