小程序模板網(wǎng)

微信小程序授權(quán)保存到相冊(cè)功能

發(fā)布時(shí)間:2021-06-17 10:13 所屬欄目:小程序開(kāi)發(fā)教程

對(duì)于授權(quán)有三種情況:

1.用戶第一次使用,彈出授權(quán)。

2.用戶已經(jīng)拒絕過(guò)授權(quán)。

3.用戶已經(jīng)授權(quán)過(guò)。

正確的邏輯處理是:

(1)獲取用戶授權(quán)的信息

(2)判斷scope.writePhotosAlbum的值,若為true則已經(jīng)授權(quán),直接調(diào)用保存到相冊(cè)的方法;若為undefined,則說(shuō)明是第一次授權(quán),需要調(diào)用wx.authorize彈出授權(quán)框,授權(quán)框只在第一次詢問(wèn)時(shí)彈出,如果用戶已經(jīng)拒絕了,則不會(huì)彈出。因此我們需要對(duì)undefined情況進(jìn)行判斷。若為false,則已經(jīng)拒絕了授權(quán),這時(shí)候我們需要調(diào)用wx.openSetting引導(dǎo)用戶打開(kāi)設(shè)置,保存到相冊(cè),wx.openSetting設(shè)置界面只會(huì)出現(xiàn)小程序已經(jīng)向用戶請(qǐng)求過(guò)的權(quán)限,正因?yàn)閣x.authorize和wx.openSetting的使用場(chǎng)景限制,我們才需要考慮這兩種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: '您沒(méi)有授權(quán),無(wú)法保存到相冊(cè)',
                                icon: 'none'
                            })
                        }
                    })
                }else {
                    wx.openSetting({
                        success(res) {
                            if (res.authSetting['scope.writePhotosAlbum']) {
                                _this.saveImg();
                            }else{
                                wx.showToast({
                                    title:'您沒(méi)有授權(quán),無(wú)法保存到相冊(cè)',
                                    icon:'none'
                                })
                                _this.setData({ isSaving: false });                                
                            }
                        }
                    })
                }
            }
        })


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開(kāi)源 碼云倉(cāng)庫(kù):starfork
本文地址:http://22321a.com/wxmini/doc/course/26539.html 復(fù)制鏈接 如需定制請(qǐng)聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢