flutter-PDA一次扫描触发二次接口

//上此扫描结束时间
int exitTime = 0;
//上此扫描结束文本
String tempCode = "";

//解决PDA一次扫描触发两次
String getScanCode(String barcode) {
  if (barcode.isNotEmpty) {
    if ((DateTime.now().millisecondsSinceEpoch - exitTime) < 100) {
      if (tempCode == barcode.trim()) {
        logs("两次扫描相同: ${barcode.trim()}");
        return "";
      } else {
        tempCode = barcode.trim();
        logs("两次扫描不同: ${barcode.trim()}");
      }
      exitTime = DateTime.now().millisecondsSinceEpoch;
    } else {
      tempCode = barcode.trim();
      logs("一次扫描: ${barcode.trim()}");
      exitTime = DateTime.now().millisecondsSinceEpoch;
    }
  }
  return tempCode;
}

你可能感兴趣的:(flutter-PDA一次扫描触发二次接口)