【问题标题】:Flutter response after scan扫描后的颤振响应
【发布时间】: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


【解决方案1】:

这样的代码并将此类调用到小部件中。

    class ScanResponse {
  String status;

  ScanResponse({this.status});

  factory ScanResponse.fromJson(Map<String, dynamic> jsonData) {
    return ScanResponse(
      status: jsonData['status'],
    );
  }
}

【讨论】:

    猜你喜欢
    • 2019-01-04
    • 1970-01-01
    • 2020-04-18
    • 2020-08-23
    • 2021-06-16
    • 1970-01-01
    • 2021-11-22
    • 2020-12-16
    • 1970-01-01
    相关资源
    最近更新 更多