Vue生成二维码并进行二维码图片下载

news/2024/9/23 7:21:35/

1、安包

npm install vue-qr --save

2、引入

// vue2.0
import VueQr from 'vue-qr'
// vue3.0
import VueQr from 'vue-qr/src/packages/vue-qr.vue'
new Vue({components: {VueQr}
})
 <!-- 设备二维码 对话框 270px--><el-dialog title="点位二维码" :visible.sync="codeOpen" :before-close="handleClose" width="500px" append-to-body><div id="draggableWin" style="background-color:white"><el-container style="height: 300px;"><el-header style="height: 80px;"><div style="font-size:20px;margin-top: 25px;margin-left: -10px;color: black; height:100px">Vue生成二维码并进行二维码图片下载</div></el-header><el-container style="background-color:#18409A"><el-aside width="260px" style="background-color:#18409A;color: white; font-size: 15px;"><el-row style="color: white;"><el-col autocomplete="off"><span style="color: white;">点位名称:{{ codePointName }}</span></el-col><el-col autocomplete="off"><span style="color: white; width: auto;">点位类型:{{ codePointType }}</span></el-col><el-col autocomplete="off"><span style="color: white; width: auto;">负责人:赵虎婷</span></el-col><el-col autocomplete="off"><span style="color: white; width: auto;">启用时间:{{ codeCreateTime }}</span></el-col></el-row></el-aside><el-main style=" margin-left: 20px; height: 200px; background-color:#18409A; padding: 15px"><vue-qrref="qrCode" @callback="callback" :text="codeText" :size="150" :correctLevel=3:margin="5"></vue-qr></el-main></el-container></el-container></div><el-col style=" text-align: center;  font-size: 15px; color: #82848a; margin-top: 10px;">请将该二维码张贴到对应位置</el-col><span slot="footer" class="dialog-footer"><el-button @click="codeOpen = false">取 消</el-button><el-button type="primary" @click="downloadQRCode">下 载</el-button></span></el-dialog>
 /*** 关闭二维码窗口*/handleClose(done) {done();},callback(res) {console.log("正在下载图片", res)},downloadQRCode(res) {var shareContent = document.getElementById('draggableWin');html2canvas(shareContent, { scale: 2 }).then(imgUrl => {// console.log('转成图片', imgUrl);// // 转成图片,生成图片地址(如需将图片转为file 文件,请自行处理)var img = document.createElement('img');img.style.display = 'none';document.body.appendChild(img);var codeRemark = this.codeRemark;img.onload = function () {var canvas = document.createElement('canvas');canvas.width = img.width;canvas.height = img.height;var context = canvas.getContext('2d');context.drawImage(img, 0, 0, img.width, img.height);var url = canvas.toDataURL('image/png');var a = document.createElement('a');a.download = codeRemark + '二维码';a.href = url;document.body.appendChild(a);a.click();// 清理添加的元素document.body.removeChild(a);document.body.removeChild(img);};img.src = imgUrl.toDataURL("image/png", 0.8); //可将 canvas 转为 base64 格式});},

效果图:
在这里插入图片描述


http://www.ppmy.cn/news/1235406.html

相关文章

【vue+eltable】修改表格滚动条样式

<style lang"scss" scoped> ::v-deep .el-table__body-wrapper::-webkit-scrollbar {width: 10px; /*纵向滚动条的宽度*/height: 10px; /*横向滚动条的高度*/ } /*定义滚动条轨道 内阴影圆角*/ ::v-deep .el-table__body-wrapper::-webkit-scrollbar-track {bo…

Dropout 作用

一、 前言 Dropout出现的原因 训练深度神经网络的时候&#xff0c;总是会遇到两大问题&#xff1a;&#xff08;1&#xff09;容易过拟合&#xff08;2&#xff09;网络费时 在机器学习的模型中&#xff0c;如果模型的参数太多&#xff0c;而训练样本又太少&#xff0c;训练出…

小猪优版的前世今生:从籍籍无名到行业瞩目,再到骤变的风暴中心

1. 前世&#xff1a;籍籍无名到行业新星的崛起 小猪优版在初创时期&#xff0c;并不被大众所知。然而&#xff0c;它凭借对短视频行业的深度洞察&#xff0c;以及独特的商业模式&#xff0c;开始在这个领域崭露头角。它提供了一个平台&#xff0c;不仅助力内容创作者更好地展现…

Redis key键

Redis 是一种键值&#xff08;key-value&#xff09;型的缓存型数据库&#xff0c;它将数据全部以键值对的形式存储在内存中&#xff0c;并且 key 与 value 一一对应。这里的 key 被形象的称之为密钥&#xff0c;Redis 提供了诸多操作这把“密钥”的命令&#xff0c;从而实现了…

SQL Server Count()函数

SQL Server Count()函数 SQL Server COUNT() 是一个聚合函数&#xff0c;它返回在集合中找到的项目数。 COUNT() 函数语法&#xff1a; COUNT([ALL | DISTINCT ] expression)ALL 指示COUNT() 函数应用于所有值。ALL是默认值。返回非NULL值的数量&#xff08;包括重复值&…

Class文件转Java文件

目录 1、下载一个反编译工具2、在文件夹下打开命令窗口3、在此目录下随意建一个文件夹4、在打开的命令窗口输入命令5、返回解压目录下 1、下载一个反编译工具 下载链接&#xff1a;https://varaneckas.com/jad/ 下载的是第一个 下载后放至任意目录下解压即可 2、在文件夹下打…

QML24、常规组件StackView

1.简介与示例 StackView管理着view页面的生命周期,提供了页面的栈式导航。这些view页面可能有业务需要,根据业务需要,可以一级一级向深处跳转,根据当前view的状态与设定的情况,可能产生一个新view或者返回之前view 比如:注册账号分步骤,输入用户名,密码,点击下…

vue的package.json详细说明

前言 package.json 文件是一个非常重要的文件,它用于存储关于项目的元信息以及依赖项。在 Vue.js 项目中,package.json 文件描述了项目的名称、版本、描述、作者、依赖项、脚本命令等信息。 说明 package.json 文件常见的 详细说明: 1.名称 (name): 项目的名称。遵循反向…