保存图片再次弹出授权框


问题:当用户第一次进入小程序,点击授权按钮后,点了拒绝,再次点击不会出现授权页面,只有再次进入小程序的时候 才会出发请求授权 
案例:假如我们要实现一个保存图片的功能,第一次点击的时候弹起授权,用户点击的拒绝,当用户再次点击的时候,如何继续弹出授权?
实现步骤:
1、wx.getSetting 判断用户是否开启授权相册
2、wx.saveImageToPhotosAlbum已经授权,直接保存图片
3、wx.authorize,如果没有授权,弹出授权框,点击确定之后,保存图片,
  点击确定之后,会走success,保存图片
  点击拒绝之后,会走fail (以后就不会弹出授权框了)
再点击拒绝之后
·fail中需要让他弹出授权框(由于wx.openSetting必须通过按钮触发,所以我们当用户拒绝的时候添加一个弹出框(wx.showModal),当用户点击确定的时候弹出授权框)


    wx.getSetting({
                        success(res) {
                            console.log(that.tempFilePath)
                            // 如果没有则获取授权
                            if (!res.authSetting['scope.writePhotosAlbum']) {
                                wx.authorize({
                                    scope: 'scope.writePhotosAlbum',
                                    success(res) {
                                        // console.log
                                        wx.saveImageToPhotosAlbum({
                                            filePath: that.tempFilePath,
                                            success() {
                                                wx.showToast({
                                                    title: '保存成功'
                                                })
                                            },
                                            fail() {
                                                wx.showToast({
                                                    title: '保存失败用户点击取消'
                                                })
                                            }
                                        })
                                    },
                                    fail() {
                                        wx.showModal({
                                            title: '提示',
                                            content: '若点击不授权,将无法使用保存图片功能',
                                            cancelText: '不授权',
                                            cancelColor: '#999',
                                            confirmText: '授权',
                                            confirmColor: '#f94218',
                                            success(res) {
                                                if (res.confirm) {
                                                    wx.openSetting({
                                                        success(res) {
                                                            console.log(res.authSetting)
                                                        }
                                                    })
                                                } else if (res.cancel) {
                                                    console.log('用户点击取消')
                                                }
                                            }
                                        })
                                    }
                                })
                            } else {
                            // 有则直接保存
                                wx.saveImageToPhotosAlbum({
                                    filePath: that.tempFilePath,
                                    success() {
                                        wx.showToast({
                                            title: '保存成功'
                                        })
                                    },
                                    fail() {
                                        wx.showToast({
                                            title: '保存失败'
                                        })
                                    }
                                })
                            }
                        }
                    })
原文地址:https://www.cnblogs.com/yueyuez/p/12958291.html