微信小程序授权打开摄像头,授权相册保存图片

1、授权打开摄像头
doTakePhoto() {
  let that = this
  wx.getSetting({
    success(res) {
    	// 第一次未授权
      if (res.authSetting['scope.camera'] === undefined) {
        wx.authorize({
          scope: 'scope.camera',
          success() {
            // 授权成功
            ...
          }
        })
      }
      // 第二次未授权
      else if (!res.authSetting['scope.camera'] && res.authSetting['scope.camera'] != undefined) {
        wx.showModal({
          title: '温馨提示',
          content: `请授权打开您的摄像头,拒绝授权将无法使用该功能`,
          cancelText: "不授权",
          confirmText: "继续授权",
          confirmColor: "#a08250",
          success(res) {
            if (res.confirm) {
              wx.openSetting({
                withSubscriptions: true,
                success() {
                  // 授权成功
                }
              })
            }
          }
        }, )
      }
      // 已授权
      else {
        ...
      }
    },
    fail(res) {
      console.log("wx.getSetting调用失败")
    }
  })
}
2、授权保存相册
wx.saveImageToPhotosAlbum({
  filePath: this.data.shareImage,
  success(res) {
      wx.showToast({
        title: '保存图片成功',
        icon: 'success',
        duration: 2000
      })
  },
  fail(err) {
    console.log(err);
    if(err.errMsg === "saveImageToPhotosAlbum:fail:auth denied" || err.errMsg === "saveImageToPhotosAlbum:fail auth deny" || err.errMsg === "saveImageToPhotosAlbum:fail authorize no response") {
      wx.showModal({
        title: '提示',
        content: '需要您授权保存相册',
        showCancel: false,
        success: modalSuccess => {
          wx.openSetting({
            success(settingdata) {
              if(settingdata.authSetting['scope.writePhotosAlbum']) {
                console.log('获取权限成功,给出再次点击图片保存到相册的提示。')
              }
            }
          })
        }
      })
    }
  }
})

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值