From b8c1a398069605ae9ef9c2aed084b8c36b1c1574 Mon Sep 17 00:00:00 2001 From: yuchenglong Date: Tue, 2 Dec 2025 16:07:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=BA=AB=E4=BB=BD=E8=AF=81?= =?UTF-8?q?=E8=AF=BB=E5=8F=96=E6=B5=81=E7=A8=8B=EF=BC=9A=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=AF=BB=E5=8D=A1=E5=92=8C=E9=80=89=E5=8D=A1=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E7=9A=84=E9=87=8D=E8=AF=95=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- electron/idcard-worker.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/electron/idcard-worker.js b/electron/idcard-worker.js index e91ed9f..5638f3d 100644 --- a/electron/idcard-worker.js +++ b/electron/idcard-worker.js @@ -166,12 +166,21 @@ async function startListen() { // koffi 会自动处理结构体内存分配 while (running) { - // 寻卡 - api.Syn_StartFindIDCard(port, iin, 0); - // 选卡 - api.Syn_SelectIDCard(port, sn, 0); + // 1. 寻卡 + if (api.Syn_StartFindIDCard(port, iin, 0) !== 0) { + // 未找到卡,等待后重试 + await new Promise((r) => setTimeout(r, 150)); + continue; + } - // 读卡 + // 2. 选卡 + if (api.Syn_SelectIDCard(port, sn, 0) !== 0) { + // 选卡失败,等待后重试 + await new Promise((r) => setTimeout(r, 150)); + continue; + } + + // 3. 读卡 const data = {}; // koffi 输出对象 const ret = api.Syn_ReadMsg(port, 0, data);