Интеграция функции сканирования QR- или штрихкода

В этом документе содержится руководство по интеграции возможностей сканера QR или штрихкодов.

Штрихкод — это метод представления данных в визуальной и машинной форме. Штрихкод содержит сведения о продукте, например типе, размере, изготовителе и стране происхождения в виде баров и пробелов. Код читается с помощью оптического сканера на вашей родной камере устройства. Для более насыщенного взаимодействия можно интегрировать функцию сканера QR или штрих-кода, предоставляемую на платформе Teams с Teams приложением.

Вы можете использовать Microsoft Teams JavaScript клиента SDK, который предоставляет средства, необходимые для вашего приложения, чтобы получить доступ к возможностям родного устройства пользователя. Используйте API scanBarCode для интеграции возможностей сканера в приложении.

Преимущество интеграции функции сканера QR или штрихкода

Ниже следующую возможность интеграции возможностей сканера QR или штрихкодов:

  • Интеграция позволяет разработчикам веб-приложений на Teams использовать функции сканирования QR или штрихкодов Teams клиентской SDK JavaScript.
  • С помощью этой функции пользователю необходимо выровнять QR или штрих-код в кадре в центре пользовательского интерфейса сканера, и код автоматически сканируется. Хранимые данные делятся с веб-приложением вызова. Это позволяет избежать неудобств и человеческих ошибок при вводе длинных кодов продуктов или других соответствующих сведений вручную.

Чтобы интегрировать возможности сканера QR или штрихкода, необходимо обновить файл манифеста приложения и вызвать API scanBarCode. Для эффективной интеграции необходимо хорошо понимать фрагмент кода для вызова API scanBarCode, который позволяет использовать родной QR или сканер штрихкодов. API предоставляет ошибку для неподдержаемой стандарта штрихкода. Важно ознакомиться с ошибками ответа API для обработки ошибок в Teams приложении.

Примечание

В настоящее Microsoft Teams поддержка возможностей сканера QR или штрихкодов доступна только для мобильных клиентов.

Манифест обновления

Обновите Teams приложение manifest.jsфайле, добавив devicePermissions свойство и указав media . Это позволяет приложению запросить необходимые разрешения у пользователей, прежде чем они начнут использовать функцию сканера QR или штрихкода.

"devicePermissions": [
    "media",
],

Примечание

Запрос разрешения запроса автоматически отображается при Teams API. Дополнительные сведения см. в запросе разрешений устройств.

ScanBarCode API

API scanBarCode вызывает управление сканером, которое позволяет пользователю сканировать различные типы штрихкода и возвращает результат в качестве строки.

Чтобы настроить функцию сканирования штрихкодов, необязательная конфигурация штрихкода передается в качестве ввода в API scanBarCode. Вы можете указать интервал времени сканирования в секундах с помощью timeOutIntervalInSec . Его значение по умолчанию — 30 секунд, а максимальное — 60 секунд.

API scanBarCode() поддерживает следующие типы штрихкодов:

Тип штрихкода Поддерживается на Android Поддерживается на iOS
Codebar Да Нет
Код 39 Да Да
Код 93 Да Да
Код 128 Да Да
EAN-13 Да Да
EAN-8 Да Да
ITF Нет Да
Код QR Да Да
Расширение RSS Да Нет
RSS-14 Да Нет
UPC-A Да Да
UPC-E Да Да

Опыт работы с веб-приложением для ScanBarCode API для возможностей веб-приложения для QR или сканера штрихкодов для  функции сканера qr или штрихкодов

Обработка ошибок

Необходимо обеспечить надлежащее обработку этих ошибок в Teams приложении. В следующей таблице перечислены коды ошибок и условия, при которых создаются ошибки:

Код ошибки Имя ошибки Условие
100 NOT_SUPPORTED_ON_PLATFORM API не поддерживается на текущей платформе.
500 INTERNAL_ERROR При выполнении необходимой операции встречаются внутренние ошибки.
1000 PERMISSION_DENIED Пользователю отказано в разрешении.
3000 NO_HW_SUPPORT Оборудование не поддерживает эту возможность.
4000 INVALID_ARGUMENTS Один или несколько аргументов являются недействительными.
8000 USER_ABORT Пользователь прерывает операцию.
8001 OPERATION_TIMED_OUT Не удалось обнаружить штрих-код в заданный интервал времени.
9000 OLD_PLATFORM Код платформы устарел и не реализует этот API.

Фрагмент кода

Вызов ScanBarCode() API для сканирования QR или штрихкода с помощью камеры:

const config: microsoftTeams.media.BarCodeConfig = {
  timeOutIntervalInSec: 30};
microsoftTeams.media.scanBarCode((error: microsoftTeams.SdkError, decodedText: string) => {
  if (error) {
    if (error.message) {
      output(" ErrorCode: " + error.errorCode + error.message);
    } else {
      output(" ErrorCode: " + error.errorCode);
    }
  } else if (decodedText) {
    output(decodedText);
  }
}, config);

См. также