gpt4 book ai didi

jquery - 条码网站交互

转载 作者:行者123 更新时间:2023-12-01 08:25:50 25 4
gpt4 key购买 nike

我正在设计一个 Web 应用程序,并且正在考虑合并一些条形码读取功能以方便数据输入。假设我有一份 express 员需要完成的任务列表。我想打印类似于以下页面的内容:

+----------------------------------------------------------------------+
| Task List || || |||| || || ||| (a) |
| |
| Task One ||| || |||||| || ||| (b) |
| Task Two ||| || || | | || ||| (c) |
| Task Three | |||||| || ||| |||| (d) |
| |
| ||||| |||| || || ||| (e) |
+----------------------------------------------------------------------+

条形码由 ||||| 表示| ||| || (x) 在每行的末尾。使用条形码 servlet 来打印页面应该是直接的。我希望有一种通用方法来拦截这些条形码并在 jQuery 中执行操作。例如:

  • 条形码 (a) 可以是 goto:/tasklist/123:
  • 条形码 (b)、(c) 和 (d) 可以是 add:31222:add:31223add:31224:
  • 条形码 (e) 可以是 submit::

扫描条形码(a)时,我会转到该页面。扫描条形码 (b)、(c)、(d) 时,我会在页面中填充文本输入。当扫描条形码(e)时,我会提交表格。我正在考虑在每个页面上提供某种形式的 jQuery 监听器,我可以根据条形码的第一个命令向其注册操作。我知道我可以对条形码设备进行编程以合并一些逻辑,但想避免它,这样任何条形码都可以,而我不必对它们进行编程。

我什至认为每个条形码可能都必须以一些魔术标记开头,以区分常规输入和条形码输入。也许类似于 $**$:goto:/tasklist/123:。那么问题是我将如何执行 jQuery 来拦截这组命令,以及为我创建的不同操作注册处理程序的正确方法是什么(例如: $**$:add:31222:)?

最佳答案

我已经完成了类似的应用程序,所以这是我的两分钱。

USB 扫描仪的工作原理基本上类似于 USB 键盘。大多数设备会发送回车键作为终止字符,但这可以在大多数设备上进行配置。我依靠终止符来驱动 UI 中的操作。 (默认情况下,Enter 将提交当前选定的表单。)

另一个问题是,如果这是一个移动应用程序,您确实希望尽可能避免与服务器的往返。我通过在 UI 中添加大量应用程序逻辑解决了这个问题,但是所有业务逻辑仍然在服务器上,因此为了使操作生效,用户需要连接并能够 POST 到服务器。

所以,这是你问题的核心。考虑这样的事情:

var state = 'WAITING'; # super simple state

function add(data) {
# courier checks an item, 'data' contains the data from the scanner
}

function input_handler(input) {
if (state == 'WAITING') {
if (input == 'DONE' || input == 'EXIT') {
state = 'DONE';
# abort, whatnot
} else {
state = 'SCAN';
input_handler(input); # recurse, with new state
}
} else {
add(input);
}
}

这基本上是一个状态机,手动编码。当 express 员检查“我想开始扫描此订单”条形码时,您将进入一种模式,其中每个输入都会进入您的扫描处理程序。当他扫描“我完成了”条形码时,您验证结果等。这可以通过实际使用真实状态机来改进。

您应该使条形码尽可能简单。像“SCAN”、“EXIT”、“NOTHING_MORE_TO_SCAN”这样的命令都很好,因为它们是通用的,您的应用程序不需要解析条形码的含义。

保持简单的另一个原因是,您遇到标签已损坏且无法扫描的情况。那么用户必须能够手动输入数据,而无需花费额外的时间查找特殊字符等。

关于jquery - 条码网站交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3974446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com