前端开发中怎么把链接转为二维码并展示?

news/2024/11/15 9:59:43/文章来源:https://www.cnblogs.com/muqiqiang/p/18547408

前言:

把一个链接生成一个二维码图片,这是我们前端非常常见的一个需求。那么我们应该如何做呢?

查看往期文章:

五分钟一百行代码,手写一个vue项目全局通用的toast提示组件

十五分钟两百行代码,手写一个vue项目全局通用的弹框

第一步:下载 Qrcode

npm install --save qrcode

第二步:准备容器

我们生成的二维码图片需要一个展示的容器,我们需要提前准备好。

<div id="qrCode"></div>

第三步:引入并使用

import QRCode from 'qrcode'new QRCode(document.getElementById("qrCode"), {text: shareLink + "&p=qr_code&v=3", //生成二维码的文本width: document.querySelector("#qrCode").offsetWidth,height: document.querySelector("#qrCode").offsetWidth,colorDark: "#333333", //二维码颜色colorLight: "#ffffff", //二维码背景色correctLevel: QRCode.CorrectLevel.L //容错率,L/M/H
});

说明:

  1. 当你通过new调用之后就能生成要给二维码图片了,并且能够显示在你指定的容器当中;
  2. 因为我自己开发vue项目比较多,在vue项目中使用时,需要注意,最好放在 nextTick 中使用,保证容器渲染完成;
this.$nextTick(() => {new QRCode(document.getElementById("qrCode"), {text: shareLink + "&p=qr_code&v=3", //生成二维码的文本width: document.querySelector("#qrCode").offsetWidth,height: document.querySelector("#qrCode").offsetWidth,colorDark: "#333333", //二维码颜色colorLight: "#ffffff", //二维码背景色correctLevel: QRCode.CorrectLevel.L //容错率,L/M/H});
});
  1. correctLevel 容错率说明:

    • 在二维码(QR Code)的上下文中,容错率(Correct Level)是一个非常重要的概念,它表示二维码能在多大程度上被破损或遮挡而仍然能够被成功扫描和解码。容错率的设置对于二维码的实用性在实际应用中非常关键,尤其是在可能会遭受物理损害或部分遮挡的环境中。
    • 二维码标准定义了四个容错级别,每个级别都能容忍一定比例的二维码图像损坏:
      1. L (Low) :约7% 的错误可以被纠正。
      2. M (Medium) :约15% 的错误可以被纠正。
      3. Q (Quartile) :约25% 的错误可以被纠正。
      4. H (High) :约30% 的错误可以被纠正。
    • 选择更高的容错级别会增加二维码的复杂度和大小,因为需要加入更多的冗余数据来实现错误校正。这意味着相同的数据内容,高容错率的二维码可能会比低容错率的二维码大或包含更密集的模块(黑点和白点)。
    • 如果二维码不太可能受到损害或遮挡,并且空间有限,可以选择较低的容错率(如L或M)。
    • 如果二维码可能会在较为恶劣的环境中使用,或者预计会有一部分被遮挡或破损,应选择较高的容错率(如Q或H),以确保二维码仍然可读。

写在后面

这是一个通用的 qrcode 库的通用使用流程,跟框架无关,你可以按照流程操作;

对你有帮助的话给作者点一个免费的关注吧,感恩!Peace and love~~

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字型注入(post)

数字型注入(post) 打开靶场,发现数字列表查询,点击查询发现POST请求和id、submit参数bp抓包,根据题目数字注入提示,尝试用1+1方式查询,+编码为%2B id=1%2B1&submit=%E6%9F%A5%E8%AF%A2成功回显 order by查询字段数,在为3的时候回显异常,判断字段数为2查库,查出数据…

设备管理系统功能拆解——设备报修维修管理

在生产过程中,设备的高效运作是确保生产顺利进行的重要基础。但是运行时间长了,设备难免会出现故障,如何高效地进行报修和维修管理,成为每个企业必须面对的问题。 通过有效的报修维修管理,企业可以快速响应设备故障,合理分配资源,从而最大限度地减少停机时间。这篇我们将…

设备管理系统功能拆解——设备维护保养管理

设备维护保养是企业日常运营中不可忽视的一环,无论是生产设备还是办公设备,都需要定期的维护和保养,以确保其正常运行。 设备维护保养的管理,不仅仅是日常工作,更是保障企业生产效率和设备寿命的关键,系统化管理维护保养工作可以显著提高设备的可靠性和使用寿命。 那么,…

Django框架表单基础

本节主要介绍一下Django框架表单(Form)的基础知识。Django框架提供了一系列的工具和库来帮助设计人员构建表单,通过表单来接收网站用户的输入,然后处理以及响应这些用户的输入。 6.1.1 HTML表单 Django框架表单是在HTML模板中设计完成的,其实类似于传统HTML Form表单的应用…

zkw 线段树-原理及其扩展

前言许多算法的本质是统计。线段树用于统计,是沟通原数组与前缀和的桥梁。 《统计的力量》清华大学-张昆玮关于线段树 前置知识:线段树 OIWiki。 线段树是一种专门维护区间问题的数据结构。 线段树对信息进行二进制化处理并在树形结构上维护,以此让处理速度达到 \(O(\log{n}…

读数据质量管理:数据可靠性与数据质量问题解决之道04收集与清洗

收集和清洗1. 收集数据 1.1. 数据收集和清洗是生产管道中的第一步1.1.1. 数据转换和测试则在生产管道中解决数据质量问题1.2. 在收集数据时,管道的任何地方可能都没有入口点重要,因为入口点是任何数据管道中最上游的位置 1.3. 入口点…

光灵斗域游戏开发需求分析报告

墨刀原型链接 项目简介 需求分析 数据流图原型设计 分工说明

【教程】第七章:工作流——自动赋能,效率飞跃

一起在 NocoBase 中创造精彩应用!这些教程将通过手把手的操作,帮助你全面掌握核心功能,激发灵感,打造并分享满足多样需求的应用。恭喜你走到了这最后一章!我们将在这一章中介绍和简单探索 NocoBase 的强大工作流功能。通过这个功能,你可以为系统中的任务自动化操作,节省…

MySQL 错误1055 永久解决方案

详情见:https://www.cnblogs.com/haoyul/p/9882853.html

生产订单修改记录报表

1、写在前面 生产订单修改记录报表对于项目上并不陌生。通常会在增强中编写逻辑来判断生产订单主要信息是否有变更,有则保存到日志表,并通过查询报表展示,帮助用户查看生产订单发生的修改。 本文档的代码,只是对现有逻辑的一些优化,通过配置表的方式,设置监控字段,灵活监…

manim边做边学--圆锥

Cone是Manim中专门用于创建和操控锥形几何对象的类。 Cone允许用户定义锥体的底面半径、高度、颜色、不透明度等属性,并提供了一系列方法来操控这个锥体,如移动、缩放、旋转等。 通过这些属性和方法,用户可以灵活地创建出符合自己需求的锥形对象,并将其融入到动画或演示中。…

远光天鹿:重塑数字化时代软件设计新体验

在当今数字化时代,用户体验已成为衡量软件产品成功与否的关键指标。然而,传统的软件设计模式存在流程繁琐、效率低下、资源浪费等弊端,严重制约了产品创新的步伐。为此,远光软件创新推出高效智能的用户体验创新平台——远光天鹿。传统设计模式的挑战 传统软件设计模式涵盖需…