微信小程序授權保存到相冊功能


對於授權有三種情況:

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 });                                
                            }
                        }
                    })
                }
            }
        })

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM