最近的项目里面涉及到分享海报的问题,今天就给大家分享一下,自己中间也遇到也很多问题,中间也有很多不足的地方,有什么问题,欢迎大家指教。
效果图
实现原理
先用 QRCode 生成二维码 canvas,然后用 html2canvas 合成整张海报并转成 base64
实现步骤:
1.安装QRCode和html2canvas
npm i qrcode
npm i html2canvas
2.在页面中引用
import QRCode from "qrcode";
import html2canvas from "html2canvas";
3.HTML代码
<template>
<div>
<div class="top">
<div @click="getimg">
<span>分享</span>
<p>海报</p>
</div>
</div>
<div class="ypl-flex">
<div class="invitePosterPage flex">
<div v-if="posterDataUrl">
<van-popup v-model="show">
<div class="oter">
<img :src="posterDataUrl" class="poster-bg" alt="邀请海报" />
</div>
</van-popup>
</div>
<div v-else id="poster" class="flex-row">
<img class="poster-bg" src="../../assets/images/timg.jpg" alt="邀请海报背景" />
<div class="qqqqq">
<div class="title ">【{
{
canvasImg.title