vue 二维码长按保存和复制内容操作


Posted in Javascript onSeptember 22, 2020

效果图:

vue 二维码长按保存和复制内容操作

二维码用了 qrcode.vue

npm install qrcode.vue --save  

复制内容用了 vue-clipboard2

npm install vue-clipboard2 --save

1.二维码保存功能:

<div class="qrcode">
    <qrcode-vue
      :size="qrcodeSize"
      :value="shareUrl"
      id="picture"
    ></qrcode-vue>
  </div>
  <div class="btn">
    长按保存至相册
    <img :src="qrcodeImgSrc" class="qrcode-img"/>
  </div>

注意,qrcode.vue渲染的是一个canvas,canvas可以通过toDataURL方法转换为png图片。

长按保存功能是在长按上加一张图片,设置这张图片的opacity为0即可。

模拟a标签点击下载的方法在微信上有问题。

let myCanvas = document.getElementById('picture').getElementsByTagName('canvas')[0];

this.qrcodeImgSrc = myCanvas.toDataURL('image/png');

2.点击按钮,复制粘贴功能:

<div class="copy">
          <span>{{shareUrl}}</span>
          <span @click="doCopy">复制</span>
 </div>
doCopy() {
      this.$copyText(this.shareUrl).then(function (e) {
        alert('Copied')
        console.log(e)
      }, function (e) {
        alert('Can not copy')
        console.log(e)
      })
    }

补充知识:vue插件qrcode实现手机端二维码保存功能

1.安装

npm install qrcode --save

2.页面引入并使用

利用<img src="">标签,实现二维码图片功能。然后长按保存即可。

<template>
  <div class="qrcode">
    <canvas id="canvas" style="display:none"></canvas>   
    <img :src="imgUrl"/>
    <p>长按保存二维码图片</p> 
  </div>
</template>
import QRCode from 'qrcode'
export default {
  data() {
    return {
      codes: '',
      imgUrl:''
    }
  },
  components: {
    QRCode: QRCode
  },
  methods: {
    useqrcode() {//生成二维码
      let canvas = document.getElementById('canvas')
      let url="http://www.baidu.com"
      QRCode.toCanvas(canvas, url, function(error) {
        if (error) { console.error(error) } else { console.log('success!'); }
      })
      this.saveImg()//保存图片
    },
    //保存图片
    saveImg(){
      let myCanvas = document.getElementsByTagName('canvas');
      this.imgUrl=myCanvas[0].toDataURL('image/png')             
    },
  },
  mounted() {
    this.useqrcode(); //生成二维码    
  }
}
</script>

以上这篇vue 二维码长按保存和复制内容操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
表单内同名元素的控制
Nov 22 Javascript
msn上的tab功能Firefox对childNodes处理的一个BUG
Jan 21 Javascript
javascript开发中因空格引发的错误
Nov 08 Javascript
jQuery基于ajax实现星星评论代码
Aug 07 Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
Mar 22 Javascript
JavaScript 数组some()和filter()的用法及区别
May 20 Javascript
js方法数据验证的简单实例
Sep 17 Javascript
require.js+vue开发微信上传图片组件
Oct 27 Javascript
vue.js中Vue-router 2.0基础实践教程
May 08 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
Jan 03 Javascript
微信小程序使用Vant Weapp组件库的方法步骤
Aug 01 Javascript
Vue-cli4 配置 element-ui 按需引入操作
Sep 11 Javascript
vue-router 按需加载 component: () =&gt; import() 报错的解决
Sep 22 #Javascript
解决vue2中使用elementUi打包报错的问题
Sep 22 #Javascript
element-ui中dialog弹窗关闭按钮失效的解决
Sep 22 #Javascript
小程序实现录音功能
Sep 22 #Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
Sep 22 #Javascript
JavaScript实现多层颜色选项卡嵌套
Sep 21 #Javascript
JS实现无限轮播无倒退效果
Sep 21 #Javascript
You might like
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
2011/10/31 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
JS代码格式化和语法着色V2
2006/10/14 Javascript
JavaScript中几种常见排序算法小结
2011/02/22 Javascript
JavaScript 一道字符串分解的题目
2011/08/03 Javascript
iframe异步加载实现点击左边菜单加载右边内容实例讲解
2013/03/04 Javascript
Jquery选择子控件&quot;大于号&quot;和&quot; &quot;区别介绍及使用示例
2013/06/25 Javascript
jQuery 处理页面的事件详解
2015/01/20 Javascript
jQuery提示插件alertify使用指南
2015/04/21 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
通过jquery-ui中的sortable来实现拖拽排序的简单实例
2016/05/24 Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
2016/06/07 Javascript
JavaScript中点击事件的写法
2016/06/28 Javascript
jQuery+CSS3实现点赞功能
2017/03/13 Javascript
JQuery Ajax 异步操作之动态添加节点功能
2017/05/24 jQuery
使用jQuery实现鼠标点击左右按钮滑动切换
2017/08/04 jQuery
Vue开发实现吸顶效果的示例代码
2018/08/21 Javascript
浅谈Vue.use的使用
2018/08/29 Javascript
解决vue热替换失效的根本原因
2018/09/19 Javascript
vuejs简单验证码功能完整示例
2019/01/08 Javascript
JS中的函数与对象的创建方式
2019/05/12 Javascript
python 处理telnet返回的More,以及get想要的那个参数方法
2019/02/14 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
2019/07/01 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
Python引入多个模块及包的概念过程解析
2020/09/21 Python
用python批量移动文件
2021/01/14 Python
以实惠的价格提供高品质的时尚:Newchic
2018/01/18 全球购物
.NET面试问题集
2015/12/08 面试题
英文翻译的自我评价语句
2013/10/04 职场文书
研究生自荐信
2013/10/09 职场文书
历史专业大学生职业生涯规划书
2014/03/13 职场文书
微笑面对生活演讲稿
2014/09/23 职场文书
植物园观后感
2015/06/11 职场文书
干货分享:推荐信写作技巧!
2019/06/21 职场文书
正确使用MySQL update语句
2021/05/26 MySQL
Win10系统下配置Java环境变量
2021/06/13 Java/Android