小程序点击下载图片,保存至手机相册

1.wxml代码
  <button bindtap="downloadImg">下载</button>
2.js代码
 downloadImg(){
    wx.showLoading({
      title:"加载中"
    });
    // wx.downloadFile方法:下载文件到本地
    wx.downloadFile({
      url: this.data.imgSrc.img,
      success:function(res) {
        // wx.saveImageToPhotosAlbum保存图片到系统相册
        wx.saveImageToPhotosAlbum({
          filePath: res.tempFilePath, // 图片文件路径
          success:function(data) {
            wx.hideLoading() // 隐藏loading 提示框
            wx.showModal({
              title: '提示',
              content: '保存成功',
              modalType:false
            })
          },
          // 接口调用失败案例
          fail:function(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: '需要您授权保存相册',
                modalType: false,
                success:modalSuccess => {
                  wx.openSetting({
                    success(settingdata) {
                      console.log("settingdata",settingdata)
                      if(settingdata.authSetting['scope.writePhotosAlbum']){
                        wx.showModal({
                          title: '提示',
                          content: '获取权限成功,再次点击图片即可保存',
                          modalType: false,
                        })
                      }
                    },
                  })
                }
              })
            }
          },
          complete(res) {
            wx.hideLoading() // 隐藏loading提示框
          }
        })
      }
    })
  }

3.结合点击按钮观看广告 onshow()预加载视频广告

onShow() {
    // 在页面onLoad回调事件中创建激励视频广告实例
    if (wx.createRewardedVideoAd) {
      videoAd = wx.createRewardedVideoAd({
        adUnitId: 'adunit-b9c530d7f07f8bfe'
      })
      videoAd.onLoad(() => {})
      videoAd.onError((err) => {})
      videoAd.onClose((res) => {
        // 用户点击了【关闭广告】按钮
        if (res && res.isEnded) {
          // 正常播放结束,可以下发游戏奖励
        } else {
          // 播放中途退出,不下发游戏奖励
        }
      })
    }
  },
4.添加按钮展示广告
  btnvedio() {
    // 用户触发广告后,显示激励视频广告
    if (videoAd) {
      videoAd.show().catch(() => {
        // 失败重试
        videoAd.load()
          .then(() => videoAd.show())
          .catch(err => {
            // console.log('激励视频 广告显示失败')
            wx.showToast({
              title: '视频加载失败',
              content: "center"
            })
          })
      })
    }
  }
5.可根据自己想法来进行广告限制,如:观看完毕获得,获得下载图片的权限等。

哪里不清楚请留言,或者直接联系我V:18937842167

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值