小程序复制文字、保存图片

   <view class="desc">
      <text class="text">复制的文字</text>
      <image src="图片路径"></image>
    </view>
    <view class="btn">
      <button bindtap='copyText' data-text="{{copyText}}">复制文案</button>
      <button wx:if="{{saveImgBtn}}" bindtap='saveImg'  >保存推广图</button>
      <button open-type="openSetting"
bindopensetting='saveImg' wx:if='{{openSettingBtn}}' >授权并保存图片</button>
    </view>

js文件:
(1)这里由于第一次授权点击拒绝之后,再次点击不会出现授权按钮,因此需要使用open-type="openSetting"再次调用授权窗口。 如果未授权或者授权失败,出现 ‘授权并保存图片’按钮。

data: {
    saveImgBtn: true,    //为true时,显示保存按钮
    openSettingBtn: false,    //为true时,显示授权并保存按钮
  }, 
/****保存图片 */
  saveImg: function () {
    let that = this
    wx.getSetting({
      success(res) {  
        if (!res.authSetting['scope.writePhotosAlbum']) {   
        //未授权 先授权 然后保存
          wx.authorize({
            scope: 'scope.writePhotosAlbum',
            success(re) {
              that.saveImageToPhotosAlbum();
              that.setData({
                saveImgBtn: true,
                openSettingBtn: false
              })
            },
            fail() {     //用户取消授权
              that.setData({
                saveImgBtn: false,
                openSettingBtn: true
              })
            }
          })
        } else {
          //授权了, 调用保存到相册方法
          that.saveImageToPhotosAlbum();
          that.setData({
            saveImgBtn: true,
            openSettingBtn: false
          })
        }
      }
    })
  },
  //保存网络图片到相册方法
  saveImageToPhotosAlbum: function () {
	  wx.downloadFile({
	  url:'   ',
	  success(result) {
		   wx.saveImageToPhotosAlbum({
		      filePath: tempFilePath,
		      success(result) {
		        wx.showToast({
		          title: '已保存至相册'   
		        })
		      }
	    })
	  }
	 })
  },

(2)复制文案

 //复制
  copyText: function (e) {
    wx.setClipboardData({
      data: e.currentTarget.dataset.text,
      success: function (res) {
        wx.getClipboardData({
          success: function (res) {
            wx.showToast({
              title: '复制成功'
            })
          }
        })
      }
    })
  },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值