周凯,个人博客

  • 前端
  • 嵌入式
  • 工具
  • 后端
  • 随笔
个人记录
  1. 首页
  2. 前端
  3. vue3
  4. 正文

vue3 二维码生成,下载二维码

2024年 2月 2日 1136点热度 0人点赞 0条评论

依赖

pnpm add html2canvas # html转换canvas
pnpm add vue-qr # 二维码生成
pnpm add file-saver # 图片下载

实现

<template>
  <div id="vue-qr-con" ref="vueQrRef">
    <vue-qr :logoSrc="logo" :size="size" :text="value" />
  </div>
</template>
<script setup>
import logo from '@/assets/logo.png';
import { ref } from 'vue';
import html2canvas from 'html2canvas';
import vueQr from 'vue-qr/src/packages/vue-qr.vue';
import { saveAs } from 'file-saver';
import { dayjs } from 'element-plus';

const vueQrRef = ref();
const props = defineProps({
  value: String,
  size: {
    type: Number,
    default: 300
  }
});

defineExpose({
  getQrImg
});

function getQrImg() {
  const time = dayjs(Date.now()).format('YYYY-MM-DD HH:mm');
  html2canvas(vueQrRef.value).then((canvas) => {
    canvas.toBlob(function(blob) {
      saveAs(blob, `应用二维码-${time}.png`);
    });
  });
}
</script>
<style lang="less" scoped></style>

🎯 拓展阅读提示

本文涉及的内容已同步至公众号后台,我会在那里分享更多深度内容和实用技巧

→ 点击关注:一行梦境

公众号二维码
本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2024年 2月 2日

周凯

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2022-现在 周凯,个人博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蒙ICP备18004897号