Skip to content

Commit 9590571

Browse files
authored
Create Html5Qrcode object setting qrbox width and height
1 parent 9e35ec6 commit 9590571

1 file changed

Lines changed: 56 additions & 0 deletions

File tree

lib/assets/reader.js

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
window.parent.addEventListener('reader', (e) => {
2+
const qrBoxWidth = e.detail.qrBoxWidth;
3+
const qrBoxHeight = e.detail.qrBoxHeight;
4+
jsCreateReader(qrBoxWidth, qrBoxHeight);
5+
6+
});
7+
8+
jsCreateReader = (qrBoxWidth, qrBoxHeight) => {
9+
//refer doc here https://github.com/mebjas/html5-qrcode
10+
const html5QrCode = new Html5Qrcode("reader");
11+
console.log("Starting SCANNING CODE");
12+
const qrCodeSuccessCallback = (decodedText, decodedResult) => {
13+
html5QrCode.stop();
14+
/* handle success for web */
15+
window.parent.postMessage(decodedText, "*");
16+
17+
/* handle success for window */
18+
if (window.chrome.webview != "undefined") {
19+
var param = {
20+
"methodName": "successCallback",
21+
"data": decodedText
22+
}
23+
window.chrome.webview.postMessage(param);
24+
}
25+
26+
};
27+
const config = {
28+
fps: 10,
29+
qrbox: {
30+
width: qrBoxWidth,
31+
height: qrBoxHeight,
32+
//aspectRatio: 1.7777778
33+
}
34+
};
35+
36+
// If you want to prefer back camera
37+
html5QrCode.start({
38+
facingMode: "environment"
39+
}, config, qrCodeSuccessCallback);
40+
//html5QrCode.start({ facingMode: "user" }, config, qrCodeSuccessCallback);
41+
42+
//Window event listener
43+
if (window.chrome.webview != undefined) {
44+
window.chrome.webview.addEventListener('message', function (e) {
45+
let data = JSON.parse(JSON.stringify(e.data));
46+
47+
if (data.cmd === undefined)
48+
return;
49+
50+
if (data.event === "close") {
51+
html5QrCode.stop();
52+
}
53+
});
54+
}
55+
56+
};

0 commit comments

Comments
 (0)