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

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

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

@ -139,6 +139,7 @@ var process = function (data,base) {
// 解析QR矩阵
var reader = Decoder.decode(qRCodeMatrix.bits);
// console.log(reader);
var data = reader.DataByte;
var str = "";
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.table({a:1,b:2})
// var test = test_time;
var test = function (path, mark) {

Loading…
Cancel
Save