以小程序保存圖片到本地為例
一价说、先在js中創(chuàng)建按鈕初始狀態(tài)變量
Page({
data: {
saveShareBtn: false,
}
},
二掩蛤、在wxml中添加按鈕
注意:bindopensetting="authOpen"是當(dāng)前授權(quán)結(jié)果的回調(diào)函數(shù)(在第四中查看代碼)
<block wx:if="{{saveShareBtn == true}}">
<button disabled="{{shareBtn}}" bindtap="saveShareCode" >保存圖片處理函數(shù)saveShareCode</button>
</block>
<block wx:else>
<button disabled="{{shareBtn}}" open-type="openSetting" bindopensetting="authOpen">保存圖片打開授權(quán)</button>
</block>
三午磁、判斷授權(quán)按鈕狀態(tài)
1、寫一個判斷授權(quán)按鈕狀態(tài)的函數(shù)
2炒辉、當(dāng)?shù)谝淮芜M(jìn)入會彈出是否允許授權(quán)其徙,如果點了允許或禁止會在bindopensetting="authOpen"的回調(diào)函數(shù)(見第四)中重新設(shè)置按鈕狀態(tài)
3谱煤、當(dāng)點了禁止再次點擊按鈕會彈出微信權(quán)限設(shè)置界面亥曹,在界面中允許或禁止都會在bindopensetting="authOpen"的回調(diào)函數(shù)(見第四)中重新設(shè)置按鈕狀態(tài)
isAuth: function (res) {
let that = this;
//判斷圖片權(quán)限
wx.getSetting({
success(res) {
if (res.authSetting['scope.writePhotosAlbum']) {
that.setData({saveShareBtn: true})
}else{
wx.authorize({
scope: 'scope.writePhotosAlbum',
success(res) {
console.log('允許保存圖片');
}
})
}
},
})
}
2噪服、在js的onShow中引入上面的isAuth函數(shù)毡泻,您也可以在其他需要授權(quán)的地方引入,非必須在onShow中引入粘优。
onShow:function(){
let that = this;
that.isAuth()
}
四仇味、授權(quán)回調(diào)函數(shù)
(當(dāng)?shù)谝淮谓购笮枰匦麓蜷_),可以判斷按鈕狀態(tài)雹顺,是上面第二步中的按鈕選擇使用哪個按鈕
//判斷授權(quán)結(jié)果
authOpen: function (res) {
let that = this;
if (res.detail.authSetting['scope.writePhotosAlbum']) {
that.setData({ saveShareBtn: true })
} else {
that.setData({ saveShareBtn: false })
}
},