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();