应用场景:我需要小程序用户授权保存图片至手机相册权限,当用户点击授权弹框的拒绝时,再次使用下载功能需要再次弹出授权页面,但是调用wx.authorize
方法会返回错误信息errMsg: "authorize:fail:auth deny"
,指用户已经拒绝授权,不会在弹出授权页面。
最简单粗暴的方法是
wx.authorize({
scope: 'scope.writePhotosAlbum',
success(re) {
console.log(re)
},
fail(err) {
wx.showModal({
content: '检测到您没打开下载图片功能权限,是否去设置打开?',
confirmText: "确认",
cancelText: "取消",
success: function(res) {
console.log(res);
//点击“确认”时打开设置页面
if (res.confirm) {
wx.openSetting({
success: (res) => {}
})
} else {
console.log('用户点击取消')
}
}
});
}
})
在调用失败时,使用wx.openSetting
,打开授权页面
再次授权