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' ></qrcode-vue> </div> <div class='btn'> 長按保存至相冊 <img :src='http://www.aoyou183.cn/bcjs/qrcodeImgSrc' /> </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='http://www.aoyou183.cn/bcjs/10832.html'>標簽,實現二維碼圖片功能。然后長按保存即可。
<template> <div class='qrcode'> <canvas style='display:none'></canvas> <img :src='http://www.aoyou183.cn/bcjs/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 二維碼長按保存和復制內容操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章: