微信小程序?qū)崿F(xiàn)保存圖片到相冊功能
項(xiàng)目中有個(gè)保存二維碼到相冊的功能,所以涉及到用戶是否授權(quán)相冊權(quán)限的問題。廢話不多說,直接上干貨...
功能邏輯:
先檢查用戶請求過的權(quán)限中是否允許"保存到相冊"權(quán)限,如果沒有請求過這個(gè)權(quán)限,應(yīng)該向用戶發(fā)起授權(quán)請求(彈窗授權(quán)),如果請求過這個(gè)權(quán)限,并且授權(quán)了,那就保存圖片,顯示保存成功;如果請求過,但是是拒絕的,就跳到設(shè)置頁,重新授權(quán)。
上代碼:
<view bindtap='save'>保存圖片到相冊</view>
//點(diǎn)擊保存圖片
save () {
let that = this
//若二維碼未加載完畢,加個(gè)動(dòng)畫提高用戶體驗(yàn)
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 () {//用戶點(diǎn)擊拒絕授權(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
})
}
})
}
})
}
注:如果你不點(diǎn)擊"保存到相冊"的時(shí)候去看設(shè)置頁,是沒有"保存到相冊"的開關(guān)的,只有點(diǎn)過了保存到相冊,請求過這個(gè)彈窗授權(quán)后,設(shè)置頁才會(huì)有"保存到相冊"的開關(guān)
總結(jié)
以上所述是小編給大家介紹的微信小程序?qū)崿F(xiàn)保存圖片到相冊功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
使用D3.js構(gòu)建實(shí)時(shí)圖形的示例代碼
這篇文章主要介紹了使用D3.js構(gòu)建實(shí)時(shí)圖形的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08
javascript 中按屬性值查找數(shù)組中的對象多種方法
JavaScript 數(shù)組可以保存混合類型的不同值,例如字符串、空值或布爾值,并且不需要數(shù)組的大小來指定它在哪里自動(dòng)增長和動(dòng)態(tài),這篇文章主要介紹了javascript 中按屬性值查找數(shù)組中的對象多種方法,需要的朋友可以參考下2023-06-06
js數(shù)組刪除問題(splice和delete的用法)
這篇文章主要介紹了js數(shù)組刪除問題(splice和delete的用法),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
js 實(shí)現(xiàn)無干擾陰影效果 簡單好用(附文件下載)
js實(shí)現(xiàn)無干擾陰影效果,簡單好用,需要的朋友可以參考下。2009-12-12

