微信小程序中生成二维码工具:weapp.qrcode.js

8,187次阅读
一条评论

共计 952 个字符,预计需要花费 3 分钟才能阅读完成。

前言

在近期的小程序开发中,有一个离线生成二维码的需求。当时想到了一些优秀的前端开源库 jquery-qrcode 和 node-qrcode,由于小程序中没有 DOM 的概念,这些库在小程序中并不适用。

所以,针对微信小程序的特点,封装了 weapp.qrcode.js,用于在小程序中快速生成二维码。

目录

  • 创建 canvas 标签
  • 调用绘制方法
  • API 说明

GitHub 仓库

wepy 版本

附带推荐

二维码又称 QR Code,QR 全称 Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的 Bar Code 条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就是一个密码算法,在此写一这篇文章,揭露一下。供好学的人一同学习之。

首先,我们先说一下二维码一共有 40 个尺寸。官方叫版本 Version。Version 1 是 21 x 21 的矩阵,Version 2 是 25 x 25 的矩阵,Version 3 是 29 的尺寸,每增加一个 version,就会增加 4 的尺寸,公式是:(V-1)4 + 21(V 是版本号)最高 Version 40,(40-1)4+21 = 177,所以最高是 177 x 177 的正方形。

定位图案

  • Position Detection Pattern 是定位图案,用于标记二维码的矩形大小。这三个定位图案有白边叫 Separators for Postion Detection Patterns。之所以三个而不是四个意思就是三个就可以标识一个矩形了。
  • Timing Patterns 也是用于定位的。原因是二维码有 40 种尺寸,尺寸过大了后需要有根标准线,不然扫描的时候可能会扫歪了。
  • Alignment Patterns 只有 Version 2 以上(包括 Version2)的二维码需要这个东东,同样是为了定位用的。

功能性数据

  • Format Information 存在于所有的尺寸中,用于存放一些格式化数据的。
  • Version Information 在 >= Version 7 以上,需要预留两块 3 x 6 的区域存放一些版本信息。

数据码和纠错码

  • 除了上述的那些地方,剩下的地方存放 Data Code 数据码 和 Error Correction Code 纠错码。

更多内容请阅读以下文字

推荐: 二维码的生成细节和原理

正文完
 0
评论(一条评论)
验证码
meeting apps
2019-03-27 20:05:23 回复

I really like what you guys are up too.

 Macintosh  Chrome  中国河南省郑州市电信