GuDingZiChan/docs/2026-10-09_旧版打印助手兼容修复.md

1.6 KiB

旧版打印助手兼容修复

旧版 .NET 和 Electron 助手不发送 protocol_version 与 claim_token。强制新版协议导致已安装的助手无法领取任务,本次恢复缺省协议及协议 1 的正常领取、打印中和完成回报,无需用户先升级电脑上的助手。

  • 领取时由服务端生成带 legacy-v1: 标记的唯一凭据,仅允许该任务的已认证领取终端省略回报凭据;新版任务继续严格验证凭据,心跳版本变化不能降级任务校验。
  • 终端行锁与事务内忙碌检查避免旧 Electron 并行轮询同时领到多个任务。
  • 旧助手只领取从未领取过的新任务编号。人工核实旧任务未出纸后,在同一事务内关闭旧编号并创建新编号,防止晚到回报污染重新打印的任务。
  • 已完成任务不能被晚到失败回报覆盖;超时或打印开始后的失败仍进入待核实状态,不自动重新出纸,图片保留到结果确认。
  • 界面取消强制升级门禁,升级提示改为提高中断恢复可靠性的建议。

验证:前后端构建通过;后端全量测试 297 项通过、2 项隔离数据库测试默认跳过;独立本机 MySQL 打印集成测试 14 项全部通过;前端打印相关回归 14 项全部通过。集成测试包含旧协议无凭据完整流程、并发领取、跨终端拒绝、现代任务不可降级、过期结果、人工重派的新旧编号隔离及图片保留。

本次不修改数据库结构、认证策略、发布配置或打印助手安装包。生产部署和真实助手请求验收结果见本次部署回执。