113 lines
14 KiB
Markdown
113 lines
14 KiB
Markdown
# 版本验证记录
|
|
|
|
版本:1.0.1。验证日期:2026-10-16。
|
|
|
|
环境:Windows 10 专业版 x64,版本 10.0.19045。开发运行时 Node.js 24.19.0。
|
|
|
|
- 类型检查与生产构建通过。
|
|
- 新版 Excel 模板使用学校、年级、姓名三列;各列去除首尾空白后,以一个空格拼接收据客户名称。必填校验、列顺序调整和来源字段持久化均通过验证;旧记录仍可补打。
|
|
- 31 项核心测试通过:金额精度和越界、金额大写、Excel 日期制、错误行、重复行、模板转义、编号持久化、旧备份合并、分块打印、取消重试、不覆盖同名文件、PNG 物理密度。
|
|
- 实际 Electron 界面验证通过:保存偏好、绑定和选择本地印章、导出模板、导入含错误行的工作簿、独立 PDF 和 PNG、A4 一页两张、奇数张留空、原编号补打、备份与重启。
|
|
- 三张收据输出为三份独立 PDF、三份 300 DPI PNG,以及两页 A4 打印 PDF。
|
|
- 打包后的独立程序验证通过:不依赖项目 node_modules,启动、Excel 导入、盖章、PDF、PNG 均通过;PNG 分辨率标记为 11811 像素/米,约为 300 DPI。
|
|
|
|
安装包:release/ReceiptStudio-1.0.1-win-x64-setup.exe。
|
|
免安装目录:release/win-unpacked(整个目录一起使用)。
|
|
|
|
尚未进行实体打印机试打。交付后请由财务使用 A4、实际大小或 100% 比例试打一页,核对印章与裁切位置。
|
|
|
|
当前安装包未配置代码签名证书。
|
|
|
|
## 本地调试版:批量打印修复(2026-10-16)
|
|
|
|
- 复现旧版 ERR_INVALID_URL:较大印章重复嵌入批量页面,data 地址中的内容达到约 11.7 百万个字符,打印加载失败。
|
|
- 打印页面改用内存中的短本地地址,导出成功或失败后释放内容。类型检查、构建和 31 项测试通过。
|
|
- 实际 Electron 验证:41 张带印章收据,跨 40 张分块边界,输出 21 页 A4;原编号重试输出 41 份单张 PDF、41 份 PNG 和 1 份 A4 PDF,下一编号保持 REG00000042。
|
|
- 模拟页面加载失败,错误提示保留错误码、隐藏页面内容,失败不显示绿色成功提示;随后原编号重试成功。
|
|
- 验证产物:.qa/print-regression/result.json。使用独立测试目录,未改写用户设置、记录及编号。
|
|
- 本次修复更新源码与本地构建,未重新生成安装包。重新启动“启动本地调试.cmd”后生效。
|
|
|
|
## 本地调试版:记录表与批次删除(2026-10-16)
|
|
|
|
- 生成记录表头由 10px 调整为 12px,提高字重与文字对比度。
|
|
- 每条批次增加删除按钮和确认对话框。删除批次快照后,导出文件、编号归属与流水保留;生成中的批次禁止删除。
|
|
- 备份合并保留已删除批次的编号归属;删除前备份可恢复原批次,并拒绝其他批次占用同一编号。
|
|
- 类型检查、构建和 35 项测试通过。实际 Electron 验证删除取消、删除确认、文件保留、重启后删除生效及流水继续;1920 与 1120 像素窗口均检查表头和操作布局。
|
|
- 验证产物:.qa/history-delete-check/result.json。使用独立测试数据,未删除用户现有批次。
|
|
- 新增桌面接口和预加载桥接,需关闭程序并重新启动本地调试后使用删除功能。本次未重新生成安装包。
|
|
|
|
## 本地调试版:统一确认弹窗(2026-10-16)
|
|
|
|
- 引入开源 Reka UI 2.11.0,统一删除、重复生成、恢复备份、未保存设置和生成中退出的确认样式;组件随应用本地打包。
|
|
- 删除弹窗采用居中卡片、图标、批次详情、保留文件说明和明确操作按钮。取消默认聚焦,Tab 焦点保持在弹窗内,Esc 取消。
|
|
- 主进程请求使用随机 id 匹配回复,取消不批准操作,界面重载或关闭时撤销等待中的确认,防止遗留请求。
|
|
- 类型检查、构建和 39 项测试通过。实际 Electron 验证重复生成取消/继续、删除取消/确认、恢复备份取消/确认、未保存设置留存/放弃、界面重载后再次确认、生成中关闭窗口后继续生成。
|
|
- 文件和编号保持验证通过,未触发业务原生提示框,无界面脚本异常。验证记录:.qa/dialogs-check/result.json;外观截图:.qa/dialogs-check/delete-dialog.png。
|
|
- 使用独立测试配置,用户现有记录未改动。更新后需要重新启动本地调试,安装包未重新生成。
|
|
|
|
## 本地调试版:操作与刷新反馈(2026-10-16)
|
|
|
|
- 保存设置、列表刷新、Excel 导入与模板保存、印章切换、目录选择、备份恢复、批次查看/删除/重新导出均使用统一操作反馈。
|
|
- 操作时显示旋转图标与处理中说明,禁止重复点击;成功后短暂打勾。快速操作的反馈保持可见,相同成功提示再次触发入场动画。取消和失败不显示成功。
|
|
- 手动刷新保留原列表并淡化,完成后说明记录/印章数量;后台同步独立处理。预览显示加载覆盖层,导出取消反馈持续至任务结束。支持减少动画的系统偏好。
|
|
- 类型检查、构建与 39 项测试通过。实际 Electron 验证保存转圈/禁用/持久化/完成打勾/重复保存提示、印章刷新计数与切换反馈、刷新失败无成功状态、生成记录刷新、取消导入无成功提示;无界面脚本异常。
|
|
- 完整桌面操作验证通过:模板导入、错误行、选择印章、单张 PDF、300 DPI PNG、A4 排版、原编号重新导出、备份与重启。
|
|
- 验证记录:.qa/feedback-check/result.json、.qa/result.json。使用独立测试目录,用户记录未改动。本次只更新源码与本地构建。
|
|
|
|
## 本地调试版:改为板块整体加载(2026-10-16)
|
|
|
|
- 根据使用反馈,加载动画改为整个对应板块的浅色遮罩与居中转圈,处理完成后恢复;移除页面顶部的独立成功、错误提示条及按钮成功打勾反馈。
|
|
- 设置区域、印章区域、生成记录、收据数据、预览和导出分别关联自己的加载状态;加载内容使用 inert 阻止重复操作,错误留在对应板块内。
|
|
- 长页面滚动后,转圈指示器保持在可见区域;导出遮罩保留可操作的取消入口,取消后等实际任务结束才恢复。
|
|
- 类型检查与构建通过。实际 Electron 验证整块遮罩尺寸、内容不可交互、滚动后指示器可见、取消导入恢复、导出遮罩中可取消、刷新失败显示在板块内;未出现界面脚本异常。
|
|
- 完整桌面导入/设置/PDF/PNG/A4/原编号补打/备份/重启验证通过。1920、1440、1120 像素窗口及 A4 预览的列表铺满与底部分页布局验证通过。
|
|
- 验证记录:.qa/regions-check/result.json、.qa/result.json、.qa/layout-check/result.json。使用独立测试配置,用户记录未改动;未重新生成安装包。
|
|
|
|
## 本地调试版:确保转圈与合理的加载时机(2026-10-16)
|
|
|
|
- 使用独立的持续旋转动画,修复系统减少动态效果时进度图标停止的问题;保存、手动刷新等操作从首帧绘制后至少显示 500 毫秒。加载仍覆盖对应板块,不增加顶部提示条。
|
|
- 选择/打开文件夹、绑定印章目录及切换印章不增加人为加载等待。预览自动更新保留短延迟以避免闪烁,工作台手动刷新直接显示完整半秒反馈。
|
|
- 增加主进程处理阶段通知:导入、保存模板、备份、恢复和删除在选好文件或确认之后才显示加载,取消选择或确认直接结束。
|
|
- 新增 test:loading 实际窗口逐帧验证。普通和减少动态效果两种设置下旋转角度持续改变,保存、三处刷新入口、导入、模板、备份恢复和确认删除实测约 520~534 毫秒;取消文件夹选择约 4 毫秒,未产生遮罩。
|
|
- 构建、类型检查、39 项单元测试和完整桌面导入/PDF/PNG/A4/原编号重导出/备份/重启验证通过。删除确认后保留已分配编号;无界面脚本异常。
|
|
- 验证记录:.qa/loading/result.json、.qa/result.json。全部使用独立测试配置,用户记录未改动。需要重新启动本地调试加载新的处理阶段接口;未重新生成安装包。
|
|
|
|
## 本地调试版:按学校、年级、收费项目分层导出(2026-10-19)
|
|
|
|
- 保留原有最外层批次目录命名,内部按“学校 → 年级 → 收费项目”创建目录;单张 PDF、PNG 和对应分组的 A4 打印版保存在项目目录,生成清单保留在批次根目录。
|
|
- 分组打印独立排版,组内保持 Excel 顺序,非连续行可归入同组;每组仍按 40 张分块,奇数张只在本组最后一页留空半页。打印分组失败后继续其他分组,并累计正确的成功/失败张数。
|
|
- 目录名处理非法字符、保留名、超长名称和大小写冲突。旧记录缺少学校或年级时使用未分类目录,不修改原客户名称。重新导出沿用原编号,保留同名文件追加后缀的规则。
|
|
- 43 项测试通过,覆盖三层文件位置、混合分组、清单相对路径、旧记录、目录冲突、取消重试、分组失败与 81 张分块排版。类型检查和构建通过。
|
|
- 实际 Electron 桌面验证导入、设置、单张 PDF、300 DPI PNG、三个独立 A4 分组、原编号分层重新导出、备份与重启通过。较大印章 41 张同组收据正确生成 21 页 A4,失败后原编号重试生成 42 个 PDF、41 个 PNG,通过错误摘要检查。
|
|
- 验证记录:.qa/result.json、.qa/print-regression/result.json。测试使用隔离配置与目录,用户记录未改动。重启本地调试后生效;未重新生成安装包。
|
|
|
|
## 本地调试版:简化设置与移除备份(2026-10-19)
|
|
|
|
- 移除备份、恢复备份和“更多偏好与数据备份”折叠区域,同时移除预加载接口、IPC 处理、界面操作和数据库备份合并代码。单张文件命名设置移到“文件与常用选择”板块。
|
|
- 独立批次目录和成功后自动打开输出目录改为固定启用,不再显示开关。旧配置曾保存为关闭时,读取后自动启用;其余偏好保留。下次保存设置时持久化这两项启用状态,旧记录和编号不变。
|
|
- 从含旧关闭状态的历史快照重新导出也创建新的独立批次目录;原导出文件保留。
|
|
- 类型检查、构建和 41 项测试通过,包含旧配置读取/保存兼容及取消后原编号独立目录重试。已移除不再适用的备份测试。
|
|
- 实际 Electron 验证设置页面入口和开关已移除、单张命名设置直接可见、备份 API 不再暴露、旧配置自动启用、新生成与重新导出均自动打开正确批次目录、重启后设置和编号连续。完整 PDF/PNG/A4/分层导出验证通过,设置页面截图已检查。
|
|
- 加载动画实际窗口验证通过,保存/刷新仍连续旋转半秒,选择文件夹不显示遮罩,删除确认和取消行为正常。
|
|
- 验证记录:.qa/result.json、.qa/loading/result.json;截图:.qa/02-settings.png。测试使用隔离目录,用户记录及已有备份文件未改动;未重新生成安装包。重启本地调试后生效。
|
|
|
|
## 本地调试版:命名示例、分组核对与记录查找(2026-10-19)
|
|
|
|
- 文件命名设置改为“导出的文件叫什么名字”,三种规则用日常表述展示;按当前前缀、选中数据和格式实时给出示例,正式导出与示例共用命名和字符处理函数。
|
|
- 导入后展示学校、年级、收费项目三级核对树。支持整组勾选、取消和部分选中状态,张数与金额实时更新;错误行单独计数且不可生成。多组数据按需展开,同级每次显示 50 项,减少初次渲染量。
|
|
- A4 预览按已选同组收据定位当前行所在页,保持实际导出的分组、空白半页和编号顺序,不推进流水号。
|
|
- 生成记录增加分类摘要及学校/年级/项目筛选,文本查找支持文件名、姓名和任意收据编号。组合条件匹配同一收据,最多返回 200 个匹配批次,覆盖更早记录;匹配信息显示姓名、编号和张数,预览直接显示匹配的原收据。重新导出维持完整批次语义,界面有明确说明。
|
|
- 类型检查、构建与 45 项测试通过,覆盖非连续行分组、错误行排除、A4 预览选页、组合条件、批次中间编号、姓名及 200 批以前的旧记录和目录归属;历史查找和预览不分配新编号。
|
|
- 实际 Electron 验证三种命名示例、分组勾选及父级部分选中、错误组禁用、分组 A4 预览、组合筛选无误命中、中间编号及姓名查找、匹配原收据预览、清空筛选、60 所学校按需加载及整组取消。完整 PDF/PNG/A4、原编号重导出和重启验证通过,无界面脚本异常。
|
|
- 加载动画验证通过,保存与刷新继续显示半秒持续旋转,选择文件夹、导入取消及删除确认保持原交互。
|
|
- 验证记录:.qa/result.json、.qa/loading/result.json;页面截图:.qa/02-settings.png、.qa/03-import-preview.png、.qa/05-history-filter.png。使用隔离测试配置,用户现有记录未改动;未重新生成安装包。重启本地调试后生效。
|
|
|
|
## 本地调试版:生成记录分页(2026-10-19)
|
|
|
|
- 生成记录默认每页 5 条,可选 5/10/20/50,列表底部显示真实总条数、当前条目范围、首页/上一页/页码/下一页/末页。每页条数保存在偏好设置中,切换板块或重启后继续使用上次选择。
|
|
- 新增 listBatchPage 查询当前页及总数,分页覆盖全部历史记录;保留原 listBatches 的调用兼容。无筛选采用数据库 COUNT/LIMIT/OFFSET,有筛选按全部匹配批次计数,避免先截取 200 条再分页。侧边栏同步显示真实总数。
|
|
- 筛选条件或每页条数改变后回到第一页;刷新保留当前页,删除末页记录后自动回到有效页。显式翻页沿用板块整体加载反馈,保留查询版本检查。
|
|
- 类型检查、构建及 46 项测试通过,覆盖默认条数、分页不重复、每页 10/50 条、筛选总数、空结果、页码越界、删除末页、201 条记录的最后一页以及旧配置默认值与条数保存。
|
|
- 新增隔离桌面验证 test:history,使用 13 个测试批次实际验证五条分页、范围和边界按钮、翻页、条数切换、筛选回首页、清空筛选、跨板块/重启记忆、逐条删除末页自动回退,流水号保持不变;截图已检查,无界面脚本异常。完整桌面导入/分组/PDF/PNG/A4/原编号补打/重启验证通过。
|
|
- 验证记录:.qa/history-pagination/result.json、.qa/result.json;截图:.qa/history-pagination/pagination.png。测试使用隔离配置,用户记录未改动;未重新生成安装包。重启本地调试后生效。
|