首页 文章

离子2中的条形码扫描仪

提问于
浏览
0

我尝试使用ionic2在android mobile中使用条形码扫描器扫描条形码 . 我是离子的新学习者 . 我尝试了一些代码,

home.ts

import { Component } from '@angular/core';

  import { NavController } from 'ionic-angular';
  declare var cordova:any;
  @Component({
  selector: 'page-home',
  templateUrl: 'home.html'
  })
  export class HomePage {

  constructor(public navCtrl: NavController) {

  }

  scan() {
  var me = this;
  if (cordova.plugins.barcodeScanner) {
    cordova.plugins.barcodeScanner.scan((imageData) => {
        alert(imageData.text);

    }, (error) => {
        alert("An error happened -> " + error);         
    });
  }

  }
  }

home.html的

<ion-navbar *navbar>
  <ion-title>
    Home
  </ion-title>
  </ion-navbar>

 <ion-content class="home">
 <button primary (click)="scan()">Scan</button>
 </ion-content>

但我得到一个错误是'找不到变量:科尔多瓦' .

我用过这个插件 -

https://ionicframework.com/docs/v2/native/barcode-scanner/

用于离子2中的条形码扫描仪

谢谢你的回答 .

7 回答

  • 0

    你需要添加:

    import { BarcodeScanner } from 'ionic-native';
    

    之后,您可以使用BarcodeScanner.scan()方法从条形码或qr代码中获取信息 . 试试这个代码:home.ts

    import { Component } from '@angular/core';    
    import { NavController } from 'ionic-angular';
    import { BarcodeScanner } from 'ionic-native';
    
    @Component({
      selector: 'page-home',
      templateUrl: 'home.html'
    })
    export class HomePage {
    
      constructor(public navCtrl: NavController) {}
    
      click() {
        BarcodeScanner.scan()
          .then((result) => {
            alert(
              "We got a barcode\n" +
              "Result: " + result.text + "\n" +
              "Format: " + result.format + "\n" +
              "Cancelled: " + result.cancelled
            )
          })
          .catch((error) => {
            alert(error);
          })
      }
    }
    

    home.html的

    <ion-header>
      <ion-navbar>
        <ion-title>
          Ionic Blank
        </ion-title>
      </ion-navbar>
    </ion-header>
    
    <ion-content padding>
      <h1>Scan</h1>
      <button block (click)="click()" color="primary">Scan</button>
    </ion-content>
    
  • 0

    首先导入您的项目:

    $ ionic cordova plugin add phonegap-plugin-barcodescanner
    $ npm install --save @ionic-native/barcode-scanner
    

    组件文件:

    import { Component } from '@angular/core';
    import { NavController } from 'ionic-angular';
    import { BarcodeScanner } from '@ionic-native/barcode-scanner';
    
    @Component({
      selector: 'page-home',
      templateUrl: 'home.html',
      providers: [ BarcodeScanner ]
    })
    export class HomePage {
    
      constructor(
        private barcodeScanner: BarcodeScanner,
        public navCtrl: NavController) {
    
      }
    
      scan() {
       this.barcodeScanner.scan().then((barcodeData) => {
            console.log(JSON.stringify(barcodeData))
          }, (err) => {
           //error
          });
      }
    
    }
    
  • 0

    1 .

    $ cordova插件添加phonegap-plugin-barcodescanner

    $ npm install --save @ ionic-native / barcode-scanner

    2 .

    app.module.ts

    import { BarcodeScanner } from '@ionic-native/barcode-scanner';
       @NgModule({
    
       ......
    
       providers: [
         BarcodeScanner,
         {provide: ErrorHandler, useClass: IonicErrorHandler}
       ]
     })
     export class AppModule {}
    

    scanner.ts

    import { Component } from '@angular/core';
     import { NavParams, NavController } from 'ionic-angular';
     import { BarcodeScanner } from '@ionic-native/barcode-scanner';
    
     @Component({
        selector: 'page-contact',
        templateUrl: 'contact.html'
     })
    export class ContactPage {
        constructor( public nacCtrl: NavController,
        public NavParams: NavParams,
        private barcodeScanner: BarcodeScanner) { }
    
      takeScan(){
          this.barcodeScanner.scan().then((barcodeData) => {
          // Success! Barcode data is here
          alert(barcodeData.text);
          console.log("Barcode Format -> " + barcodeData.format);
          console.log("Cancelled -> " + barcodeData.cancelled);
    
       }, (err) => {
          // An error occurred
         console.log("An error happened -> " + err);
       });
     }
    
    }
    
  • 1

    与文档中一样,您需要使用条形码扫描仪和离子2

    import { BarcodeScanner } from 'ionic-native';
    
    BarcodeScanner.scan().then((barcodeData) => {
        // Success! Barcode data is here
      }, (err) => {
       // An error occurred
    });
    

    安装后,您需要在 ionic-native 页面中导入它,然后调用它来使用它的功能 .

    希望它有所帮助:D

  • 1

    要使用条形码扫描仪,您必须添加

    import { BarcodeScanner } from 'ionic-native';
    

    并创建一个这样的功能

    barcode() {
      BarcodeScanner.scan()
      .then((result) => {
         if (!result.cancelled) {
           alert("Success"+result);
         }
      })
      .catch((err) => {
        alert(err); 
       })
     }
    

    现在你可以在html中的任何地方调用 barcode() 函数进行扫描

  • 0

    1.将插件添加到您的应用程序请参阅下面的离子插件添加phonegap-plugin-barcodescanner npm install --save @ ionic-native / barcode-scanner 2.import import 来自'ionic-native'; import * as xml2js from“xml2js”; BarcodeScanner.scan() . then((barcodeData)=> {var name,uid; xml2js.parseString(barcodeData.text,{trim:true},function(err,result){debugger; name = result.PrintLetterBarcodeData . $ . name; uid = result.PrintLetterBarcodeData . $ . uid;}); debugger; this.AdharCardName = name; this.AdharcardUid = uid;},(err)=> {});

  • 0
    How to create perfect Barcode/QR Scanner. let's do it.
    

    首先,安装

    • ionic cordova plugin add phonegap-plugin-barcodescanner

    • npm install --save @ionic-native/barcode-scanner

    • npm install @ionic-native/core --save

    • cordova platform update android

    所有这些都在app.module.ts中完成了 BarcodeScanner . 就像这样
    import from '@ionic-native/barcode-scanner';

    提供者:[BarcodeScanner]

    之后,我们必须在您将使用的typescript文件中声明
    import from '@ionic-native/barcode-scanner';

    scan(){
          this.barcodeScanner.scan().then((barcodeData) => {
            console.log(JSON.stringify(barcodeData))  
          }, (err) => {  
           //error 
          });
        }
    

    在这种情况下 . 你可以面对这样的错误,
    ERR_FILE_NOT_FOUND (file:///android_asset/www/index.html):
    ***Unexpected token ) in main.ts ***
    不要担心..从命令提示符中删除 android/ios plugin . 并安装它 .
    cordova platform update android

    我希望新的好 . spy

相关问题