Что не так с моим ионным кодом QR Scanner? - PullRequest
0 голосов
/ 28 сентября 2019

Я пытаюсь использовать ионный 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-коду.Что-то я не так делаю в своем коде?

...