Commit Graph
58 Commits
Author SHA1 Message Date
Henry_Du def7afd5ce 1 2026-08-15 22:56:52 +08:00
Henry_Du c52d4dac03 perf(gate): 移除显示器握手等待循环,直接设置参数后继续
- 版本号 v1.5.32 -> v1.5.33
- handshakeMonitor:改为单次设置 scale/颜色/清屏即返回,不再循环重试
- waitForPeripherals:移除 handshakeDone 等待分支与 'Waking monitor...' 提示
- 显示器一旦发现立即调用 handshakeMonitor 完成初始化,不做额外阻塞等待
- MONITOR_HANDSHAKE_RETRIES 置 0 作为占位常量
2026-08-15 22:55:17 +08:00
Henry_Du 2748aa91ca perf(gate): 大幅优化启动速度与票卡事件响应
- 版本号从 v1.5.31 升级至 v1.5.32
- 启动参数优化:外设等待间隔 0.5s→0.2s、最大重试 40→20、握手重试 20→8、启动重绘时长 20s→3s
- handshakeMonitor:移除不必要的 clearOk 严格检查,满足 scale+size 即视为握手成功
- 移除启动阶段阻塞的两次同步 HTTP 请求(站名映射/远程版本),改由后台异步任务执行
- startupRedrawTask:简化为仅启动初重绘 3 次即进入长休眠,避免频繁重绘抢占主循环
- 票卡处理:扫描去重窗口 500ms→200ms、PASS 后回退休眠 0.35s→0.1s
- 后台版本检查:VERSION_CHECK_INTERVAL 5s→15s,降低网络占用
2026-08-15 19:45:20 +08:00
Henry_Du 228077a49c fix(gate): 修复缺失的 splitDisplayLines 函数定义导致的启动崩溃
- 添加 splitDisplayLines 函数,用于按换行符拆分多行显示文本
- 处理 nil 输入、空字符串及无换行场景的边界情况
- 版本号从 v1.5.30 升级至 v1.5.31
2026-08-15 19:25:19 +08:00
Henry_Du e18f732b38 fix(gate): 修复区块加载时检票机屏幕无显示问题 - 新增 monitor 握手阶段,所有 termDev 渲染调用加 pcall 保护,启动后 20 秒持续重绘热修复,修复 setServerConnected 重复定义丢失 queueEvent 的 bug (v1.5.30) 2026-08-11 17:25:31 +08:00
Henry_Du e76d0188db fix: 修复检票机首次加载黑屏及完善亮灯模块对接
- 增加外设初始化重试机制,等待monitor和检票机外设就绪(最多20秒),
  在等待期间显示进度提示,避免区块加载时脚本提前退出导致屏幕无显示
- 修复Socket.IO服务端未强制websocket传输配置,避免负载均衡环境下轮询产生400错误
- 所有业务拒绝(deny)场景下调用markFault触发红灯,包括:
  * 无效票/卡、卡ID缺失、票ID缺失
  * 站点不匹配、未进站/已出站、已进站/已出站
  * 余额不足、票价查询失败、网络错误
  * 外设写入/扣费失败等所有错误路径
- 版本号升级至v1.5.29
2026-08-11 14:29:03 +08:00
Henry_Du a59e9e60a4 feat(gate): 优化显示屏显示逻辑并更新版本
为 install_ticketmachine.lua 添加标准文件头注释
升级 gate.lua 版本至 v1.5.28
新增 splitDisplayLines 函数用于拆分多行显示文本
重构 draw 与 readyLine2 函数以支持多行状态文本的居中渲染
新增 displayStationCode 函数优化车站代码格式,移除 ST 前缀与多余空格
2026-07-31 12:43:58 +08:00
Henry_Du d685dee2a4 refactor(peripheral): 移除tm_gpu外设支持并清理冗余代码
删除gate.lua与ticketmachine.lua中所有与tm_gpu相关的代码逻辑,移除冗余的table.pack兼容函数与事件重写代码,简化外设发现与终端处理流程,同步更新两个文件的版本号。
2026-07-31 11:22:21 +08:00
Henry_Du 9c7e99633b fix(peripheral): 完善tm_gpu外设检测逻辑并升级版本号
新增scanForTmGpu函数用于遍历所有外设查找tm_gpu设备,在原有按类型匹配的查找失败时启用该后备逻辑,同时更新两个脚本文件的版本号。
2026-07-31 11:18:38 +08:00
Henry_Du 200dbda9bd feat(display): 新增tm_gpu外设显示支持并升级版本至v1.5.28
实现tm_gpu外设的终端包装与适配逻辑,将其纳入显示外设选择流程。
2026-07-31 11:10:39 +08:00
Henry_Du 7e72bbeae5 feat: 新增错误问题追踪与管理功能
- 升级程序版本至 v1.5.25
- 新增对比度文本颜色计算与垂直滚动条绘制工具函数,优化选择界面滚动显示
- 网页端新增问题记录管理页面,配套完整的表格与详情展示样式
- 实现issue记录标准化处理、实时事件推送接收与按时间倒序排序展示
- 重构原有选择界面的滚动逻辑,替换为通用滚动条绘制函数
2026-07-29 12:29:54 +08:00
Henry_Du 77b487c326 feat(gate): support passing stationId to markEntered API 2026-07-17 00:44:37 +08:00
Henry_Du 1f5bc1d40d fix(gate): support java peripheral markEntered and bypass missing updateICCard 2026-07-17 00:33:35 +08:00
Henry_Du 2096dd8d89 fix(gate,installer): 修复进站刷卡字段兼容并清理安装器头注释 2026-07-17 00:19:35 +08:00
Henry_Du 690173c522 3 2026-07-11 16:52:02 +08:00
Henry_Du 3040b294ef 2 2026-07-11 16:48:02 +08:00
Henry_Du 1265deca0f 1 2026-07-11 16:41:18 +08:00
Henry_Du ca9805f13a fix(gate): use unique cache busting file names again to break any potential loop 2026-07-11 16:36:50 +08:00
Henry_Du ef6af4bc62 fix(gate): fix attempt to call a nil value by moving checkAndApplyUpdate to the bottom 2026-07-11 16:32:48 +08:00
Henry_Du a228c24b33 fix(gate): use parallel background sync task for updates exactly like ticketmachine 2026-07-11 16:26:09 +08:00
Henry_Du c5cd4b6a95 fix(gate): correct update endpoint URL to use /api/check-update 2026-07-11 16:16:30 +08:00
Henry_Du 1d9f08d5c6 chore(backend,frontend): 移除设备位置管理全链路功能与相关代码
- 删除后端所有机器位置相关的API接口、缓存逻辑与后台同步任务
- 移除前端的机器位置导航入口、地图页面与管理代码
- 将原机器地图页面重构为车票查询页面
- 调整Lua程序的默认版本号
- 删除无用的.gitignore文件
- 优化前端页面的代码格式与导航结构
2026-07-11 16:05:20 +08:00
Henry_Du de187db646 fix: 即使无法获取GPS信号也上报机器在线状态,并升级版本至v1.5.18 2026-07-11 15:58:50 +08:00
Henry_Du f0b62eca49 版本号更新2 2026-07-11 15:49:53 +08:00
Henry_Du 84dbdf58c4 feat: 增加机器位置手动编辑功能及公开查看界面 2026-07-11 15:43:17 +08:00
Henry_Du efc061e471 feat: 新增设备位置追踪与网页管理页面
- 更新服务端默认Lua版本与客户端程序版本至 v1.5.16
- 新增后端API接口用于提交和查询设备位置数据
- 为售票机和检票机添加后台GPS位置同步任务,定期上报设备坐标
- 服务端新增设备位置缓存,并自动清理超过5分钟未更新的过期数据
- 新增网页端设备位置地图页面,支持实时展示、点击查看详情与每分钟自动刷新
2026-07-11 14:58:30 +08:00
Henry_Du 2eddb8b84c style: update OTA version indicators to lime/yellow/red and output errors to CC terminal 2026-07-11 13:03:44 +08:00
Henry_Du d5b7a51dae 测试2 2026-07-11 12:31:36 +08:00
Henry_Du 79ae234232 feat: decouple OTA updates into dedicated fast endpoints to avoid db timeouts 2026-07-11 12:22:48 +08:00
Henry_Du c9845ff15a test 2026-07-11 12:07:21 +08:00
Henry_Du 1f60c74ec2 feat: use simpler update_counter instead of timestamp for OTA updates 2026-07-11 12:00:20 +08:00
Henry_Du de29ecac84 revert: remove _update_ts injection as it breaks ticket scanning 2026-07-11 11:29:26 +08:00
Henry_Du 74b9754b7d feat: inject _update_ts into all JSON responses for global OTA updates 2026-07-11 11:17:07 +08:00
Henry_Du 6d0596f614 测试更新 2026-07-11 11:07:34 +08:00
Henry_Du b528a3ae56 refactor: remove unused update functions and variables 2026-07-11 11:02:08 +08:00
Henry_Du 0186e14eb2 fix: add sleep to show update errors before reboot 2026-07-11 10:53:03 +08:00
Henry_Du b0361fc366 feat: simplify OTA updates with timestamp 2026-07-11 10:50:00 +08:00
Henry_Du 3781f63708 测试更新 2026-07-11 08:06:54 +08:00
Henry_Du 2ffb449502 fix(update): 优化更新逻辑,添加错误提示并清理冗余代码
移除所有脚本文件的头部注释模板
删除installer.lua中未使用的splitCsv函数
重构静默更新逻辑,改用loadfile替代os.run以正确捕获执行错误
添加更新错误追踪机制,在界面版本指示器处显示失败提示
修复更新成功的判断条件
2026-07-11 00:20:11 +08:00
Henry_Du 446a8b0d09 feat(自动更新): 添加持久化版本追踪避免重复更新
新增读写本地版本记录文件的工具函数,调整自动更新触发逻辑仅在版本不一致时触发,更新成功后写入版本号;修复更新失败版本号的赋值问题,同时为安装脚本添加标准文件头注释
2026-07-11 00:09:43 +08:00
Henry_Du d848f1c438 gengx 2026-07-10 23:58:52 +08:00
Henry_Du f0b8db1662 fix: 修复更新逻辑,调整版本显示并同步版本号
- 新增失败更新版本跟踪变量,避免重复触发同一失败版本的更新
- 调整版本指示器的绘制逻辑,优化标记文本的显示效果
- 修复强制更新的触发校验条件,完善整体更新流程
- 初始化缺失的state变量并同步两个文件的程序版本号
2026-07-10 23:55:47 +08:00
Henry_Du 701cceee02 测试更新 2026-07-10 23:42:11 +08:00
Henry_Du 8a78034ad3 feat: 添加强制更新Lua脚本的配置并优化前端更新按钮
新增配置API的force_update字段返回与保存支持,更新终端Lua脚本逻辑以支持强制更新标记,同时简化前端更新按钮,移除模拟进度条并动态切换按钮状态与显示文本。
2026-07-10 23:38:03 +08:00
Henry_Du 78f302381a 版本号测试 2026-07-10 23:28:16 +08:00
Henry_Du fddffee348 fix(config): 增加cfg的类型检查避免运行时报错
修改gate.lua和ticketmachine.lua中的版本更新判断逻辑,新增对cfg变量的类型检查,避免当cfg为nil或非table类型时触发访问异常,提升代码健壮性。
2026-07-10 23:17:34 +08:00
Henry_Du 0ef09239fd refactor(gate.lua): 重构票务设备状态更新逻辑,提取公共工具函数
将原handleScan中重复的票务设备状态更新代码封装为统一的处理函数,替换原有冗余的遍历更新逻辑,提升代码可读性与可维护性。
2026-07-10 21:39:01 +08:00
Henry_Du 33155ef2ed feat(更新逻辑): 调整更新触发逻辑,新增force_update配置控制
同步修改ticketmachine.lua和gate.lua,新增配置项判断逻辑替代原有的自动更新标记代码
2026-07-10 21:35:18 +08:00
Henry_Du f1cdfe3a84 fix: 修复票据详情设备ID缺失并优化自动更新逻辑
- 为票据详情接口添加设备字段兼容映射,支持从e.device/e.device_id/e.detail?.device获取值
- 更新设备ID缺失问题的调试文档,标记已验证的假设并补充最终结论
- 优化售票机和闸机的自动更新逻辑:缩短版本检查间隔至5秒,添加更新中状态标识,改为事件触发更新
2026-07-10 21:32:17 +08:00
Henry_Du 4daa0b6185 feat: 优化自动更新逻辑,移除单程票购票并升级版本至1.0.18
升级package.json版本至1.0.18;重构update_gate.lua和update_machine.lua,支持--silent静默运行参数,统一日志输出逻辑;优化ticketmachine.lua和gate.lua的自动更新触发逻辑,新增设备空闲检测,避免打断用户操作,仅在空闲时执行静默更新后重启设备;修复ticketmachine.lua中state变量重复声明的问题;移除Web端ticket-order相关的单程票购票UI与业务逻辑,简化购票流程;将gate.lua中的版本检查间隔从5秒调整为60秒,优化设备ID显示格式。
2026-07-10 20:51:34 +08:00