jessie-xian
wxml
<button class=\'baocun\' bindtap=\'savePoster\'>保存图片</button>
js部分
 //点击保存到相册
  savePoster: function() {
    var that = this
    console.log(that.data.imagePath)
    wx.saveImageToPhotosAlbum({
      filePath: that.data.imagePath,
      success(res) {
        wx.showModal({
          content: \'海报已保存到相册\',
          showCancel: false,
          confirmText: \'好的\',
          confirmColor: \'#333\',
          success: function(res) {
            if (res.confirm) {
              console.log(\'999999\')
              console.log(\'用户点击确定\');
              /* 该隐藏的隐藏 */
              that.setData({
                maskHidden: false
              })
            }
          },
          fail: function(res) {
            console.log(11111)
          }
        })
      },
      fail(res) {
        // wx.showToast({
        //   title: \'保存失败\',
        //   icon: \'none\',
        // })
     // 拒绝授权时,则进入手机设置页面,可进行授权设置
        if (res.errMsg === "saveImageToPhotosAlbum:fail:auth denied" || res.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
          // 这边微信做过调整,必须要在按钮中触发,因此需要在弹框回调中进行调用
          wx.showModal({
            title: \'提示\',
            content: \'需要您授权保存相册\',
            showCancel: false,
            success: modalSuccess => {
              wx.openSetting({
                success(settingdata) {
                  console.log("settingdata", settingdata)
                  if (settingdata.authSetting[\'scope.writePhotosAlbum\']) {
                    wx.showModal({
                      title: \'提示\',
                      content: \'获取权限成功,再次点击图片即可保存\',
                      showCancel: false,
                    })
                  } else {
                    wx.showModal({
                      title: \'提示\',
                      content: \'获取权限失败,将无法保存到相册哦~\',
                      showCancel: false,
                    })
                  }
                },
                fail(failData) {
                  console.log("failData", failData)
                },
                complete(finishData) {
                  console.log("finishData", finishData)
                }
              })
            }

          })
        }
      }
    })
  },

分类:

技术点:

相关文章: