E企盈营销工具技术服务商 热线:4006-838-530

微信小程序通讯地址授权拒绝后的处理方式

E企盈直播平台营销卖货系统

在小程序开发时,在用户拒绝获取通讯地址的授权后,在一段时间内将无法在弹出授权提示导致无法获取通讯地址。通过看微信的api文档,发现其中有一个wx.openSetting()方法可以打开设置页面进行授权。但wx.openSetting()方法打开的设置页面只能显示用户请求过的授权,未请求过的是无法显示在设置页面。所以须先调用wx.authorize()方法进行请求授权。处理步骤1、在需要调用通讯地址页面对应的onload方法中调用wx.authorize()请求通讯地址授权。wx.getSetting({//先获取用户当前的设置      success(res) {        if (!res.authSetting[‘scope.address’]) {          wx.authorize({            scope: ‘scope.address’,            success(res) {              console.log(res.errMsg);//用户授权后执行方法            },            fail(res){             //用户拒绝授权后执行            }          })        }      }    })scope.address 是通讯地址授权对应的scope值2、在对应的调起用户通讯地址的事件中加入以下代码处理    var that = this;    wx.getSetting({      success(res) {        if (!res.authSetting[‘scope.address’]) {          wx.openSetting({          })        }else{          //打开选择地址          wx.chooseAddress({            success: function (res) {              that.setData({                address: res,                noAddress: false              });            }          })        }      },      fail(res){        console.log(‘调用失败’)      }    })调用wx.getSetting()获取用户的当前设置,success方法返回的值如下:/* * res.authSetting = { *   “scope.userInfo”: true, *   “scope.userLocation”: true * } */如果res.authSetting[‘scope.address’]返回true说明已经授权会直接打开通讯地址列表页面如下图如果返回的是undefined或false则会进入打开设置页面,进行设置页面后将通讯地址勾选上在重新打开即可进入上面的图所示的页面。对于微信的其他的授权api在用户拒绝授权后可以进行上述方法的处理。小程序

赞(0) 打赏
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » 微信小程序通讯地址授权拒绝后的处理方式
分享到: 更多 (0)
E企盈小程序直播营销卖货系统
E企盈直播平台营销卖货系统

评论 抢沙发

E企盈小程序开发

联系我们联系我们

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

支付宝扫一扫打赏

微信扫一扫打赏