Files
fcs/lib/pages/widgets/barcode_scanner.dart

27 lines
747 B
Dart
Raw Permalink Normal View History

2021-09-10 16:33:52 +06:30
import 'package:barcode_scan2/platform_wrapper.dart';
2020-10-11 02:17:23 +06:30
2021-09-10 16:33:52 +06:30
Future<String?> scanBarcode() async {
2020-10-11 02:17:23 +06:30
try {
2021-09-10 16:33:52 +06:30
var scanResult = await BarcodeScanner.scan();
String barcode = scanResult.rawContent;
2020-10-11 02:17:23 +06:30
String gs = String.fromCharCode(29);
if (barcode.contains(gs)) {
var codes = barcode.split(gs);
barcode = codes.length >= 2 ? codes[1] : barcode;
2020-11-09 05:53:25 +06:30
} else if (barcode.startsWith("96")) {
if (barcode.length == 34) {
int start = barcode.length - 12;
barcode = barcode.substring(start);
} else if (barcode.length == 22) {
int start = barcode.length - 15;
barcode = barcode.substring(start);
}
2020-10-11 02:17:23 +06:30
}
return barcode;
} catch (e) {
print('error: $e');
return null;
}
}