From cc8f6c29c72527610aeb72576d1d8286c4bb56e5 Mon Sep 17 00:00:00 2001 From: Youngbin Han Date: Thu, 25 Jul 2024 21:26:34 +0900 Subject: [PATCH] Fix QR checking data parsing error --- lib/checkInByBarcodeScreen.dart | 9 ++++----- lib/kioskclient.dart | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/checkInByBarcodeScreen.dart b/lib/checkInByBarcodeScreen.dart index 77fc87f..f44e2f9 100644 --- a/lib/checkInByBarcodeScreen.dart +++ b/lib/checkInByBarcodeScreen.dart @@ -105,12 +105,11 @@ class _CheckInByBarcodeScreenState extends State { labelText: 'Barcode data', ), onSubmitted: (value) async { - var rawQrJsonData = base64.decode(value).toString(); - var qrJsonData = json.decode(rawQrJsonData); - + var rawQrJsonData = utf8.decode(base64.decode(value)); + var qrJsonData = jsonDecode(rawQrJsonData); var serverResult = await kioskClient.checkInBySearch( - int.parse(qrJsonData['id']), - qrJsonData['passcode']); + qrJsonData['id'], + qrJsonData['passcode'].toString()); var participantData = await kioskClient .getParticipantById(qrJsonData['id']); var snackBar = SnackBar( diff --git a/lib/kioskclient.dart b/lib/kioskclient.dart index 3e84c2c..c2c6e5f 100644 --- a/lib/kioskclient.dart +++ b/lib/kioskclient.dart @@ -87,7 +87,7 @@ class KioskClient { var response = await http.get(url, headers: {'Authorization': 'Token $apiToken'}); var status = response.statusCode; - var result = jsonDecode(utf8.decode(response.bodyBytes)) as List; + var result = jsonDecode(utf8.decode(response.bodyBytes)); return (status == 200, result); }