微信小程序?qū)崿F(xiàn)保存圖片到相冊功能
項目中有個保存二維碼到相冊的功能,所以涉及到用戶是否授權(quán)相冊權(quán)限的問題。廢話不多說,直接上干貨...
功能邏輯:
先檢查用戶請求過的權(quán)限中是否允許"保存到相冊"權(quán)限,如果沒有請求過這個權(quán)限,應(yīng)該向用戶發(fā)起授權(quán)請求(彈窗授權(quán)),如果請求過這個權(quán)限,并且授權(quán)了,那就保存圖片,顯示保存成功;如果請求過,但是是拒絕的,就跳到設(shè)置頁,重新授權(quán)。
上代碼:
<view bindtap='save'>保存圖片到相冊</view>
//點擊保存圖片
save () {
let that = this
//若二維碼未加載完畢,加個動畫提高用戶體驗
wx.showToast({
icon: 'loading',
title: '正在保存圖片',
duration: 1000
})
//判斷用戶是否授權(quán)"保存到相冊"
wx.getSetting({
success (res) {
//沒有權(quán)限,發(fā)起授權(quán)
if (!res.authSetting['scope.writePhotosAlbum']) {
wx.authorize({
scope: 'scope.writePhotosAlbum',
success () {//用戶允許授權(quán),保存圖片到相冊
that.savePhoto();
},
fail () {//用戶點擊拒絕授權(quán),跳轉(zhuǎn)到設(shè)置頁,引導(dǎo)用戶授權(quán)
wx.openSetting({
success () {
wx.authorize({
scope: 'scope.writePhotosAlbum',
success() {
that.savePhoto();
}
})
}
})
}
})
} else {//用戶已授權(quán),保存到相冊
that.savePhoto()
}
}
})
},
//保存圖片到相冊,提示保存成功
savePhoto() {
let that = this
wx.downloadFile({
url: that.data.imgUrl,
success: function (res) {
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success(res) {
wx.showToast({
title: '保存成功',
icon: "success",
duration: 1000
})
}
})
}
})
}
注:如果你不點擊"保存到相冊"的時候去看設(shè)置頁,是沒有"保存到相冊"的開關(guān)的,只有點過了保存到相冊,請求過這個彈窗授權(quán)后,設(shè)置頁才會有"保存到相冊"的開關(guān)
總結(jié)
以上所述是小編給大家介紹的微信小程序?qū)崿F(xiàn)保存圖片到相冊功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
使用bootstrap插件實現(xiàn)模態(tài)框效果
今天我們選擇使用著名的 bootstrap 庫的模態(tài)框插件 modal.js 來實現(xiàn)模態(tài)框效果,同時也使大家進(jìn)一步熟悉 bootstrap 的插件使用,需要的朋友可以參考下2017-05-05
通過Javascript將數(shù)據(jù)導(dǎo)出到外部Excel文檔的函數(shù)代碼
通過Javascript將數(shù)據(jù)導(dǎo)出到外部Excel文檔的函數(shù)代碼,需要的朋友可以參考下2012-06-06
JavaScript設(shè)計模式之模板方法模式原理與用法示例
這篇文章主要介紹了JavaScript設(shè)計模式之模板方法模式原理與用法,結(jié)合實例形式分析了JavaScript模板方法模式的概念、組成、定義、使用等相關(guān)操作技巧與注意事項,需要的朋友可以參考下2018-08-08

