Флаттер: получить информацию по отсканированному номеру штрих-кода - PullRequest
0 голосов
/ 19 января 2020

Я новичок во Flutter, и в настоящее время я работаю над приложением, которое требует считывания штрих-кода. Поэтому я использовал библиотеку barcode_scan , и теперь я могу получить номер штрих-кода из отсканированного штрих-кода.

Для ясности, Я не спрашиваю, как сканировать штрих-код / ​​получить номер штрих-кода.

Мой вопрос: как я могу получить больше информации о продукте из его номера штрих-кода во флаттере (например, название продукта)? Могу ли я сделать это из библиотеки barcode_scan или мне понадобится что-нибудь еще?

Редактировать: Забыл упомянуть, что при сканировании QR-кодов я могу получить информацию, которую он кодирует ( например, название продукта или URL), но это не относится к штрих-кодам.

Мой текущий (соответствующий) код выглядит следующим образом:

String result = 'Hey there!';

Future scanBarcode() async {
    if(await Permissions.checkCameraPermission()) {
        try {
            await BarcodeScanner.scan().then((scan_result) {
            //here scan_result is the obtained barcode number
            setState(() { result = scan_result; });
        });

        }
        //handling exceptions...
    }
    else {
        setState(() { result = 'Camera permission denied'; });
    }
}

(примечание здесь, здесь Permissions.checkCameraPermission() - это функция, созданная мной для проверки разрешения камеры, не должна относиться к вопросу).

Ответы [ 2 ]

0 голосов
/ 25 января 2020

Что ж, похоже, единственный возможный способ сделать это из Flutter - это использовать API поиска штрих-кода, такой как @RichardHeap, предложенный в комментариях. Если бы мое приложение было только Flutter (без подключенного к нему бэкэнд-сервера), я думаю, я бы пошел этим путем. на стороне сервера.

0 голосов
/ 20 января 2020

Я использую тот же плагин для сканирования штрих-кода или QR-кода для моего приложения флаттера ..

String result = 'Hey there!';

Future scanBarcode() async {
    if(await Permissions.checkCameraPermission()) {
        try {
            // I get the scan result from BarcodeScanner this way and it is working for me.
            result = await BarcodeScanner.scan();
        }
        //handling exceptions...
    }
    else {
        setState(() { result = 'Camera permission denied'; });
    }
}
...