扫描仪接口

Frappe 使用开源库 Html5-QRCode,通过设备摄像头提供一种灵活的方式来处理条形码、二维码等输入。

frappe.ui.Scanner

new frappe.ui.Scanner({ ... })

创建一个新的 Scanner 实例,可用于扫描单个或多个条形码。

选项:

  • container:用于显示摄像头视频流的 DOM 元素。
  • dialog:如果设置为 true,将打开一个对话框来显示摄像头视频流。
  • multiple:如果设置为 false,将在成功扫描一次后停止扫描。
  • on_scan:用于处理扫描输入的回调方法。

以下是一个示例客户端代码,用于扫描单个条形码并将其记录到控制台。

new frappe.ui.Scanner({
 dialog: true, // open camera scanner in a dialog
 multiple: false, // stop after scanning one value
 on_scan(data) {
 console.log(data.decodedText);
 }
});

以下代码可用于持续扫描并处理扫描输入。

const scanner = new frappe.ui.Scanner({
 dialog: true, // open camera scanner in a dialog
 multiple: true, // stop after scanning one value
 on_scan(data) {
 handle_scanned_barcode(data.decodedText);
 }
});

要停止扫描,您可以关闭对话框或使用 scanner.stop_scan();