小程序-保存圖片到相冊拒絕授權后,重新調用授權保存圖片到相冊


讓我先大小3聲“哈哈哈”酷斃了

寫小程序時,用到授權時,有些用戶可能好奇心重,總會出其不意的亂點,若是程序員沒有考慮到,那這時BUG就出現了~~作為前端開發的我心累呀~

下面舉一個例子:   保存圖片到相冊時,點擊按鈕“保存”,之后會現出來一個微信小程序自帶的彈窗----詢問用戶是否要保存。你說既然先點了保存那就是確定要保存了嘛。但是彈窗中有一個選項“拒絕”,我X,一大批臟話脫口而出!!!!!!!!!!!!

正常情況下,點了“拒絕”后,完了,完了,完了!!!!彈窗關閉,之后若是再次點擊“保存”按鈕,沒反應了。好焦急,好難受。

這時,重新授權就需要用到了:

wx.openSetting({   })
 
TMMD,我以為這樣就ok了。哪知道我又遇到了問題。重新授權代碼完成后,開發工具上是能夠重授權了,哪知道我手機真機測試時,一點反應都沒有,而且還沒有報錯。把我那個焦急的呀。怎么辦呢,不修復了?就這樣?這怎么可能,若真這樣,客戶發現問題后不就會天天呼我,修復BUG。那咋行。
 
現在我把我的代碼弄下來,記錄起來,可能會幫到跟我遇到同樣問題的小同伴。也能幫我做個記錄。
1.開發工具上的代碼(ok)
wx.saveImageToPhotosAlbum({
     filePath: canvasImg,
     success: function (res) {
           wx.showToast({
                title: '保存成功',
                image: "../images/nologo.png",
                duration: 1500,
           })
    },
    fail: function (res) {
           console.log(res)
           if (res.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
                     console.log("打開設置窗口");
                     wx.openSetting({
                               success(settingdata) {
                                        console.log(settingdata)
                                       if (settingdata.authSetting["scope.writePhotosAlbum"]) {
                                                 console.log("獲取權限成功,再次點擊圖片保存到相冊")
                                       } else {
                                                 console.log("獲取權限失敗")
                                       }
                               }
                      })
             }
})
 
2.下面的代碼是真機上成功運行的(ok)
   wx.saveImageToPhotosAlbum({
             filePath: canvasImg,
              success: function (res) {
                    wx.showToast({
                           title: '保存成功',
                           image: "../images/nologo.png",
                           duration: 1500,
                     })
                },
               fail: function (res) {
                     console.log(res)
                     if (res.errMsg === "saveImageToPhotosAlbum:fail:auth denied") {
                               console.log("打開設置窗口");
                               wx.openSetting({
                                         success(settingdata) {
                                                console.log(settingdata)
                                                if (settingdata.authSetting["scope.writePhotosAlbum"]) {
                                                                console.log("獲取權限成功,再次點擊圖片保存到相冊")
                                                } else {
                                                                 console.log("獲取權限失敗")
                                                }
                                           }
                                })
                     }
             }
 })


免責聲明!

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



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