Я пытаюсь использовать ионный QR-сканер.Вот мой код:
HTML:
<ion-content>
<div text-center style="padding-top: 130px">
<ion-icon name="qr-scanner" style="font-size: 220px; color: black"></ion-icon>
</div>
</ion-content>
<ion-footer>
<ion-toolbar>
<ion-item large>
<ion-icon name="information-circle" slot="start" color="primary" style="font-size: xx-large"></ion-icon>
<ion-label color="primary" text-wrap>Position QR Code inside crosshair and hold phone still</ion-label>
</ion-item>
</ion-toolbar>
</ion-footer>
.ts
ionViewDidEnter() {
this.qrScanner.show().then(() => {
let scan = this.qrScanner.scan().subscribe((guid: string) => {
console.log('QR Scan result: ', guid);
if (Guid.isGuid(guid)) {
this.qrScanner.hide()
.then(() => {
scan.unsubscribe(); // stop scanning
this.db.addOrUpdateOption(new UserOption("patient_id", guid))
.then(() => FileHelper.clearFolders())
.then(() => this.router.navigate(['/foot-type']));
});
}
else {
this.presentAlert("Warning", "The scanned QR code is not valid.").then(() => {
this.qrScanner.hide().then(() => {
scan.unsubscribe(); // stop scanning
}).then(() => {
this.router.navigate(['/login']);
}); // hide camera preview
});
}
});
});
}
ionViewDidLeave() {
this.qrScanner.hide();
}
Тем не менее, это кажется очень удачным.Иногда он работает мгновенно, иногда требуется время для сканирования, а иногда он вообще не сканирует код qr, независимо от расстояния и фокуса.Все мои тесты были проведены по одному и тому же QR-коду.Что-то я не так делаю в своем коде?