使用 vue-qr 生成二维码并可以添加logo

逻辑:
1、下载二维码生成插件 这里用的是qrcode
2、下载二维码 使用html2canvas(其实解释一个截图工具)将标签截图并下载下来
3、 如果是下载多个就是多生成多个二维码 然后使用循环截下过个图片 然后将图片放进压缩包里面 (JSZip)然后在进行下载

下载 : npm install --save qrcode
引入 : import vueQr from “vue-qr”
注册 : components: { vueQr}

页面使用:

<vue-qr  id="qr" :text="list" :size="580"  :logoScale="2"  :margin="10"  ></vue-qr>
<div class="logo"><div>

属性说明:
text = “二维码内容”
size=“二维码宽高大小,因为是正方形,所以设一个参数即可”
logoScale=“中间图的尺寸,不要设太大,太大会导致扫码失败的”
margin=“默认边距20px,不喜欢的话自己设为0”
colorDark =“实点的颜色,注意要和colorLight一起设置才有效”
colorLight =“空白的颜色,注意要和colorDark一起设置才有效”

添加logo这里提供一个可行的思路就是 将logo定位到二维码中间但是要注意的是不要把logo设置的太大有可能会出现失效

下载单个二维码:

使用html2canvas截图工具进行截图
npm install --save html2canvas
import html2canvas from “html2canvas”;

//下载二维码  这里的html2canvas其实就是把html标签进行截图转成图片进行下载的var qr = document.getElementById("qr")  //获取id为qr的标签html2CV(row) {setTimeout(() => {html2canvas(“这里填需要截图的标签,例如下载的标签id是qr直接就填写 qr”).then((resolve) => {let imgUrl = resolve.toDataURL("image/png"); //此时就得到了dom元素转成了base64的图片var a = document.createElement("a");var event = new MouseEvent("click");a.href = imgUrl;// 下载图名字a.download = row.restaurantName + row.name;// 合成函数,执行下载a.dispatchEvent(event);});}, 500);},

批量下载二维码并打包

其实方法还是一样的 就是逻辑不同和加了一个打包的步骤:

//这里通过循环的好很多的二维码 在通过定位 将"code-mar let:999999999;看不见的位置
<div  :class="'code-mar'+index"v-for="(item,index) in list":key="index">
<vue-qr:text="item.list":size="580":logoScale="40":margin="10":correctLevel="3":logoMargin="5"></vue-qr></div>//创建压缩包batchMONi() {var zip = new JSZip();var CodeDase64 = zip.folder("餐厅二维码"); //包名称this.list.forEach((e, index) => {this.$nextTick(() => {this.htmls(e, index, zip, CodeDase64);});});});} else {this.$message.error("请选择要生成的座号");}},//下载多个htmls(row, index, zip, CodeDase64) {var htmlName = document.getElementsByClassName("code-mar"+index)setTimeout(() => {html2canvas(htmlName ).then((resolve) => {let imgUrl = resolve.toDataURL("image/png"); //此时就得到了dom元素转成了base64的图片const basePic = imgUrl.replace(/^data:image\/(png|jpg);base64,/, "");CodeDase64.file(row.restaurantName + row.name + ".png", basePic, {base64: true,});if (this.list.length - 1 === index) {zip.generateAsync({ type: "blob" }) // zip下载.then((content) => {loadingAll.close();saveAs(content, "二维码.zip"); // zip下载后的名字});}});}, 500);},

这里的代码可以参考 按照这个逻辑搞 完全没有问题 如果单纯的粘贴复制 运行不了的
这里的所有代码都是本人在项目中运用并实现出来的

vue-qr 二维码 添加logo 下载单个二维码 批量下载二维码并打包相关推荐

  1. python怎么批量下载年报_使用Python批量下载Wind数据库中的PDF报告

    原标题:使用Python批量下载Wind数据库中的PDF报告 背景 最近小编出于工作需要,准备在Wind金融数据终端批量下载上市公司2019年第一季度业绩预告.通过相关的条件检索,发现其相关数据有近百 ...

  2. 自媒体批量下载短视频软件,批量下载短视频有诀窍

    自媒体批量下载短视频软件,批量下载短视频有诀窍,现在随着短视频的爆火,越来越多的自媒体人和公司都注意到短视频这个平台流量有多大,短视频很容易变现也很容易引流,接下来我们来看看自媒体批量下载短视频软件有 ...

  3. [Windows] 哔哩下载姬—B站视频批量下载

    哔哩下载姬 简介:哔哩下载姬是一款下载哔哩哔哩视频的免费软件.适用:windows系统文件大小:18.7 MB 特点: 1.无需登录即可下载. 2.可以多线程,多任务同时下载.(最高支持10线程,10 ...

  4. Android 生成二维码,条形码,二维码添加logo

    zxing生成二维码 implementation 'com.google.zxing:core:3.3.1' implementation(name: 'zxing-1.0.1', ext: 'aa ...

  5. html页面导航图标添加,vue 切换网页导航栏添加logo及标题

    index.html 网页导航栏添加logo及标题 var scene = window.location.host if (scene === 'anfang.cn') { document.que ...

  6. 用python批量下载网络图片_使用python批量下载图片吗?怎么做?

    没想到吧,我们居然可以用python去下载图片,关于单个下载内容,之前已经出了教程告诉大家,大家应该都知道,图片跟文字似的,经常多个发布,我们如果想得到很多个图片,还得一个代码或者一个图片源的去敲击吗 ...

  7. JavaScript (mp3、mp4、jpg、doc、txt、rar)单个、多文件批量下载

    JavaScript 多文件下载 HTML5中 a 标签新增了一个属性 download,一般情况下,用户点击a链接浏览器会打开对应的链接地址,如果链接地址是一个文件如(xxx.rar.xxx.jpg ...

  8. linux下载TCGA数据,使用gdc-client批量下载TCGA数据

    欢迎关注"生信修炼手册"! GDC的在线下载功能只适用于下载小的数据集,当需要下载数据量较大的TCGA数据时,必须借助于GDC官方提供的客户端工具gdc-client.网址如下 h ...

  9. python 批量下载 代码_Python + Selenium +Chrome 批量下载网页代码修改

    Python + Selenium +Chrome 批量下载网页代码修改 主要修改以下代码可以调用 本地的 user-agent.txt 和 cookie.txt 来达到在登陆状态下 批量打开并下载网 ...

最新文章

  1. s5-11 距离矢量路由选择协议
  2. 【BZOJ 1096】[ZJOI2007]仓库建设
  3. [SAP FI] Bank Master Vendor Master Creation Related Knowledge
  4. 【TensorFlow】实现、训练并评估简单的回归模型和分类模型
  5. leetcode力扣454. 四数相加 II
  6. 为什么ctrl+shift+方向键不管用了_键盘侠丨Shift键的快捷运用
  7. mysql怎么让id重新开始自增
  8. 如何扩展/删除swap分区
  9. c语言烟花代码,C语言烟花程序
  10. 百度地图点聚合开发-地图找房功能
  11. 关于分辨率,你该知道这些!
  12. 设计模式之单例模式(Singleton)
  13. 国内哪家CDN加速服务好用?
  14. 程序员,停止你的焦虑
  15. n+nn+nnn+...+n...=n...
  16. eMMC Partition
  17. Nachos系统调用的实现
  18. 服务器如何向前端页面推送消息,后端向前端推送消息
  19. iphone6s计算机驱动,教你iphone6s连接电脑出现驱动问题怎么办及iOS9.0.2 App Store打不开问题的解决方法...
  20. 设计求任意两个整数和的web程序,用户通过提交页面(input.jsp)输入两个整数,并提交给一个(sum.jsp)程序

热门文章

  1. 【听】谁动了我的奶酪,寻找真正属于自己的奶酪
  2. php tiny rss,CentOS7 安装 Tiny Tiny RSS
  3. 关于C语言 char *p =“abc“ 的理解
  4. bentoml部署深度学习模型(一)
  5. 做一个战役地图动态展示的网站
  6. 区块链之跨链技术介绍
  7. OpenCV3检测直线或圆:霍夫线变换,霍夫圆变换合辑
  8. 地球坐标系,火星坐标系,百度坐标系
  9. 计算广告笔记01-在线广告综述
  10. 基于Springboot+vue 校园食堂餐厅点餐系统 elementui