vue中使用AraleQRCode生成二维码

vue中使用AraleQRCode生成二维码

问题背景

本文介绍vue中生成二维码的一种方案,使用AraleQRCode来实现。

问题分析

(1)安装对应的依赖包

复制代码
npm i arale-qrcode --save    

(2)完整代码如下:

复制代码
<template>
  <!-- 二维码 -->
  <div class="code">
    <img :src="img" />
  </div>
</template>


<script>
import AraleQRCode from "arale-qrcode";
export default {
  name: 'app',
  data: () => {
    return {
      img: "",
    }
  },
  components: {},
  mounted() {
    this.makeCode();
  },
  methods: {
    //生成二维码方法
    makeCode() {
      const result = new AraleQRCode({
        render: "svg",      // 定义生成的类型 'svg' or 'table dom'
        text: "baorant so handsome!", // 二维码的链接
        size: 150,      //二维码大小
      });

      // 将svg xml文档转换成字符串
      const svgXml = new XMLSerializer().serializeToString(result);

      // 将svg字符串转成base64格式,通过 window.btoa方法创建一个 base-64 编码的字符串,进行二次编码解码(encodeURIComponent 字符串进行编码和解码,unescape 进行解码)。
      const src =
        "data:image/svg+xml;base64," +
        window.btoa(unescape(encodeURIComponent(svgXml)));

      // 本地存储图片
      localStorage.setItem("image", src);
      this.getImg();
    },

    // 获取存储的图片给到页面
    getImg() {
      this.img = localStorage.getItem("image");
      console.log("$$$$", this.img);
      localStorage.removeItem("image");
    },
  },
};
</script>

<style>
.code {
  display: flex;
  width: 300px;
  height: 300px;
}
</style>

(3)运行结果如下:

扫描该二维码可生成对应的内容。

相关推荐
雾恋1 天前
最近一年的感悟
前端·javascript·程序员
华仔啊1 天前
Vue3 的 ref 和 reactive 到底用哪个?90% 的开发者都选错了
javascript·vue.js
A黄俊辉A1 天前
axios+ts封装
开发语言·前端·javascript
小李小李不讲道理1 天前
「Ant Design 组件库探索」四:Input组件
前端·javascript·react.js
连合机器人1 天前
晨曦中的守望者:当科技为景区赋予温度
java·前端·科技
郑板桥301 天前
tua-body-scroll-lock踩坑记录
前端·javascript
IT古董1 天前
Vue + Vite + Element UI 实现动态主题切换:基于 :root + SCSS 变量的最佳实践
vue.js·ui·scss
解道Jdon1 天前
SpringBoot4与Spring7发布:云原生深度进化
javascript·reactjs
慢半拍iii1 天前
JAVA Web —— A / 网页开发基础
前端
gnip1 天前
pnpm 的 monorepo架构多包管理
前端·javascript