Интеграция функции сканирования QR- или штрихкода
Штрихкод — это метод представления данных в визуальной и машиночитаемой форме. Штрихкод содержит сведения о продукте, такие как тип, размер, производитель, страна или регион происхождения в виде полос и пробелов. Код считывается с помощью оптического сканера на встроенной камере устройства. Для расширения возможностей совместной работы можно интегрировать возможности сканера QR или штрихкода, предоставляемые на платформе Teams, с вашим приложением Teams.
Вы можете использовать клиентскую библиотеку JavaScript в Microsoft Teams, которая предоставляет средства, необходимые приложению для доступа к возможностям собственного устройства пользователя. Используйте API scanBarCode для интеграции возможностей сканера в приложение.
Преимущества интеграции сканера QR или штрихкода
Ниже приведены преимущества интеграции возможностей сканера QR или штрихкода:
- Интеграция позволяет разработчикам веб-приложений на платформе Teams использовать функции сканирования QR-кода или штрихкодов с помощью клиентской библиотеки JavaScript для Teams.
- С помощью этой функции пользователю нужно только выровнять QR или штрихкод внутри рамки в центре пользовательского интерфейса сканера, и код сканируется автоматически. Сохраненные данные передаются вызывающему веб-приложению. Это позволяет избежать неудобств и человеческих ошибок при вводе длинных кодов продуктов или других важных сведений вручную.
Чтобы интегрировать возможности сканера QR или штрихкода, необходимо обновить файл манифеста приложения и вызвать API-интерфейс scanBarCode. Для эффективной интеграции необходимо хорошо понимать фрагмент кода для вызова API scanBarCode, который позволяет вам использовать собственные возможности сканера QR или штрихкода. API выдает ошибку для неподдерживаемого стандарта штрихкода. Важно ознакомиться с ошибками ответа API для управления ошибками в приложении Teams.
Примечание.
Поддержка microsoft Teams возможности сканера QR-кодов или штрихкодов доступна только для мобильных клиентов.
Изменение манифеста
Обновите файл manifest.json своего приложения Teams, добавив свойство devicePermissions
и указав media
. Он позволяет приложению запрашивать необходимые разрешения у пользователей, прежде чем они начнут использовать функцию сканера QR-кодов или штрихкодов. Измените манифест приложения, выполнив следующие шаги.
"devicePermissions": [
"media",
],
Примечание.
Приглашение Запрос разрешений автоматически отображается при запуске соответствующего API Teams. Дополнительные сведения см. в статье Запрос разрешений устройства.
ScanBarCode API
API scanBarCode вызывает элемент управления сканером, который позволяет пользователю сканировать различные типы штрихкодов и возвращает результат в виде строки.
Чтобы настроить процесс сканирования штрихкода, необязательная конфигурация штрихкода передается в качестве входных данных в API-интерфейс scanBarCode. Вы можете указать интервал времени ожидания сканирования в секундах с помощью timeOutIntervalInSec
. Его значение по умолчанию — 30 секунд, а максимальное значение — 60 секунд.
API scanBarCode() поддерживает следующие типы штрихкодов:
Тип штрихкода | Поддерживается в Android | Поддерживается в iOS |
---|---|---|
Кодовая панель | Да | Нет |
Код 39 | Да | Да |
Код 93 | Да | Да |
Код 128 | Да | Да |
EAN-13 | Да | Да |
EAN-8 | Да | Да |
Комиссия за международную транзакцию | Нет | Да |
QR-код | Да | Да |
Развернутый RSS | Да | Нет |
RSS-14 | Да | Нет |
UPC-A | Да | Да |
UPC-E | Да | Да |
На следующем изображении показано взаимодействие веб-приложения со сканером 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);
Пример кода
Название примера | Описание | .NET | Node.js | Манифест |
---|---|---|---|---|
Бот присоединяется к команде по QR-коду | В этом примере показано, как использовать функцию, с помощью которой пользователь может присоединиться к команде с помощью QR-кода, содержащего идентификатор команды через бота. | Просмотр | Просмотр | Просмотр |
Проверка продукта с вкладками | В этом примере приложения показано, как использовать функцию, с помощью которой пользователь может сканировать продукт, записывать изображение и помечать его как утвержденное или отклоненное. | Просмотр | Просмотр | Просмотр |
См. также
Platform Docs