【vue】vue项目批量下载二维码,且打包成压缩包.

编程入门 行业动态 更新时间:2024-10-24 16:30:48

【vue】vue项目批量下载二维码,且打包成<a href=https://www.elefans.com/category/jswz/34/1750560.html style=压缩包."/>

【vue】vue项目批量下载二维码,且打包成压缩包.

一. 先看效果演示

二. 下插件
npm i vue-qr -S // 二维码显示插件 我的版本^4.0.9
npm i html2canvas -S // 将二维码转为图片 我的版本^1.4.1
npm i file-saver -S // 下载图片 我的版本^2.0.5
npm i jszip -S // 打包成压缩包 我的版本^3.10.1
// 一次性下载
npm i vue-qr html2canvas file-saver jszip -S

三. 批量显示二维码

来一个el-dialog

      <!-- 二维码列表 --><el-dialog title="机构二维码" :visible.sync="qrDialog" width="64%" :modal="true" :close-on-click-modal="false" v-dialogDrag center><div class="qrList"><div v-for="item in qrImgList" :key="item.index" :ref="'canvas' + item.id"><span>{{ item.name }}</span><vue-qr :text="item.text" :size="200" :margin="0" /></div></div><span slot="footer" class="dialog-footer"><el-button @click="qrDialog = false">关 闭</el-button><el-button type="primary" @click="qrConfirmClk">全部下载</el-button></span></el-dialog><script>import VueQr from 'vue-qr'import { saveAs } from 'file-saver'import html2canvas from 'html2canvas'import JSZip from 'jszip'export default {components: { VueQr },data(){return{qrDialog: false,qrImgList: [],}}}</script>
四. 批量下载二维码并打包成zip
    // 批量下载二维码qrConfirmClk() {const zip = new JSZip()const imgFolder = zip.folder('images')let flag = 0for (let i = 0; i < this.qrImgList.length; i++) {html2canvas(this.$refs[`canvas${this.qrImgList[i].id}`][0]).then((canvas) => {let base64 = canvas.toDataURL('image/png')base64 = base64.split('base64,')[1]imgFolder.file(this.qrImgList[i].name + '.png', base64, { base64: true }) // 文件名if (flag === this.qrImgList.length - 1) {zip.generateAsync({ type: 'blob' }).then((blob) => {saveAs(blob, '二维码图片.zip') // 压缩包名字})}flag++})}},

ok,结束.记录下

更多推荐

【vue】vue项目批量下载二维码,且打包成压缩包.

本文发布于:2023-11-15 07:54:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1596259.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:压缩包   批量   项目   二维码   vue

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!