получить значение штрих-кода от переменной javascript до php - используя quagga.min. js - PullRequest
0 голосов
/ 02 мая 2020

Я использую Quagga.min. js, чтобы получить штрих-код с веб-страницы, который будет действовать как устройство ввода / вывода тактовых импульсов

Этот скрипт находится в индексе. php и работает хорошо. Я вижу код, зарегистрированный в консоли правильно.

Barcode detected and processed : [003] {codeResult: {…}, line: Array(2), angle: -0.0032847027625808128, pattern: Array(145), threshold: undefined, …}angle: -0.0032847027625808128box: (4) [Array(2), Array(2), Array(2), Array(2)]boxes: [Array(4)]codeResult: code: "003"decodedCodes: (3) ["0", "0", "3"]direction: -1end: 0format: "code_39"start: 122startInfo: {start: 23, end: 45}__proto__: Objectline: (2) [{…}, {…}]pattern: (145) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, …]threshold: undefined__proto__: Object

Как я могу получить это в php переменную $employeeid или (javascript переменная? ), а затем передайте это в поля формы ниже.

<form action="/clockin.php" method="get">
<input type="text" name="employeeid" id="employeeid" value="<php? echo $employeeid ;?>" hidden>
<input type="submit" value="Clockin">
</form>

<form action="/clockout.php" method="get">
<input type="text" name="employeeid" id="employeeid" value="<php? echo $employeeid ;?>" hidden>
<input type="submit" value="Clockout">
</form>

Код javascript приведен ниже для справки

Спасибо

<script>
    var _scannerIsRunning = false;

    function startScanner() {
        Quagga.init({
            inputStream: {
                name: "Live",
                type: "LiveStream",
                target: document.querySelector('#scanner-container'),
                constraints: {
                    width: 480,
                    height: 320,
                    facingMode: "environment"
                },
            },
            decoder: {
                readers: [
                    "code_128_reader",
                    "ean_reader",
                    "ean_8_reader",
                    "code_39_reader",
                    "code_39_vin_reader",
                    "codabar_reader",
                    "upc_reader",
                    "upc_e_reader",
                    "i2of5_reader"
                ],
                debug: {
                    showCanvas: true,
                    showPatches: true,
                    showFoundPatches: true,
                    showSkeleton: true,
                    showLabels: true,
                    showPatchLabels: true,
                    showRemainingPatchLabels: true,
                    boxFromPatches: {
                        showTransformed: true,
                        showTransformedBox: true,
                        showBB: true
                    }
                }
            },

        }, function (err) {
            if (err) {
                console.log(err);
                return
            }

            console.log("Initialization finished. Ready to start");
            Quagga.start();

            // Set flag to is running
            _scannerIsRunning = true;
        });

        Quagga.onProcessed(function (result) {
            var drawingCtx = Quagga.canvas.ctx.overlay,
            drawingCanvas = Quagga.canvas.dom.overlay;

            if (result) {
                if (result.boxes) {
                    drawingCtx.clearRect(0, 0, parseInt(drawingCanvas.getAttribute("width")), parseInt(drawingCanvas.getAttribute("height")));
                    result.boxes.filter(function (box) {
                        return box !== result.box;
                    }).forEach(function (box) {
                        Quagga.ImageDebug.drawPath(box, { x: 0, y: 1 }, drawingCtx, { color: "green", lineWidth: 2 });
                    });
                }

                if (result.box) {
                    Quagga.ImageDebug.drawPath(result.box, { x: 0, y: 1 }, drawingCtx, { color: "#00F", lineWidth: 2 });
                }

                if (result.codeResult && result.codeResult.code) {
                    Quagga.ImageDebug.drawPath(result.line, { x: 'x', y: 'y' }, drawingCtx, { color: 'red', lineWidth: 3 });
                }
            }
        });


        Quagga.onDetected(function (result) {
            console.log("Barcode detected and processed : [" + result.codeResult.code + "]", result);
        });
    }


    // Start/stop scanner
    document.getElementById("btn").addEventListener("click", function () {
        if (_scannerIsRunning) {
            Quagga.stop();
        } else {
            startScanner();
        }
    }, false);
</script>
...