在H5中使用qrcode生成二维码

在H5中使用qrcode生成二维码

安装插件

```javascript
npm install --save qrcode
```

使用插件

  • 按需引入
      //index.html
      	<html>
      		<head>···</head>
      		<body>
      			<canvas id="canvas"></canvas>
      			<script src="index.js"></script>
      		</body>
      	</html>
      ```
      ```javascript
      //index.js
      	const QRcode = require('qrcode');
      	const canvas = document.getElementById('canvas');
      
      	QRcode.toCanvas(canvas, '1234567890', function(err){
      		if(err) throw err
      		console.log('二维码生成成功了!')
      	})
      ```
    
  • html中直接引入
    <canvas id="canvas"></canvas>
    
    <script src="qrcode.min.js"></script>
    <script>
    	QRCode.toCanvas(documen.getElementById('canvas'), '1234567890', function(err){
    		if(err) throw err
    		console.log('二维码又生成成功了!!')
    	})
    </script>
    

客户端API

  • create()
    create(text, [options])

      // 返回一个qrcode的对象
      {
      	modules, //带有模块数据的
      	version, //qrcode版本
      	errorCorrectionLevel, //错误等级
      	maskPattern, //蒙版模式
      	segments, //生成的段
      }
    
  • toCanvas()
    toCanvas(canvasElement, text, [options], callback); //在canvas中绘制二维码
    toCanvas(text, [options], callback(err, canvas)) //,如果没有指定canvas标签,会自动返回一个, 在回调中指定插入位置即可

  • toDataURL()
    toDataURL(text, [options], callback(err, url)); //返回一个url地址,
    toDataURL(canvasElement, text, [options], callback(err, url)); //如果提供了canvasElement,则在此绘制二维码

  • toString()
    toString(text, [options], callback(err, string)); //返回一个包含二维码信息的字符串,仅供svg使用

options

{
	version: Number,  //QR版本,如果没指定,会自动计算出一个
	errorCorrectionLevel: String, //纠错级别, low, medium, quartile, high 或 L, M, Q, H
	maskPattern: Number, //
	toSJISFunc: Function, //转换汉字的辅助函数
	margin: Number, // default: 4
	scale: Number, //比例,默认4
	width: Number, // 输出图像的特定宽度,优先于scale,如果太小,放不下图片,这个值会被忽略
	color: {
		dark: String, //default: #000000ff
		light: String, //default: #ffffff
	}
}

猜你喜欢

转载自blog.csdn.net/haoyanyu_/article/details/88051038