第一、下载依赖包
npm install html2canvas --save
npm install jszip --save
npm install qrcodejs2-fix --save
npm install file-saver --save
第二步、组件封装
<template>
<div class="down-image">
<div id="qrid-box">
<img :src="bgImg" alt="" class="qdid-img" />
<div
class="code-box"
:class="{ 'left-center': leftDistance == 0 }"
:style="{
bottom: bottomDistance + 'px',
width: size + 'px',
height: size + 'px',
left: leftDistance == 0 ? '50%' : leftDistance + 'px',
}"
></div>
</div>
<div class="down-mask" v-show="isGenera">
{
{
maskMessage }}
</div>
</div>
</template>
<script setup lang="ts">
import {
ref, reactive, onMounted } from "vue";
import html2canvas from "html2canvas";
import JSZip from "jszip";
import QRcode from "qrcodejs2-fix";
import FileSaver from "file-saver";
const props = defineProps({
dataList: {
type: <any>Array,
required: true,
default: [],
},
url: {
type: String,
required: true,
default: "",
},
params: {
type: <any>Array,
required: true,
default: [],
},
bgImg