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)运行结果如下:
运行结果
扫描该二维码可生成对应的内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/401455.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入解析SDRAM:从工作原理到实际应用

深入解析SDRAM&#xff1a;从工作原理到实际应用 在众多内存技术中&#xff0c;同步动态随机访问存储器&#xff08;SDRAM&#xff09;因其出色的性能和广泛的应用而备受关注。本文将从SDRAM的工作原理入手&#xff0c;探讨其性能优化策略和在现代电子设备中的应用。 SDRAM工作…

多系统集成分析——WMS系统与PLM、ERP、MES、智库、WCS、AGV、OA系统的关联

多系统集成分析——WMS系统与PLM、ERP、MES、智库、WCS、AGV、OA系统的关联 原创 西游暖暖 白话聊IT 2024-02-19 00:06 天津 首先分享一个已上线的智能工厂架构图&#xff1a;智能制造全场景下&#xff0c;将WMS定位于不仅是仓储执行管理系统&#xff0c;更作为连接全方案的“…

企业数据资产入表路径及方法完整解析

源自&#xff1a;架构老人 “人工智能技术与咨询” 发布 01政策、背景、趋势 一、数字资源如表国家政策 为规范企业数据资源相关会计处理&#xff0c;强化相关会计信息披露&#xff0c;财政部制定印发了《企业数据资源相关会计处理暂行规定》&#xff08;以下简称《暂行规…

JVM工作原理与实战(三十九):G1垃圾回收器原理

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、G1垃圾回收器 1.G1垃圾回收器执行流程 二、年轻代回收 1.年轻代回收原理 2.卡表(Card Table) 3.记忆集的生成流程 4.年轻代回收的详细步骤 5.G1年轻代回收核心技术总结 三、…

超声波清洗机应该怎么选?这几款超声波清洗机错后悔!

科技让我们的生活变得方便了许多&#xff0c;比如&#xff0c;自从有了超声波清洗机之后&#xff0c;有些人就改变了眼镜必须要手洗的想法&#xff0c;许多研究也证明&#xff0c;单靠手洗是无法眼镜内缝隙中的污渍彻底清洗干净的&#xff0c;一台专门的超声波清洗机就可以减轻…

JavaSprintBoot中一些运维方面的知识

1.配置文件四级分类 例如以下yml配置文件&#xff0c;权限一共有四级&#xff0c;高等级覆盖低等级并叠加&#xff08;权限向下兼容&#xff09; 2.自定义配置文件 可以自定义配置文件的名称&#xff0c;因为实际开发环境中可能不会就简单的叫做application.yml之类的&#x…

48 slab 的实现

前言 这里说的是 内核中分配小对象的一种内存分配方式 slab 呵呵 经典程度不必多说了, 内核使用的大多数数据结构 基本上是基于 slab 进行内存分配的 这里 我们来看一下 slab 如何分配对象 几个分配层级, c->free_list, c->page, c->partial, new_slab 1. 先…

C#上位机与三菱PLC的通信08---开发自己的通讯库(A-1E版)

1、A-1E报文回顾 具体细节请看&#xff1a; C#上位机与三菱PLC的通信03--MC协议之A-1E报文解析 C#上位机与三菱PLC的通信04--MC协议之A-1E报文测试 2、为何要开发自己的通讯库 前面使用了第3方的通讯库实现了与三菱PLC的通讯&#xff0c;实现了数据的读写&#xff0c;对于通…

Maven私服搭建Nexus3

第一部分&#xff1a;仓库部署 下载地址&#xff1a;https://help.sonatype.com/en/download.html 备用下载链接&#xff0c;部分已经失效了 解压后会有两个文件夹&#xff1a; nexus-3.20.1-01 sonatype-work 访问地址配置路径 \nexus-3.20.1-01\bin\nexus.vmoptions -Xms1…

Vue思维导图,复习+预习,其中有些已经弃用了,下期总结下

1、学前了解 2、基础知识 3、组件相关语法 4、高级语法 5、compositionAPI 6、配套工具

每日OJ题_二叉树dfs④_力扣98. 验证二叉搜索树

目录 力扣98. 验证二叉搜索树 解析代码 力扣98. 验证二叉搜索树 98. 验证二叉搜索树 难度 中等 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只包含 小于 当前节点的数。节点的右子树…

C++动态分配内存知识点!

个人主页&#xff1a;PingdiGuo_guo 收录专栏&#xff1a;C干货专栏 大家好呀&#xff0c;又是分享干货的时间&#xff0c;今天我们来学习一下动态分配内存。 文章目录 1.动态分配内存的思想 2.动态分配内存的概念 2.1内存分配函数 2.2动态内存的申请和释放 2.3内存碎片问…

Android 面试问题 2024 版(其二)

Android 面试问题 2024 版&#xff08;其二&#xff09; 六、多线程和并发七、性能优化八、测试九、安全十、Material设计和 **UX/UI** 六、多线程和并发 Android 中的进程和线程有什么区别&#xff1f; 答&#xff1a;进程是在自己的内存空间中运行的应用程序的单独实例&…

使用JavaVisualVM排查FullGC问题

1.工具准备 在这里使用 jdk/bin 目录下的 jvisualvm.exe&#xff0c;是自带工具。 2.工具使用 将下载到本地的dump 文件导入工具中&#xff0c;会展示各个类的实例数占比&#xff0c;大小占比。 3.问题排查 前期准备 在分析dump文件之前&#xff0c;我们可以先观察应用中接…

06 flink 的各个角色的交互

前言 这里主要是 涉及到 flink 中各个角色的交互 TaskManager 和 ResourceManager 的交互 JobMaster 和 ResourceManager 的交互 等等流程 TaskManager 和 ResourceManager 的交互 主要是 包含了几个部分, 如下, 几个菜单 TaskManager向 ResourceManager 注册 Resou…

【Maven】介绍、下载及安装、集成IDEA

目录 一、什么是Maven Maven的作用 Maven模型 Maven仓库 二、下载及安装 三、IDEA集成Maven 1、POM配置详解 2、配置Maven环境 局部配置 全局设置 四、创建Maven项目 五、Maven坐标详解 六、导入Maven项目 方式1&#xff1a;使用Maven面板&#xff0c;快速导入项目 …

安装 Debian

安装 Debian 制作一个 Debian 的可启动 USB先决条件如何在 Linux 操作系统上制作 Debian 11 的可启动 USB第一步&#xff1a;附加 ISO 镜像第二步&#xff1a;选择 USB第三步&#xff1a;开始制作 USB 可启动的过程 如何在 Windows 上制作一个 Debian 11 可启动的 USB 盘第一步…

一周学会Django5 Python Web开发-Django5设置视图响应状态

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计25条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…

压缩感知(Compressed Sensing)的MATLAB仿真实现

在前一篇文章&#xff1a;正交匹配追踪&#xff08;Orthogonal Matching Pursuit, OMP&#xff09;的MATLAB实现中&#xff0c;我们介绍了针对稀疏信号进行压缩感知的MATLAB仿真。 本篇我们介绍一下针对的是原始的非稀疏信号&#xff0c;看看如何进行处理。 本文中&#xff0c;…

定制学习风格、满足多元需求:Mr. Ranedeer 帮你打造 AI 家教 | 开源日报 No.178

JushBJJ/Mr.-Ranedeer-AI-Tutor Stars: 20.4k License: NOASSERTION Mr. Ranedeer 是一个个性化的 AI 辅导项目&#xff0c;主要功能包括使用 GPT-4 生成定制化提示&#xff0c;为用户提供个性化学习体验。其核心优势和特点包括&#xff1a; 调整知识深度以满足学习需求定制学…