Сканер QR кодов с поддержкой callback

Сканер QR кодов с поддержкой callback (digimatix.qrscanner) - решение для Битрикс

QR Scanner Pro: Сканер QR кодов с поддержкой callback функций

0
2 999 руб
Сканер QR кодов с поддержкой callback (digimatix.qrscanner) - решение для Битрикс



Модуль "QR Scanner Pro: Сканер QR кодов с поддержкой callback функций"

Модуль позволяет сканировать QR-коды и штрихкоды прямо на сайте без установки дополнительных приложений. С его помощью можно организовать учет и поиск товаров, регистрацию участников мероприятий, проверку билетов, работу с заявками и многое другое. Вы можете настроить переход на нужную страницу или подключить собственную PHP-функцию, которая определит, что делать с результатом сканирования. Готовые примеры помогают быстрее начать работу, а гибкая настройка компонента позволяет адаптировать его под разные сценарии и дизайн сайта.

Какие коды распознает?

QR Scanner Pro поддерживает распознавание QR-кодов, популярных двумерных кодов и линейных штрихкодов, которые используются в торговле, логистике, документообороте и других сферах.

  • QR Code – ссылки, контакты, текстовые данные и JSON.

  • Data Matrix – коды маркировки товаров, в том числе используемые в системе «Честный ЗНАК».

  • Aztec – электронные билеты и посадочные талоны.

  • PDF417 – документы, удостоверения и транспортные билеты.

  • EAN-13, EAN-8, UPC-A и UPC-E – распространенные товарные штрихкоды.

  • Code 128, Code 39, Code 93 и ITF – складская и логистическая маркировка, накладные и транспортная упаковка.

  • Codabar – коды, применяемые в отдельных библиотечных, медицинских и учетных системах.

Распознавание выполняется непосредственно на устройстве пользователя: модуль использует встроенные возможности браузера, если они недоступны, то JavaScript-механизм распознавания. Это позволяет считывать коды в современных браузерах без установки отдельного приложения.

1. Функциональные возможности модуля
  • Сканирование в режиме реального времени. Пользователь открывает страницу сайта и наводит ее на код. Сканер использует основную (заднюю) камеру устройства, код распознается автоматически без нажатия кнопки.

  • Сканирование из файла. Если камера недоступна, можно загрузить фотографию или скриншот с QR-кодом либо штрихкодом и считать данные из изображения.

  • Два режима обработки результата. Callback-функция позволяет передать содержимое кода в вашу PHP-функцию, а ее ответ показывается пользователю во всплывающем окне без перезагрузки страницы. Редирект позволяет отправить пользователя на указанную страницу.

  • Готовый обработчик для быстрого старта. В коробку входит пример обработки, который отображает JSON в виде списка, делает ссылки кликабельными, а обычный текст выводит без дополнительного форматирования.

  • Готовые демонстрационные страницы. После установки автоматически создается раздел <code>/qr/</code> с примерами работы обоих режимов обработки. Их можно использовать для знакомства с возможностями модуля и проверки его работы.

  • Размещение на любых страницах сайта. Компонент <code>digimatix:qr.scanner</code> можно разместить на любую страницу или шаблон сайта. Для разных страниц можно настроить отдельные сценарии и параметры.

  • Настройка внешнего вида. Шаблон компонента можно скопировать и изменить под дизайн сайта, настроив оформление, подсказки и другие элементы интерфейса.

  • Адаптивный интерфейс. Сканер подходит для использования на смартфонах и планшетах.

2. Преимущества модуля
  • Универсальность: реализует любые сценарии после сканирования (авторизация, верификация билетов, инвентаризация, приёмка, акции).
  • "Быстрый старт": рабочий пример и раздел /qr/ доступны сразу после установки.
  • Простая интеграция: поставил компонент на страницу — работает.
  • Гибкость дизайна: свои шаблоны, стили, подсказки, рамки наведения.
  • Масштабируемость сценариев: разные параметры компонента на разных URL под задачу.
  • Минимум настроек для маркетинга/контента; расширяемость для разработчиков.
3. Модуль может быть полезен
  • Интернет-магазины и розничные точки для поиска товара по штрихкоду, проверки маркировки, открытия карточки товара по QR-коду.

  • Организаторам мероприятий для проверки электронных билетов и регистрации посетителей.

  • Складам и логистическим компаниям для приема и учета товаров, сверки остатков и логистики продукции.

  • Сервисным компаниям для размещения QR-наклеек на оборудовании и быстрого перехода к связанной заявке, карточке объекта или форме обращения.

  • Компаниям с учетом посещаемости для регистрации сотрудников, учеников, участников мероприятий с помощью индивидуальных QR-кодов.

  • Ресторанам, кафе и гостиницам для создания электронного меню, перехода к страницам бронирования и программам лояльности, а также создания собственных сценариев работы с QR-кодами.

4. Как работать с модулем

  • Установите модуль. После установки автоматически появится раздел "/qr/" с компонентом digimatix:qr.scanner. Его можно использовать как готовую страницу для проверки работы сканера.
  • Выберите способ обработки QR-кода или штрихкодов: callback, URL-режим или собственных обработчик.
  • "Callback:" укажите в параметрах компонента функцию, например `Digimatix\QrScanner\Functions::ExampleQr($_REQUEST["data"]);` Реализуйте собственный обработчик, который получает `$_REQUEST["data"]` и выполняет нужные действия (запись в БД, показ модалки, редирект и т.п.).

  • "URL-режим": задайте URL, на который будет передан параметр с данными кода (GET/POST по настройке).

  • Настройте внешний вид. При необходимости скопируйте шаблон компонента в шаблон сайта и измените оформление, подсказки и рамку наведения, чтобы сканер соответствовал дизайну проекта.
  • Настройте сценарии для разных задач. Разместите компонент на нужных страницах и задайте для каждой свои параметры.
Пример минимального обработчика (callback)

<?php
namespace Digimatix\QrScanner;

class Functions {
public static function ExampleQr($data): void {
// Валидация/логирование
if (!is_string($data) || $data === '') { http_response_code(400); return; }

// Бизнес-логика: сохранить/проверить/уведомить
// \Bitrix\Main\Mail\Event::send([...]); // пример отправки письма

// Опционально: вывести ответ (если используете шаблон компонента)
echo 'OK';
}
}


Наш модуль уже успешно используют на наших проектах