【发布时间】:2021-10-23 19:59:22
【问题描述】:
我需要帮助重新使用 qr_code_scanner 进行扫描,扫描器成功但不知道如何调用响应成功与否。这里是例子。
void _onQRViewCreated(QRViewController controller) {
this.controller = controller;
controller.scannedDataStream.listen((scanData) async {
controller.pauseCamera();
var response = await ScanApi.scan(scanData.code);
print(response);
result = scanData;
setState(() {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text("check"),
content: SingleChildScrollView(
child: ListBody(
children: <Widget>[
Text('Data: ${scanData.code}'),
],
),
),
actions: <Widget>[
TextButton(
child: Text('Ok'),
onPressed: () {
Navigator.of(context).pop();
},
),
],
);
},
).then((value) => controller.resumeCamera());
和我的示例 api 帖子以获得响应。
static Future<dynamic> scan() async {
final url = Uri.parse(url);
final response = await http.post(url);
if (response.statusCode == 200) {
final String msg = json.decode(response.body)["status"];
print(msg);
return msg;
} else {
throw Exception();
}}
【问题讨论】:
-
这两个例子没有关系,因为扫描点和API请求是不同的东西,所以请多解释一下,我可以帮忙
-
api 扫描类是 ScanApi ,我的问题是如何在扫描后返回 msg。
标签: flutter