использовать barcodeScanner в кордове (с angularjs)

0

(Я fr) Я пытаюсь использовать barcodeScanner в моем приложении cordova (работает с angularjs), но, похоже, мой код не работает. Я хотел бы понять, что мне делать. : с

Сначала я делаю:

cordova plugin rm https://github.com/wildabeast/Barcode
cordova plugin add https://github.com/wildabeast/Barcode

Тогда вот мой код: Index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="format-detection" content="telephone=no">
    <meta name="msapplication-tap-highlight" content="no">
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
    <link rel="stylesheet" type="text/css" href="css/style.css">
    <title>Hello World</title>
</head>
<body ng-app="app" ng-controller="BarcodeCtrl">
    <header class="header unSelectable">
        <a ng-click="panel=0" ng-hide="panel==0"><img src="img/back1.png" class="backLogo"></a>
        <!--<img src="img/logo.png" class="logoHeader">-->
        <a ng-click="callBarcodeScanner()"><img src="img/barcode.png" class="barcodeScanner"></a>
    </header>

    <section ng-view class="container">
    </section>

    <script type="text/javascript" src="js/jquery-2.1.4.min.js"></script>
    <script type="text/javascript" src="js/angular.min.js"></script>
    <script type="text/javascript" src="js/angular-route.min.js"></script>
    <script type="text/javascript" src="js/app.js"></script>
</body>
</html>

app.js

document.addEventListener('deviceready', function(){
    navigator.splashscreen.hide();
}, false);

var app = angular.module('app', ['ngRoute']);

app.config(function($routeProvider){
    $routeProvider
    .when('/home', {templateUrl: 'partials/home.html'})
    .when('/list', {templateUrl: 'partials/list.html'})
    .otherwise({redirectTo: '/home'});
});

app.controller('BarcodeCtrl', function($scope, $http){
    $scope.panel = 0;

    $scope.callBarcodeScanner = function(){
        $('.barCode').val('Scan en cours ...');
        barcodeScanner.scan().then(function(imageData){
            alert(imageData.text);
            console.log("Barcode Format -> " + imageData.format);
            console.log("Cancelled -> " + imageData.cancelled);
        }, function(error){
            console.log("An error happened -> " + error);
        });
    };
});

$('.barCode').focus(function(){
    $('.barCode').val('');
});

Если кто-то может мне помочь...

Теги:
cordova

2 ответа

1

Наконец.. Чтобы сделать плагин работоспособным, я должен включить cordova.js (неважно, включен ли отказ в веб-браузере) и используйте ng-Cordova.

0

Ваш вызов выглядит иначе, чем в приведенном примере. Вы опускаете cordova.plugins

cordova.plugins.barcodeScanner.scan(
  function (result) {
      alert("We got a barcode\n" +
            "Result: " + result.text + "\n" +
            "Format: " + result.format + "\n" +
            "Cancelled: " + result.cancelled);
  }, 
  function (error) {
      alert("Scanning failed: " + error);
  }

);

  • 0
    Да, я не заметил этого в своем предыдущем посте, но я уже проверял некоторые разные звонки. Когда я использую cordova.plugins , у меня возникает ошибка: cordova is not defined

Ещё вопросы

Сообщество Overcoder
Наверх
Меню