mirror of https://github.com/lukechilds/lnbits.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
968 B
36 lines
968 B
var app = new Vue({
|
|
el: '#app',
|
|
data: {
|
|
scanner: null,
|
|
activeCameraId: null,
|
|
cameras: [],
|
|
scans: []
|
|
},
|
|
mounted: function () {
|
|
var self = this;
|
|
self.scanner = new Instascan.Scanner({ video: document.getElementById('preview'), scanPeriod: 5 });
|
|
self.scanner.addListener('scan', function (content, image) {
|
|
self.scans.unshift({ date: +(Date.now()), content: content });
|
|
});
|
|
Instascan.Camera.getCameras().then(function (cameras) {
|
|
self.cameras = cameras;
|
|
if (cameras.length > 0) {
|
|
self.activeCameraId = cameras[0].id;
|
|
self.scanner.start(cameras[0]);
|
|
} else {
|
|
console.error('No cameras found.');
|
|
}
|
|
}).catch(function (e) {
|
|
console.error(e);
|
|
});
|
|
},
|
|
methods: {
|
|
formatName: function (name) {
|
|
return name || '(unknown)';
|
|
},
|
|
selectCamera: function (camera) {
|
|
this.activeCameraId = camera.id;
|
|
this.scanner.start(camera);
|
|
}
|
|
}
|
|
});
|