首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >用JS实现二维码生成

用JS实现二维码生成

作者头像
老K博客
发布2024-03-10 09:37:27
发布2024-03-10 09:37:27
1.7K00
代码可运行
举报
文章被收录于专栏:老K博客老K博客
运行总次数:0
代码可运行

二维码也是比较常用的一个工具了,通过二维码我们可以实现网页内容的推广、分享,以及实现用户信息的校验认证,今天这篇文章主要介绍前端如何生成二维码的。

我们可以采用现有的生成库来生成二维码,本文以 qrcode.min.js和awesome-qr.js来介绍二维码的生成。

qrcode.min.js

qrcode.min.js可以指定将需要生成的二维码加载到对应的元素上,其支持功能如下:

  • width:二维码宽度
  • height:二维码高度
  • colorDark:二维码颜色
  • colorLight:二维码前景色
  • correctLevel:二维码精度
  • text:需要生成二维码的文本
代码语言:javascript
代码运行次数:0
运行
复制
/**
 * 生成二维码
 * @param {*} text
 */
function createQrCode(text) {
  const elements = document.getElementsByClassName('qrcode');
  const len = elements.length;
  if (len) {
    for (let i = 0; i < len; i++) {
      const ele = elements[i];
      new QRCode(ele, {
        width: 101,
        height: 101,
        colorDark: '#000000',
        colorLight: '#ffffff',
        correctLevel: QRCode.CorrectLevel.H,
        text,
      });
    }
  }
}

awesome-qr.js

awesome-qr.js可以实现指定的文本生成对应的二维码base64文件,可以通过设置img的src地址实现二维码的加载。支持设置参数:

  • text:字符串文本
  • size:二维码大小
  • margin:二维码白边
  • colorDark:二维码颜色,默认黑色
  • colorLight:二维码亮色
  • backgroundImage:二维码背景色
  • logoImage:二维码中间icon
  • logoScale:二维码中间logo的scale大小
  • logoCornerRadius:二维码logo的圆角大小
代码语言:javascript
代码运行次数:0
运行
复制
createQrCode = function({ text, logo, bgColor, codeColor, margin }) {
          // 二维码生成参数
          var text = text;
          var size = 256;
          var colorDark = codeColor || "#000000";
          var background = bgColor || "#ffffff";
          var logo = logo || "";
          $("#qrcodeimg").css({ width: size + "px", height: size + "px" })
          new AwesomeQR.AwesomeQR({
            text: text, // 内容
            size: size, // 二维码大小
            margin: margin || 9, // 二维码白边大小
            colorDark: colorDark, // 二维码颜色
            colorLight: background, // 二维码颜色
            logoImage: logo, // 二维码中间logo
            logoScale: 0.3, // 二维码中间logo大小
            logoCornerRadius: 0, // 二维码中间logo圆角
          }).draw()
            .then((dataURL) => {
              $("#qrcode").attr("src", dataURL); // 通过设置img的src来加载二维码图片
            })
            .catch((err) => {
              console.error(err);
            });
        }

本文共 330 个字数,平均阅读时长 ≈ 1分钟

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024年03月09日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • qrcode.min.js
  • awesome-qr.js
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档