mirror of
https://github.com/cnwhy/QRCode-decode.git
synced 2026-08-12 20:31:40 +08:00
rename
This commit is contained in:
@@ -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
-1
@@ -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')
|
||||||
|
|||||||
Vendored
+14
@@ -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>
|
||||||
Vendored
+3041
File diff suppressed because one or more lines are too long
Vendored
+7
File diff suppressed because one or more lines are too long
Vendored
+1
File diff suppressed because one or more lines are too long
Vendored
+3302
File diff suppressed because one or more lines are too long
Vendored
+1
File diff suppressed because one or more lines are too long
+1
-1
@@ -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++) {
|
||||||
+1
-1
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user