欢迎光临,了解微信小程序开发,就上易用通!

微信小程序授权保存到相册功能

发布:2021-06-17 10:13浏览: 来源:网络 作者:admin

对于授权有三种情况:

1.用户第一次使用,弹出授权。

2.用户已经拒绝过授权。

3.用户已经授权过。

正确的逻辑处理是:

(1)获取用户授权的信息

(2)判断scope.writePhotosAlbum的值,若为true则已经授权,直接调用保存到相册的方法;若为undefined,则说明是第一次授权,需要调用wx.authorize弹出授权框,授权框只在第一次询问时弹出,如果用户已经拒绝了,则不会弹出。因此我们需要对undefined情况进行判断。若为false,则已经拒绝了授权,这时候我们需要调用wx.openSetting引导用户打开设置,保存到相册,wx.openSetting设置界面只会出现小程序已经向用户请求过的权限,正因为wx.authorize和wx.openSetting的使用场景限制,我们才需要考虑这两种case一起使用才行,缺一不可。


        wx.getSetting({
            success(res) {
                if (res.authSetting['scope.writePhotosAlbum']) {
                    _this.saveImg();
                } else if (res.authSetting['scope.writePhotosAlbum'] === undefined) {
                    wx.authorize({
                        scope: 'scope.writePhotosAlbum',
                        success() {
                            _this.saveImg();
                        },
                        fail(){
                            wx.showToast({
                                title: '您没有授权,无法保存到相册',
                                icon: 'none'
                            })
                        }
                    })
                }else {
                    wx.openSetting({
                        success(res) {
                            if (res.authSetting['scope.writePhotosAlbum']) {
                                _this.saveImg();
                            }else{
                                wx.showToast({
                                    title:'您没有授权,无法保存到相册',
                                    icon:'none'
                                })
                                _this.setData({ isSaving: false });                                
                            }
                        }
                    })
                }
            }
        })




免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。