master v0.0.1
cnwhy 7 years ago
parent dc74dd877c
commit e1d897bca3

@ -1,4 +1,4 @@
# qrcode-decode # qr-decode
解密/识别 QRCode码 解密/识别 QRCode码
说明: 主要的二维码识别代码整理自 [jsqrcode](https://github.com/LazarSoft/jsqrcode); 说明: 主要的二维码识别代码整理自 [jsqrcode](https://github.com/LazarSoft/jsqrcode);
@ -17,16 +17,16 @@
## install ## install
``` ```
npm i qrcode-decode npm i qr-decode
``` ```
## import ## import
```js ```js
var qrDecode = require('qrcode-decode'); var qrDecode = require('qr-decode');
//web //web
var qr_web = require('qrcode-decode/browser') var qr_web = require('qr-decode/browser')
//node //node
var qr_node = require('qrcode-decode/server') var qr_node = require('qr-decode/server')
var text = qrDecode(dataImage); var text = qrDecode(dataImage);
``` ```
@ -36,16 +36,16 @@ var text = qrDecode(dataImage);
### web ### web
> web端最终是利用`Canvas`获取`ImageData`, 注意兼容及跨域问题 > web端最终是利用`Canvas`获取`ImageData`, 注意兼容及跨域问题
```js ```js
var qrcodeDecode = require('qrcode-decode/browser'); var qrDecode = require('qr-decode/browser');
// 传入二维码图片URL/dataURL // 传入二维码图片URL/dataURL
qrcodeDecode.decodeByUrl(src, function (err, txt) { qrDecode.decodeByUrl(src, function (err, txt) {
if (err) { return console.log(err);} if (err) { return console.log(err);}
alert(txt); alert(txt);
}) })
// 传入DOM可以画到canvas的dom都可以 `img` `canvas` 'video' 等 // 传入DOM可以画到canvas的dom都可以 `img` `canvas` 'video' 等
var img = document.getElementById('img1'); var img = document.getElementById('img1');
qrcodeDecode.decodeByDom(img, function (err, txt) { qrDecode.decodeByDom(img, function (err, txt) {
if (err) { return console.log(err);} if (err) { return console.log(err);}
alert(txt); alert(txt);
}) })
@ -55,15 +55,15 @@ qrcodeDecode.decodeByDom(img, function (err, txt) {
> 注意: 服务器端API是以 `promise` 返回结果, 你注意你的`node`版本; > 注意: 服务器端API是以 `promise` 返回结果, 你注意你的`node`版本;
```js ```js
//解析文件 //解析文件
var qrcodeDecode = require('qrcode-decode/server'); var qrDecode = require('qr-decode/server');
qrcodeDecode.decodeByPath('xx/code.jpg').then(function(val){ qrDecode.decodeByPath('xx/code.jpg').then(function(val){
console.log(val); console.log(val);
},console.error.bind(console)) },console.error.bind(console))
//解析Buffer //解析Buffer
fs.readFile(path, function (err, buffer) { fs.readFile(path, function (err, buffer) {
if (err) { return rej(err) } if (err) { return rej(err) }
resqrcodeDecode.decodeByBuffer(buffer); qrDecode.decodeByBuffer(buffer);
}) })
``` ```

@ -1,5 +1,5 @@
var qrDecode = require('./src/QRCodeDecode'); var qrDecode = require('./src/QRDecode');
var decodeByDom = function (dom) { var decodeByDom = function (dom) {
var canvas = document.createElement("canvas") var canvas = document.createElement("canvas")
var ctx = canvas.getContext('2d') var ctx = canvas.getContext('2d')

14
dist/index.html vendored

@ -0,0 +1,14 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>qrcode-decode</title>
</head>
<body>
<input type="file" name="file" id="file"><br>
<div></div>
</body>
<script type="text/javascript" src="/test.b0eca09c.js"></script>
</html>

3041
dist/qr-decode.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

3302
dist/test.b0eca09c.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,5 +1,5 @@
{ {
"name": "qrcode-decode", "name": "qr-decode",
"version": "0.0.1", "version": "0.0.1",
"description": "QRCode parser/decode", "description": "QRCode parser/decode",
"main": "src/QRCodeDecode.js", "main": "src/QRCodeDecode.js",

@ -1,7 +1,7 @@
var fs = require('fs') var fs = require('fs')
var imgType = require('image-type') var imgType = require('image-type')
var imgDecode = require('./src/imageDecode') var imgDecode = require('./src/imageDecode')
var qrDecode = require('./src/QRCodeDecode') var qrDecode = require('./src/QRDecode')
/** /**
* 通过Buffer识别二维码 * 通过Buffer识别二维码

@ -139,6 +139,7 @@ var process = function (data,base) {
// 解析QR矩阵 // 解析QR矩阵
var reader = Decoder.decode(qRCodeMatrix.bits); var reader = Decoder.decode(qRCodeMatrix.bits);
// console.log(reader);
var data = reader.DataByte; var data = reader.DataByte;
var str = ""; var str = "";
for (var i = 0; i < data.length; i++) { for (var i = 0; i < data.length; i++) {

@ -18,7 +18,7 @@ async function test_time(path, mark) {
} }
console.log(mark + ' 100次 : ', Date.now() - t,' ms'); console.log(mark + ' 100次 : ', Date.now() - t,' ms');
} }
console.table({a:1,b:2})
// var test = test_time; // var test = test_time;
var test = function (path, mark) { var test = function (path, mark) {

Loading…
Cancel
Save