From 1f5bc1d40d79d750cb69d92c5f8f8a0120da4d29 Mon Sep 17 00:00:00 2001 From: HenryDu8133 <813367384@qq.com> Date: Fri, 17 Jul 2026 00:33:35 +0800 Subject: [PATCH] fix(gate): support java peripheral markEntered and bypass missing updateICCard --- gate.lua | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gate.lua b/gate.lua index 507baa4..110ba07 100644 --- a/gate.lua +++ b/gate.lua @@ -1,7 +1,7 @@ local DEFAULT_SERVER_BASE = "https://ticket.fse-media.group" local DEFAULT_SERVER_PATH = "/api/tickets/check" local GATE_OPEN_SECONDS = 2 -local VERSION = "v1.5.24" +local VERSION = "v1.5.25" local VERSION_CHECK_INTERVAL = 5 local serverURL = nil @@ -1003,7 +1003,8 @@ local function applyTicketDeviceState(dev, action, rides) end local function updateICCardField(dev, key, value) - if type(dev) ~= "table" or type(dev.updateICCard) ~= "function" then return false end + if type(dev) ~= "table" then return false end + if type(dev.updateICCard) ~= "function" then return true end local okCall, okRes, detail = pcall(dev.updateICCard, key, value) if not okCall then return false, tostring(okRes) end if okRes == false then return false, tostring(detail or "update_failed") end @@ -1255,13 +1256,10 @@ local function handleICCardScan(scan, side, scanDev) end for _, dev in ipairs(inspectionDevs) do + applyTicketDeviceState(dev, usedAction) if usedAction == "entry" then - updateDeviceField(dev, "entered", true) - updateDeviceField(dev, "exited", false) if #entryStation > 0 then updateDeviceField(dev, "entry_station", entryStation) end else - updateDeviceField(dev, "exited", true) - updateDeviceField(dev, "entered", false) if #exitStation > 0 then updateDeviceField(dev, "exit_station", exitStation) end updateDeviceField(dev, "last_fare", fare) end