在做一个二开项目,前端使用的vue element-ui. 需求要在列表里面展示二维码,并且可以批量打包下载.
首先我们能确定 在接口里面返回的是二维码链接

展示二维码

1. 在el-table中加入一行来进行二维码的占位

<el-table-column label="二维码" min-width="240px" align="center"><template slot-scope="{row}"><vue-qr :id="'qr'+row.id" :text="row.code" ></vue-qr></template></el-table-column>

2. 安装vue-qr包,并且引入

  1. 安装

npm i vue-qr

  1. 引入

import VueQr from ‘vue-qr’

  1. 挂载

components:{VueQr},

3. 刷新页面查看效果

批量下载二维码

1. 页面加入批量下载按钮

<el-button  class="filter-item" @click="donloadQrcode()">批量下载二维码</el-button>

2. 加载需要的包

jszip用来进行创建压缩包
HTML2canvas用来进行读取二维码
saveAs 用来进行保存下载

import JSZip from ‘jszip’
import html2canvas from ‘html2canvas’
import saveAs from ‘file-saver’

3. 下载功能实现

// 表格复选框选中状态监听selectChange(row){this.checkTableData = row;},
      // 批量下载二维码donloadQrcode(row){var zip = new JSZip();var CodeDase64 = zip.folder("党员二维码"); //包名称if(this.checkTableData == ''){this.$message('请选择要下载的二维码');return false;}var loading = this.$loading({lock: true,text: '二维码正在打包',spinner: 'el-icon-loading',background: 'rgba(0, 0, 0, 0.7)'});this.checkTableData.forEach((e, index) => {this.$nextTick(() => {this.htmls(e, index, zip, CodeDase64, loading);});})},

进行下载以及数据的读取

htmls(row, index, zip, CodeDase64, loading){var that = this;var htmlName = document.getElementById("qr"+row.id);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.name + ".png", basePic, {base64: true,});if(that.checkTableData.length-1 == index){loading.close();zip.generateAsync({ type: "blob" }) // zip下载.then((content) => {saveAs(content, "党员二维码.zip"); // zip下载后的名字});}});}, 500);},

vue产生二维码并且打包下载相关推荐

  1. 前端批量生成二维码并打包下载

    前端批量生成二维码并打包下载 项目中遇到一个紧急需求在没有后端配合的情况下,前端独自实现生成二维码并打包下载 生成二维码:下载 qrcodejs2 批量打包下载:下载 JSZip 和 FileSave ...

  2. vue 生成二维码 并 可以下载带有边框背景颜色的二维码

    项目需求:需要生成一个可以下载且带有边框背景的二维码 如果只用qrcode.js只能实现下载二维码,但是下载下来的二维码没有边框背景,可识度非常低,所以需要给下载的二维码加个边框,白色灰色之类的 首先 ...

  3. Vue批量生成二维码并打包下载

    //[插件地址](https://github.com/Binaryify/vue-qr) <template v-for="(item, index) in qr_code_data ...

  4. vue生成二维码图片并且下载图片到本地

    一.安装生成二维码插件qrcode.js npm install --save qrcodejs2 二.封装组件: <template><div><div id=&quo ...

  5. vue 生成二维码并下载

    vue 项目中需要实现生成二维码,并且下载下来. 引入 qrcode : import QRCode from "qrcodejs2" 生成二维码: createQRCode () ...

  6. vue生成二维码并下载

    vue生成二维码图片,这里使用的是qrcode.js 这个插件 1.下载插件 npm install --save qrcodejs2 2.组件内使用 <template>   <B ...

  7. vue-qr 二维码 添加logo 下载单个二维码 批量下载二维码并打包

    使用 vue-qr 生成二维码并可以添加logo 逻辑: 1.下载二维码生成插件 这里用的是qrcode 2.下载二维码 使用html2canvas(其实解释一个截图工具)将标签截图并下载下来 3. ...

  8. 二维码批量生成下载工具

    二维码批量生成下载工具 https://tooltt.com/qrcode-batch/ 通过文本列表批量生成二维码,支持打包下载,方便快捷 https://tooltt.com/qrcode-bat ...

  9. vue实现二维码批量打印功能

    vue实现二维码批量打印功能 业务需求:客户需要给每个商品贴上二维码,为了更加高效的完成这项工作需要配合热敏打印机实现批量打印二维码的需求,因为是web项目后端会部署到服务器上,因此只能通过js的方式 ...

最新文章

  1. JS:a标签传值到js,并动态响应
  2. Python中机器学习的特征选择技术
  3. day15 webUI自动化
  4. eggjs使用cheerio爬取数据
  5. pop和push等使用方法,every和some、join
  6. HIBERNATE调试工具JBOSS TOOLS
  7. 舞台音效控制软件_QLab Pro 4.3.2 优秀的舞台音乐控制软件
  8. 软件测试——测试分类及测试工具的简介
  9. jenkins不识别mvn命令
  10. 安捷伦温度测试仪 软件,安捷伦34970A数据采集器温度测试仪是德科技34970A+34901A模块...
  11. October CMS - 快速入门 1 安装 1
  12. 曲速未来 揭示:Lisk(LSK)有什么价值?
  13. python爬取网易云音乐生成王力宏歌曲词云
  14. hread first html5,科学网—Time to read: 谨以此短文,献给那些失去父、母的成年人(Feb 8,2019) - 虞左俊的博文...
  15. 一款轻、快、无广告的杀毒安全软件(火绒5.0)
  16. 2018中山大学计算机分数线,中山大学2018年各专业录取分数线,你还差多少分?...
  17. 投影机RS-232串口接口大全
  18. 关于搭建Vue项目的顺序及遇到的问题
  19. pandas数据分析常用方法总结(数据集可以自己更改)
  20. 【GPGPU编程模型与架构原理】第一章 1.2 GPGPU 发展概述

热门文章

  1. 搜索引擎资料收藏(转)
  2. 生成树协议实验报告_【网络技术联盟站】从原理到实验再到优化剖析STP生成树协议...
  3. 解决问题最有效的方法和技巧就是---花钱
  4. nodejs path中resolve(‘xx‘) 和 resolve(__dirname,‘xx‘) 有什么区别
  5. 2021年A特种设备相关管理(电梯)报名考试及A特种设备相关管理(电梯)作业考试题库
  6. 49.(leaflet篇)leaflet实现反向匹配查询(ElasticSearch技术实现)(输入坐标查询距离最近的地址信息)
  7. 音量键唤醒屏幕方法技术
  8. linux下 启动MySql服务 重启MySql服务 查看服务状态 MySql服务开机自启动
  9. windows ip转发
  10. 为什么人工智能机器人多女性