• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

小程序用户拒绝授权解决方法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

众所周知,小程序进入首先都要进行微信授权的,那万一用户不小心点了拒绝按钮怎么办呢?不要慌,官方早已预料到此情况,并提供了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.userInfo
                wx.setStroageSync(\'userInfo\', userInfo)//获app.userInfo = userInfo
                var nickName = userInfo.nickName
                var avatarUrl = userInfo.avatarUrl
                var gender = userInfo.gender //性别 0:未知、1:男、2:女
                var province = userInfo.province
                var city = userInfo.city
                var 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()操作


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
微信小程序版本自动更新弹窗提示发布时间:2022-07-18
下一篇:
微信小程序授权保存到相册功能发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap