旧预检逐行查询词库,80 行线上实测 27.502 秒,超过管理端 20 秒请求限时。改为一次集合查询匹配 GeneralID / 单元与单词;保留旧表头、有效目录、重复行和跨帐套校验。保存与预检共用字段长度规则(单词 200、释义 4000、音标 500、例句 8000、音频地址 2000)。
新客户端通过 incremental:true 分批提交,每次最多 5 行、约 5 秒后在行边界停止,逐行保存结果。事务级 advisory lock 防止同一批次重叠写入;连接终止后锁自动释放。失败重试只处理失败行,已成功 / 无变化行跳过。每行响应丢失后的恢复仍通过现有“单元+单词”查重避免重复创建。旧客户端仍收到完整终态,失败返回 409,不会把部分完成当全部成功。
页面显示真实进度、失败行号、单词及具体原因;超时先回读状态,不能把失去响应判成整批失败。只将批次 ID 存入按当前管理员与帐套隔离的 sessionStorage,刷新或重进页面可恢复,完成后清除;不缓存原始 Excel 或凭证。导入中的弹窗、目标单元和文件选择不能切换。导入请求单独使用 60 秒上限,其他接口维持 20 秒。
本机详细证据:忽略目录 tmp/vocabulary-audit/,其中 fixed-performance.json、fixed-commit.json 为真实数据库隔离验证记录。正式接口和管理端已于 2026-10-30 发布,部署及正式接口验收见 当天上线记录。
先对线上运营网关选择性更新词库校验 / 预检 / 分批提交 / 状态函数,保留线上其他独立修复,再发布管理端。无需新建数据表或迁移字段,进度复用 ContentImportBatch 的既有字段。不要整份覆盖线上网关;保留回退基线。新前端依赖新接口的增量协议,应按此顺序发布。