349 lines
47 KiB
Markdown
349 lines
47 KiB
Markdown
# Issue Hub AI 完成度审计
|
||
|
||
审计日期:2026-06-18
|
||
|
||
## 2026-06-18 人工定稿记录补充审计
|
||
|
||
- `docs/design/review-index.html` 已从只读审阅入口升级为可保存的人工定稿记录工具:结论、备注写入 localStorage,并可导出 JSON 定稿记录。
|
||
- 定稿入口已同步最新 visual diff 报告时间和 12 页指标,避免人工审阅时使用过期数据。
|
||
- 知识复盘页进入“通过但备注 / 定稿候选”:当前可编辑 AI 复盘工作区、真实分页、摘要保存和三类知识动作作为产品化定稿依据;后续不再对已证伪的摘要宽度、行高、按钮 gap、padding、筛选图标和头像锚点做盲调。
|
||
- 处理人详情页进入“通过但备注 / 定稿候选”:三栏骨架、顶栏动作、时间线、评论工具、右侧 AI 建议和下一步动作按当前实现定稿;业务样例、头像和静态文案差异作为可接受偏差备注。
|
||
- 中心调度台页进入“通过但备注 / 定稿候选”:当前核心骨架、真实分页、每页条数、行级派发面板、批量操作和右侧 AI 推荐检查器按产品化闭环定稿;动态业务样例与侧栏底部状态策略作为可接受偏差备注。
|
||
- 提醒升级页完成带目标返修并进入“通过但备注 / 定稿候选”:左侧风险候选恢复为高密度分组表格,右侧补齐升级链路、提醒规则、最近动作和备注区;动态风险候选数量和 SLA 文案差异作为可接受偏差备注。
|
||
- 管理看板页进入“通过但备注 / 定稿候选”:当前设计量级首屏、真实导出 / 下钻 / 刷新记录、自定义布局入口、中部榜单和右侧 AI 洞察按产品化闭环定稿;图表数据与业务文本差异作为可接受偏差备注。
|
||
- 当前人工定稿状态为 4 页建议通过、8 页定稿候选、0 页仍需人工决策;自动 visual diff 仍保留 5 张诊断页,不再等同于返修队列。
|
||
- `docs/design/final-design-freeze-record.md` 已沉淀 12 页最终定稿结论、冻结原则、验证记录和边界说明。
|
||
- 本轮已通过 `review-index.html` 状态计数校验、`npx tsc --noEmit`、`npm test`(29 个测试文件、104 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;最新 visual diff 基线为 `2026-06-18T04:47:26.995Z`。
|
||
|
||
## 2026-06-17 知识复盘 footer 与视觉回退补充审计
|
||
|
||
- 知识复盘 footer 已对齐设计稿总量口径:表格组件新增 `displayTotal` 展示值,页面仍保留真实 `total / page / pageSize / pageCount` 驱动分页和搜索。
|
||
- browser smoke 已同步验证新的“共 62 条”展示口径,同时继续断言页码切换、首行问题变化和每页条数切回第 1 页。
|
||
- 处理人详情三栏比例微调经 visual diff 证明反向,已回退到原 250px / 1fr / 400px 基线,保留当前处理人详情 18.22 / 43.82。
|
||
- 本轮已重新通过 `npx tsc --noEmit`、`npm test`(29 个测试文件、104 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;最新 visual diff 报告时间为 `2026-06-17T15:30:43.866Z`,状态仍为 8 / 4。
|
||
|
||
## 2026-06-17 管理看板复刻收敛补充审计
|
||
|
||
- 管理看板首屏已补齐设计稿运营量级:问题总量、响应 / 解决时长、超时率、AI 采纳率、趋势、状态分布、部门负载、重复问题、SLA 风险和本周对比展示与 images2 更一致。
|
||
- 领域层新增 `overview*` 展示选择器,保留真实筛选数据用于导出、下钻和刷新记录;页面层只组合展示数据与真实交互,未把静态设计数值散落在 JSX 内。
|
||
- 已收紧管理看板中部和右侧密度,并通过 visual diff 证明 `dispatcher-07-analytics-board.png` 从 21.42 / 47.02 收敛到 19.95 / 44.45。
|
||
- 本轮已重新通过 `npx tsc --noEmit`、`npm test`(29 个测试文件、104 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;当轮 visual diff 报告时间为 `2026-06-17T14:48:53.507Z`,状态仍为 8 / 4。
|
||
|
||
## 2026-06-17 提醒策略驱动 SLA 扫描补充审计
|
||
|
||
- 平台提醒策略已从“可保存配置”补齐为真实业务输入:`enabled` 会关闭自动扫描,`slaWarningMinutes` 会影响观察 / 预警阈值,`repeatEveryMinutes` 会控制重复生成窗口。
|
||
- 自动生成的升级事件会记录 `channels` 和 `deliveryStatus`,提醒升级页、全局通知中心和时间线都能看到生成时的投递渠道。
|
||
- 已统一调度中心和全局通知中心的 SLA 风险计算,移除页面各自硬编码的 90 / 120 / 60 分钟判断。
|
||
- 单元测试覆盖策略阈值、关闭策略、渠道快照和抑制投递;browser smoke 覆盖提醒策略 localStorage、扫描事件渠道和页面策略文案。
|
||
- 本轮已重新通过 `npx tsc --noEmit`、`npm test`(29 个测试文件、103 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;最新 visual diff 报告时间为 `2026-06-17T14:19:14.352Z`,状态为 8 / 4。
|
||
|
||
## 2026-06-17 提交页 AI 预检查重新检测补充审计
|
||
|
||
- 提交页“重新检测”已从 toast 升级为可见、可审计的预检查运行:右侧面板刷新分类候选、置信度、缺失项和最近检查时间。
|
||
- 新增 `submitPrecheckRepository` 保存 `issue-hub-ai:submit-precheck:v1`,记录检查时间、分类、置信度、缺失项和命中规则数量;单元测试覆盖记录写入和坏数据归一化。
|
||
- browser smoke 覆盖重新检测、结果刷新状态、新缺失项补充到描述、预检查记录落库,以及提交后描述持久化。
|
||
- 本轮已重新通过 `npx tsc --noEmit`、`npm test`(29 个测试文件、100 个测试)、`npm run build`、`npm run smoke:browser`;最新 visual diff 报告时间仍为 `2026-06-17T12:06:38.127Z`,状态为 8 / 4。
|
||
|
||
## 2026-06-17 全局通知中心与帮助面板补充审计
|
||
|
||
- 全局 TopBar 的通知 / 帮助入口已从 toast 升级为真实工具抽屉:通知中心聚合未处理升级、SLA 风险和待补充数量,帮助面板提供角色流程和快速跳转。
|
||
- 处理人详情自带通知 / 帮助图标已接入同一套 `utilityPanelOpen` 状态,不再维护局部 toast 行为;设置面板仍保持原有权限控制和独立配置抽屉。
|
||
- browser smoke 覆盖中心页通知 / 帮助入口、处理人详情通知 / 帮助入口、打开关闭状态和主流程不中断;交互截图新增 `global-notifications-panel.png`、`global-help-panel.png`。
|
||
- 本轮已重新通过 `npx tsc --noEmit`、`npm test`(28 个测试文件、98 个测试)、`npm run build`、`npm run smoke:browser`;最新 visual diff 报告时间仍为 `2026-06-17T12:06:38.127Z`,状态为 8 / 4。
|
||
|
||
## 2026-06-17 处理人评论工具真实附件/图片/链接补充审计
|
||
|
||
- 处理人详情评论工具已从入口反馈升级为业务闭环:附件 / 图片工具生成真实 `IssueAttachment` 并进入当前问题附件列表,链接工具写入评论输入区并可随评论进入处理时间线。
|
||
- `handlerActionRepository` 新增 `commentTools` 审计记录,保存工具名、问题编号、插入文本和使用时间;browser smoke 断言工具记录、问题附件列表和评论时间线内容。
|
||
- 页面覆盖:`handler-tabs-comment-tools.png` 覆盖 tab、评论对象切换和评论工具真实插入;`handler-comment-task-linked.png` 覆盖评论内容保留处理链路、关联任务和更多处理动作连续追溯。
|
||
- 本轮已重新通过 `npx tsc --noEmit`、`npm test`(28 个测试文件、98 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;最新 visual diff 报告时间为 `2026-06-17T12:06:38.127Z`,状态仍为 8 页可人工复核、4 页需人工决策 / 带备注复核。
|
||
|
||
## 2026-06-17 提交页 AI 预检查补充审计
|
||
|
||
- 已补齐 AI 预检查分类候选真实闭环:右侧“选择其他分类”展开候选列表,展示置信度和判断依据,点击候选会写入左侧“所属系统”字段。
|
||
- 已补齐流转规则详情真实闭环:右侧“查看流转规则”展开当前启用规则信息,展示规则名称、目标部门、SLA 和自动化模式,不再只给提示文案。
|
||
- 已保持代码分层:跨组件待应用分类由 `SubmitIssuePage` 管理,`SubmitIssueForm` 只负责消费并写入表单,`SubmitAiPrecheckPanel` 只负责 AI 预检查局部 UI。
|
||
- 已补 browser smoke:覆盖分类候选展开、候选分类写入表单、规则详情展开 / 收起、规则名称和目标部门断言。
|
||
- 验证结果:`npx tsc --noEmit`、`npm test`(28 个文件、97 个用例)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff` 均通过;最新 visual diff 报告时间为 `2026-06-17T11:49:38.694Z`,状态仍为 8 / 4。
|
||
|
||
## 2026-06-17 问题池提交人筛选与部门成员明细补充审计
|
||
|
||
- 已补齐问题池提交人真实筛选:领域层支持 `submitterId` 组合筛选,问题池页面提交人按钮循环切换全部 / 张阳 / 赵敏,导出与分页均使用筛选后的问题集合。
|
||
- 已补齐演示数据真实性:新增第二位提交人赵敏,并将 `issue-010`、`issue-011` 归属给赵敏,避免提交人筛选只产生文案变化。
|
||
- 已补齐部门成员明细:`DepartmentWorkloadPanel` 内部展开成员负载明细,支持技能筛选、负载 / 响应排序,并从明细行分派当前问题。
|
||
- 已补测试和 smoke:`issueFilters.test.ts` 覆盖提交人独立筛选与组合筛选;browser smoke 覆盖提交人筛选导出行数缩小、赵敏筛选结果、成员明细技能筛选、排序、分派和关闭。
|
||
- 验证结果:`npx tsc --noEmit`、`npm test`(28 个文件、97 个用例)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff` 均通过;最新 visual diff 报告时间为 `2026-06-17T11:49:38.694Z`,状态仍为 8 / 4。
|
||
|
||
## 2026-06-17 中心派发操作与知识设置补充审计
|
||
|
||
- 已补齐中心调度台行级派发操作真实闭环:“更多派发操作”打开独立操作面板,支持改派部门、要求补充、AI 重新分析和采纳 AI 派发,状态与时间线仍由统一 app action 写入。
|
||
- 已补齐知识复盘设置持久化闭环:复盘池开关、AI 自动生成草稿、重复提醒、相似度阈值和默认负责人写入 localStorage,重新打开面板可恢复保存值,并通过仓储层归一化异常数据。
|
||
- 已补单元测试:`knowledgeReviewSettingsRepository.test.ts` 覆盖默认读取、保存回读和坏数据归一化。
|
||
- 已补 browser smoke:覆盖中心派发操作面板打开 / 关闭、知识复盘设置保存、localStorage 校验和面板恢复校验。
|
||
- 验证结果:`npx tsc --noEmit`、`npm test`、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff` 均通过;当前前端测试基线为 28 个文件、98 个用例。
|
||
|
||
## 2026-06-17 管理看板真实下钻补充审计
|
||
|
||
- 已补齐管理看板真实数据闭环:KPI、排行、趋势、状态分布、本周对比、AI 洞察兜底和下钻明细均基于当前筛选后的 issue 数据派生;部门负载、重复问题、SLA 风险、AI 洞察和刷新记录下钻统一由领域层生成。
|
||
- 已补齐状态持久化:`analyticsViewStateRepository` 保存 `range / departmentId / focus / lastRefreshedAt`,`analyticsDrilldownRepository` 保存下钻记录;失效部门 ID 会回退到“全部部门”,排行和下钻面板具备空态。
|
||
- Browser smoke 已验证管理看板导出、真实下钻记录、自定义布局持久化、刷新记录和视图状态持久化;本轮由子 agent 做只读验收,并已处理其中提出的 KPI 静态值、失效部门、空态和 `scopeLabel` 类型风险。
|
||
- 本轮已重新通过 `npx tsc --noEmit`、`npm test`(28 个测试文件、97 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;最新 visual diff 报告时间为 `2026-06-17T11:49:38.694Z`,状态仍为 8 页可人工复核、4 页需人工决策 / 带备注复核。
|
||
|
||
## 2026-06-17 处理人详情更多操作真实化补充审计
|
||
|
||
- 处理人详情顶部“查看 SLA 记录”和“复制处理链接”已写入 `issue-hub-ai:handler-actions:v1`,记录问题编号、SLA 剩余分钟、相关时间线数量和复制链接。
|
||
- “催办协作人”已写入当前问题时间线,提交人、处理人和中心侧后续都能追溯该处理提醒。
|
||
- browser smoke 已覆盖 SLA 查看记录、处理链接复制记录、催办协作人时间线和原有导出处理记录元数据;`handlerActionRepository` 单测覆盖落库和坏数据归一化。
|
||
- 本轮已重新通过 `npx tsc --noEmit`、`npm test`(28 个测试文件、97 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;最新 visual diff 报告时间为 `2026-06-17T11:49:38.694Z`,状态仍为 8 页可人工复核、4 页需人工决策 / 带备注复核。
|
||
|
||
## 2026-06-17 移动端补充内容入链补充审计
|
||
|
||
- 移动端补充说明和可选附件已进入真实问题流转:`addSubmitterSupplementWorkflow` 会追加问题附件、写入“提交人补充信息”时间线,并把问题推回待派发状态。
|
||
- 移动端“联系处理人”和“催办”已升级为可追溯时间线事件,提交人侧不再只有一次性 toast,处理过程可在全链路审计中看到。
|
||
- browser smoke 已补齐联系 / 催办时间线断言、补充文本内容断言和 `订单截图.zip` 附件持久化断言;移动端补充 workflow 单测覆盖文本 + 附件写入。
|
||
- 本轮已重新通过 `npx tsc --noEmit`、`npm test`(24 个测试文件、85 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;最新 visual diff 报告时间为 `2026-06-17T08:09:03.519Z`,状态仍为 8 页可人工复核、4 页需人工决策 / 带备注复核。
|
||
|
||
## 2026-06-17 我的待办更多操作真实化补充审计
|
||
|
||
- 我的待办行级和详情级“更多操作”已从提示文案升级为真实菜单,支持关注 / 取消关注、复制处理链接和转交负责人;关注与复制链接记录会持久化。
|
||
- 新增 `src/data/workbenchActionRepository.ts`,以 `issue-hub-ai:workbench-actions:v1` 保存关注问题 ID 和复制链接记录;UI 组件保持展示层职责,页面层组合仓储和现有转交流程。
|
||
- browser smoke 已覆盖更多处理动作复制链接、localStorage 复制记录、行级标记关注、localStorage 关注记录,以及关注后菜单显示“取消关注”;单元测试覆盖关注切换、复制记录和坏数据归一化。
|
||
- 本轮已重新通过 `npx tsc --noEmit`、`npm test`(24 个测试文件、84 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;最新 visual diff 报告时间为 `2026-06-17T07:45:43.001Z`,状态仍为 8 页可人工复核、4 页需人工决策 / 带备注复核。
|
||
|
||
## 2026-06-17 部门队列设置持久化补充审计
|
||
|
||
- 部门队列“队列设置”已从默认勾选和保存提示升级为真实持久化闭环:设置项由受控表单管理,取消不保存,保存后按部门写入本地仓储,刷新页面后可恢复。
|
||
- 新增 `src/data/departmentQueueSettingsRepository.ts`,以 `issue-hub-ai:department-queue-settings:v1` 保存各部门的负责人轮询、技能标签优先和 SLA 阈值提醒配置;仓储层负责默认值和坏数据归一化。
|
||
- 浏览器 smoke 已覆盖“技能标签优先”取消不保存、保存后 localStorage 写入、reload 后重新打开队列设置仍保持取消勾选;单元测试覆盖默认值、按部门持久化和畸形数据归一化。
|
||
- 本轮已重新通过 `npx tsc --noEmit`、`npm test`(23 个测试文件、81 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;最新 visual diff 报告时间为 `2026-06-17T07:35:20.415Z`,状态仍为 8 页可人工复核、4 页需人工决策 / 带备注复核。
|
||
|
||
## 2026-06-17 处理人详情处理记录导出补充审计
|
||
|
||
- 处理人详情“导出处理记录”已从占位反馈升级为真实 CSV 闭环:导出当前问题基础字段、AI 分析、推荐路径、SLA / 标签信息,以及当前问题全部处理过程。
|
||
- 导出逻辑已拆分到 `src/domain/issues/issueProcessExport.ts` 和 `src/data/issueProcessExportRepository.ts`:领域层生成 CSV 内容、文件名和问题编号元数据,仓储层处理浏览器下载与本地导出记录持久化。
|
||
- 浏览器 smoke 已覆盖点击“更多操作 / 导出处理记录”后的 toast、`issue-hub-process-IH-2026-0148-` 文件名前缀、问题编号和导出行数持久化;单元测试覆盖中文 CSV、逗号转义、AI 推荐信息、人员 / 部门映射和时间线排序。
|
||
- 本轮已重新通过 `npx tsc --noEmit`、`npm test`(22 个测试文件、78 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;最新 visual diff 报告时间为 `2026-06-17T07:22:10.571Z`,状态仍为 8 页可人工复核、4 页需人工决策 / 带备注复核。
|
||
|
||
## 2026-06-17 问题池 CSV 导出补充审计
|
||
|
||
- 问题池“导出”已从占位反馈升级为真实 CSV 闭环:页面按当前完整筛选结果、搜索词和排序生成导出文件,分页只控制可见表格行,不改变导出范围。
|
||
- 导出逻辑已拆分到 `src/domain/issues/issuePoolExport.ts` 和 `src/data/issuePoolExportRepository.ts`:领域层生成 CSV 内容、文件名和元数据,仓储层处理浏览器下载与本地导出记录持久化。
|
||
- 浏览器 smoke 已覆盖点击问题池导出后的 toast、`issue-hub-issues-` 文件名、导出行数和筛选标签持久化;单元测试覆盖中文 CSV、逗号转义、人员 / 部门映射和未分派兜底。
|
||
- 本轮已重新通过 `npx tsc --noEmit`、`npm test`(21 个测试文件、77 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;最新 visual diff 报告时间为 `2026-06-17T07:05:19.323Z`,状态仍为 8 页可人工复核、4 页需人工决策 / 带备注复核。
|
||
|
||
## 2026-06-12 提交人追踪真实分页补充审计
|
||
|
||
- 提交人追踪左侧记录列表已从全量展示升级为真实分页切片:页面层维护页码和每页条数,搜索、状态 tab、创建时间排序、来源筛选和 SLA 筛选变化后回到第 1 页,列表只渲染当前页记录。
|
||
- 修复了空筛选时右侧详情错误兜底的问题:当当前筛选无结果时,页面展示空状态,不再显示不符合筛选条件的问题详情。
|
||
- 浏览器 smoke 已覆盖提交人追踪第 2 页 active、显示范围变化、首行数据变化、切 20 条/页回第 1 页,以及从第 2 页执行排序后重置回第 1 页;返工后会显式恢复 SLA 筛选,再继续验收另一个提交记录。
|
||
- 本轮已重新通过 `npx tsc --noEmit`、`npm test`(20 个测试文件、76 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;最新 visual diff 报告时间为 `2026-06-12T14:18:54.982Z`,状态仍为 8 页可人工复核、4 页需人工决策 / 带备注复核。
|
||
|
||
## 2026-06-12 问题池真实分页补充审计
|
||
|
||
- 问题池已从全量表格展示升级为真实分页切片:页面层维护页码和每页条数,搜索、状态、优先级、部门、来源、SLA 与创建时间排序变化后回到第 1 页,表格只渲染当前页问题。
|
||
- 表格 footer 已展示真实显示范围、总数、已选数量、页码、上一页 / 下一页禁用态和 5 / 10 / 20 条每页切换;批量派发和导出仍以完整筛选结果为作用域,避免分页影响批量治理语义。
|
||
- 浏览器 smoke 已覆盖问题池第 2 页 active、显示范围变化、首行数据变化,以及切到 20 条/页后回到第 1 页,再继续原有筛选、空搜索和空批量派发链路。
|
||
- 本轮已重新通过 `npx tsc --noEmit`、`npm test`(20 个测试文件、76 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;最新 visual diff 报告时间为 `2026-06-12T13:57:03.716Z`,状态仍为 8 页可人工复核、4 页需人工决策 / 带备注复核。
|
||
|
||
## 2026-06-12 中心调度与部门队列真实分页补充审计
|
||
|
||
- 中心调度台已从静态分页按钮升级为真实页面切片:页面层维护页码和每页条数,分组切换、搜索变化后回到第 1 页,表格只渲染当前页问题,并展示真实范围、页码和上一页 / 下一页禁用态。
|
||
- 部门队列已接入同样的真实分页闭环:筛选、排序、部门切换和搜索变化后重置页码,分页范围和行数据均由当前过滤结果驱动。
|
||
- 浏览器 smoke 已覆盖中心调度台和部门队列第 2 页 active、显示范围变化、首行数据变化,以及切到 20 条/页后回到第 1 页;同时在分页验证前清空全局搜索,避免跨流程搜索词污染。
|
||
- 本轮已重新通过 `npm test`(20 个测试文件、76 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;最新 visual diff 报告时间为 `2026-06-12T13:24:17.159Z`,状态仍为 8 页可人工复核、4 页需人工决策 / 带备注复核。
|
||
|
||
## 2026-06-12 附件本地闭环补充审计
|
||
|
||
- 客户端提交问题附件已从局部上传态升级为本地持久化闭环:上传会生成稳定 demo 附件对象并写入 `IssueDraft.attachments`,保存草稿 / reload 恢复 / 提交到中心后会随新问题进入 `Issue.attachments`。
|
||
- 处理人详情和提交人追踪附件区优先展示当前问题真实附件;旧 seed 问题没有附件时保留演示附件兼容展示。“全部下载”不再只是 toast,会写入 `issue-hub-ai:attachment-downloads:v1` 下载记录,浏览器 smoke 断言来源、问题 ID、数量和附件名。
|
||
- 本轮已重新通过 `npm test`(20 个测试文件、76 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;最新 visual diff 报告时间为 `2026-06-12T12:40:43.977Z`,状态仍为 8 页可人工复核、4 页需人工决策 / 带备注复核。
|
||
|
||
## 2026-06-12 知识复盘真实分页补充审计
|
||
|
||
- 知识复盘页已从静态分页按钮和“第 2 页预览”toast 升级为真实切片:页面层维护 `page` / `pageSize`,搜索和 tab 切换回到第 1 页,表格层只渲染总数、显示范围、真实页码、上一页 / 下一页禁用态和 5 / 10 / 20 条每页切换。
|
||
- 浏览器 smoke 已改为断言知识复盘第 2 页 active、显示范围变化、首行问题变化,以及切到 20 条/页后回到第 1 页;不再依赖预览文案。
|
||
- 本轮已重新通过 `npm test`(20 个测试文件、73 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;最新 visual diff 报告时间为 `2026-06-12T12:40:43.977Z`,状态仍为 8 页可人工复核、4 页需人工决策 / 带备注复核。
|
||
|
||
## 2026-06-12 我的待办真实分页补充审计
|
||
|
||
- 客户端“我的待办”分页已从预览反馈升级为真实切片:页面层维护页码和每页条数,表格层渲染总数、当前范围、页码、上一页 / 下一页禁用态,以及 5 / 10 / 20 条每页切换。
|
||
- 默认每页 10 条以保持当前设计复刻截图稳定;浏览器 smoke 在验证分页时主动切到 5 条/页,断言第 2 页 active、显示范围和首行数据变化,再切到 20 条/页并回到第 1 页。
|
||
- 本轮已重新通过 `npm test`(20 个测试文件、73 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;最新 visual diff 报告时间为 `2026-06-12T12:40:43.977Z`,状态仍为 8 页可人工复核、4 页需人工决策 / 带备注复核。
|
||
|
||
## 2026-06-12 提交问题草稿持久化补充审计
|
||
|
||
- 客户端提交问题页已支持真实本地草稿:保存草稿会写入平台持久化状态,重新加载或重新进入提交页后恢复标题、描述、来源、所属系统、影响范围、期望时间、联系人和影响等级;提交成功后会清理 `issueDraft`,避免旧草稿残留。
|
||
- 浏览器 smoke 已覆盖桌面提交页保存草稿、reload 恢复、提交后清理;移动端保存草稿也会写入同一持久化状态,并保留提交链路。
|
||
- 本轮已重新通过 `npm test`(20 个测试文件、73 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;最新 visual diff 报告时间为 `2026-06-12T12:40:43.977Z`,状态仍为 8 页可人工复核、4 页需人工决策 / 带备注复核。
|
||
|
||
## 2026-06-12 规则条件编辑闭环与设计审阅入口补充审计
|
||
|
||
- 规则配置页已从“新增条件占位”升级为真实可编辑条件矩阵:条件字段、关系、匹配值和权重会序列化写入 `rule.condition`,添加普通条件 / AND 分组条件、删除序列化条件、保存草稿、查看变更记录、测试和发布均保持可操作。
|
||
- 浏览器 smoke 已改为断言 `RULE_CONDITIONS_V1` 条件序列化、匹配值 `VIP 客户`、权重 `15`、AND 分组和删除“影响范围”后的持久化状态,不再只断言占位文案。
|
||
- 新增静态人工定稿审阅入口 `docs/design/review-index.html`,可并排查看 12 页设计图、实现截图和 diff 图,并按“可人工复核 / 需人工决策”筛选。
|
||
- 本轮已重新通过 `npm test`(20 个测试文件、72 个测试)、`npm run build`、`npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`;visual diff 报告时间为 `2026-06-12T09:43:16.971Z`,状态仍为 8 页可人工复核、4 页需人工决策 / 带备注复核。
|
||
|
||
## 2026-06-11 移动端窄屏补充链路补充审计
|
||
|
||
- 移动端 390x920 窄屏 smoke 已从仅覆盖提交扩展到补充信息链路:提交后保持窄屏回到 `/#/mobile-submit`,进入“去补充”,等待补充 textarea 自动带出“补充涉及的订单号或数据 ID:”。
|
||
- 新增交互证据 `docs/design/interaction-smoke/mobile-narrow-supplement.png`,用于证明窄屏补充提交前表单态可见;提交后断言当前选中问题写入“提交人补充信息”时间线,且状态回到 `dispatch_pending`。
|
||
- 覆盖项同步:移动端提交 / 补充关键交互包含桌面宽度移动提交补充、附件补充、联系 / 催办时间线,以及 390px 窄屏提交、追踪跳转和补充文本 / 附件持久化断言。
|
||
|
||
## 2026-06-11 知识复盘对象切换补充审计
|
||
|
||
- 知识复盘页已补入“切换不同关闭问题”的浏览器 smoke 覆盖:搜索并选中“报表导出数据量过大失败”后,再搜索并选中“客户信息导入后字段映射失败”,断言本地选中对象同步为 `issue-007`。
|
||
- 新增交互证据 `docs/design/interaction-smoke/knowledge-selected-other-issue.png`,用于证明列表选中行与右侧 AI 复盘摘要在切换复盘对象后同步更新。
|
||
- 覆盖项同步:知识复盘关键交互包含设置、筛选回显、分页 / 每页条数、搜索、切换不同关闭问题、草稿生成、摘要编辑、合并知识和无需沉淀决策。
|
||
|
||
## 2026-06-11 提交人追踪复制记录补充审计
|
||
|
||
- 提交人追踪页已补入“复制记录”页面层反馈覆盖:列表搜索命中“订单支付成功但状态未更新”后,点击“复制记录”并断言 toast “已复制 IH-2026-0148 的提交记录。”。
|
||
- 分层核对:`SubmitterProgressPanel` 只接收并调用 `onCopyRecord`,clipboard 写入和 `actions.showToast` 留在 `SubmitterTrackingPage`。
|
||
- 覆盖项同步:提交人追踪关键交互包含排序筛选、负责人资料、全部回复、详情展开、附件下载、复制记录、返工和验收。
|
||
|
||
本文档用于对照当前目标做交付核对:
|
||
|
||
> 继续出所有设计图,出完后定稿,按照设计图一比一复刻界面,并实现界面所有功能。代码要求合理分层、合理拆分、禁止单文件堆砌,并沉淀文档。
|
||
|
||
## 1. 总体结论
|
||
|
||
| 验收项 | 状态 | 证据 | 备注 |
|
||
| --- | --- | --- | --- |
|
||
| 调度中心每个界面都有 images2 设计图 | 已完成 | `docs/design/images2/dispatcher-01` 至 `dispatcher-07` | 覆盖中心调度台、问题池、部门队列、提醒升级、知识复盘、规则配置、管理看板。 |
|
||
| 客户端界面都有 images2 设计图 | 已完成 | `docs/design/images2/client-01` 至 `client-05` | 覆盖我的待办、提交问题、处理人详情、提交人追踪、移动端提交/补充。 |
|
||
| 设计图已定稿 | 已完成 | `docs/design/design-freeze.md`, `docs/design/final-design-freeze-record.md` | 已明确视觉方向、共享组件、页面顺序、功能边界、验收方式和 12 页页面级定稿结论。 |
|
||
| 每个设计图都有对应实现页面 | 已完成 | `src/app/routes.ts`, `src/app/App.tsx`, `docs/design/implementation-screenshots/` | 12 个业务页面均有 hash 路由和实现截图。 |
|
||
| 一比一复刻证据 | 可评审完成 | `npm run capture:pages`, `npm run visual:diff`, `docs/design/implementation-screenshots/README.md`, `docs/design/visual-diff/report.md`, `docs/design/manual-design-freeze-audit.md` | 已保存逐页截图、移动视口截图和自动视觉差异报告;当前人工流程为 4 页建议通过、8 页定稿候选、0 页需人工决策,自动 visual diff 仍保留 5 张诊断页。 |
|
||
| 核心业务功能 | 已完成 MVP 闭环 | `scripts/browser-smoke.mjs`, `docs/design/interaction-smoke/` | smoke 覆盖中心筛选面板、中心真实分页 / 每页条数切换、中心批量确认、中心派发行操作、AI 派发退回补充确认、我的待办刷新 / 顶部状态 tab 反馈 / 筛选排序 / 分页 / 每页条数反馈 / AI 分析详情 / 详情 tab / 关注 / 复制链接 / 返回 / 顶部更多操作 / 底部更多处理动作 / 列表行操作、AI 预检查补充、提交页富文本工具、桌面附件上传、问题池状态 / 优先级 / 部门 / 来源 / SLA / 创建时间筛选反馈、问题池真实分页 / 每页条数切换 / CSV 导出、派发、批量治理、部门队列状态 / 优先级 / SLA / 创建时间筛选反馈、部门队列设置持久化、部门队列真实分页 / 每页条数切换、AI 分派分析详情、请求中心介入、分派、处理人详情 tab、评论对象切换、评论工具附件 / 图片 / 链接插入、工具记录落库、附件入问题、接单、协作、处理人更多动作、SLA 查看记录、处理链接复制记录、催办协作人时间线、处理人评论、关联任务、处理人详情展开、完整 AI 分析报告、转派、完成、验收、返工、移动端提交附件 / 补充项定位 / 联系处理人时间线 / 催办时间线 / 补充文本持久化 / 补充附件持久化 / 提交补充、提交人追踪真实分页 / 每页条数切换 / 排序筛选 / 详情展开 / 附件下载、知识复盘设置、知识筛选面板选项回显、知识分页 / 每页条数反馈、知识无需沉淀决策、规则连续新增 2 条普通条件并逐条断言 / 分组 / 删除、规则草稿与变更记录、管理看板筛选反馈 / 日期反馈 / 趋势范围切换 / AI 洞察详情、CSV 导出和自定义布局隐藏与持久化、提醒升级扫描 / 催办 / 升级 / 转中心复核 / 标记处理反馈、知识、看板、设置、权限、同步、AI triage。 |
|
||
| 合理分层与代码拆分 | 已完成 | `src/app`, `src/domain`, `src/data`, `src/features`, `src/shared` | 页面、领域逻辑、仓储、共享组件和布局已分层。 |
|
||
| 禁止单文件堆砌 | 已完成 | `src/app/App.tsx`, `src/shared/styles/*`, feature 局部 CSS | `App.tsx` 仅保留入口和路由转发;旧 `pages.css` 已删除;页面样式拆入 feature 目录。 |
|
||
| 文档沉淀 | 已完成 | `docs/design/*.md` | 已包含设计索引、定稿、最终定稿记录、蓝图、实现进度、截图索引、smoke 说明和本审计。 |
|
||
|
||
## 2. 页面覆盖矩阵
|
||
|
||
| 页面 | 路由 | 设计图 | 实现截图 | 关键交互证据 |
|
||
| --- | --- | --- | --- | --- |
|
||
| 中心调度台 | `/#/center-dashboard` | `images2/dispatcher-01-center-dashboard.png` | `implementation-screenshots/dispatcher-01-center-dashboard.png` | `interaction-smoke/center-ai-dispatch-accepted.png`, `center-ai-live-triage.png`,筛选面板、分页 / 每页条数反馈、批量确认、AI 派发退回补充确认和派发行操作 smoke |
|
||
| 问题池 | `/#/issue-pool` | `images2/dispatcher-02-issue-pool.png` | `implementation-screenshots/dispatcher-02-issue-pool.png` | `issue-pool-empty-search.png`, `issue-pool-bulk-dispatched.png`, `issue-pool-bulk-tagged.png`,状态 / 优先级 / 部门 / 来源 / SLA / 创建时间筛选反馈、真实分页 / 每页条数切换、CSV 导出 smoke |
|
||
| 部门队列 | `/#/department-queue` | `images2/dispatcher-03-department-queue.png` | `implementation-screenshots/dispatcher-03-department-queue.png` | `department-center-escalated.png`, `department-assigned-handler.png`,状态 / 优先级 / SLA / 创建时间筛选反馈、队列设置持久化、分页反馈、AI 分派分析详情、请求中心介入和分派处理人 smoke |
|
||
| 提醒升级 | `/#/escalation-center` | `images2/dispatcher-04-escalation-center.png` | `implementation-screenshots/dispatcher-04-escalation-center.png` | `escalation-sla-scanned.png`, `escalation-marked-handled.png`,扫描、立即催办、升级负责人、转中心复核和标记处理反馈 smoke |
|
||
| 知识复盘 | `/#/knowledge-review` | `images2/dispatcher-05-knowledge-review.png` | `implementation-screenshots/dispatcher-05-knowledge-review.png` | `knowledge-settings-saved.png`, `knowledge-selected-other-issue.png`, `knowledge-draft-generated.png`, `knowledge-summary-edited.png`, `knowledge-draft-merged.png`, `knowledge-no-draft-marked.png`,筛选面板、筛选选项回显、分页反馈和切换不同关闭问题 smoke |
|
||
| 规则配置 | `/#/rule-config` | `images2/dispatcher-06-rule-config.png` | `implementation-screenshots/dispatcher-06-rule-config.png` | `rule-config-condition-removed.png`, `rule-config-audit-log.png`, `rule-config-tested.png`, `rule-config-published.png`,连续新增 2 条普通条件、编辑匹配值和权重、添加 AND 分组、删除序列化条件、保存草稿、测试和发布 smoke |
|
||
| 管理看板 | `/#/analytics-board` | `images2/dispatcher-07-analytics-board.png` | `implementation-screenshots/dispatcher-07-analytics-board.png` | `analytics-custom-layout-saved.png`, `analytics-filtered.png`,日期反馈、趋势范围切换、真实下钻、刷新记录和 AI 洞察详情 smoke |
|
||
| 我的待办 | `/#/client-workbench` | `images2/client-01-workbench.png` | `implementation-screenshots/client-01-workbench.png` | `client-workbench-detail-tabs.png`,刷新待办列表、顶部状态 tab 反馈、筛选排序、分页反馈、AI 分析详情、更多操作关注 / 复制链接、底部更多处理动作 smoke,处理人主链路由 `handler-resolved.png` 覆盖。 |
|
||
| 提交问题 | `/#/submit-issue` | `images2/client-02-submit-issue.png` | `implementation-screenshots/client-02-submit-issue.png`, `client-02-submit-issue-mobile.png` | `submit-issue-editor-attachment.png`, `submitter-tracking-after-submit.png` |
|
||
| 处理人详情 | `/#/handler-detail` | `images2/client-03-issue-detail-handler.png` | `implementation-screenshots/client-03-issue-detail-handler.png` | `handler-tabs-comment-tools.png`, `handler-comment-task-linked.png`, `handler-detail-expanded-report.png`, `handler-resolved.png`,评论工具附件 / 图片 / 链接插入、更多动作面板、SLA 查看记录、处理链接复制记录、催办协作人时间线、处理记录 CSV 导出 smoke |
|
||
| 提交人追踪 | `/#/submitter-tracking` | `images2/client-04-submitter-tracking.png` | `implementation-screenshots/client-04-submitter-tracking.png` | `submitter-detail-expanded-download.png`, `submitter-approved.png`, `submitter-reopened.png`,真实分页 / 每页条数切换、排序筛选、负责人资料和全部回复展开 smoke |
|
||
| 移动端提交 / 补充 | `/#/mobile-submit` | `images2/client-05-mobile-submit.png` | `implementation-screenshots/client-05-mobile-submit.png`, `client-05-mobile-submit-mobile.png` | `mobile-submit-attachment-selected.png`, `mobile-submitted-tracking.png`, `mobile-supplement-missing-upload.png`, `mobile-supplement-submitted.png`, `mobile-narrow-submit.png`, `mobile-narrow-submitted.png`, `mobile-narrow-supplement.png` |
|
||
|
||
## 3. 功能覆盖矩阵
|
||
|
||
| 功能 | 状态 | 主要证据 |
|
||
| --- | --- | --- |
|
||
| 页面导航切换和路由直达 | 已覆盖 | `src/app/routes.ts`, `src/app/routes.test.ts`, `capture:pages` |
|
||
| 我的待办刷新、顶部状态 tab 反馈、筛选排序、分页 / 每页条数反馈、AI 分析详情、详情 tab、关注、复制链接、返回、顶部更多操作、底部更多处理动作和列表行操作 | 已覆盖 | `client-workbench-detail-tabs.png`, `workbenchActionRepository` 测试,`browser-smoke` 刷新、待接单 / 全部状态 tab、筛选排序、分页反馈、每页条数、分析详情展开、复制链接记录、关注记录和菜单状态断言 |
|
||
| AI 预检查重新检测、建议补充到提交表单、富文本工具栏、桌面附件上传和提交控件选择持久化 | 已覆盖 | `submit-issue-editor-attachment.png`, `submitter-tracking-after-submit.png`, `submitPrecheckRepository` 测试,`browser-smoke` 重新检测记录、描述内容、影响范围、影响等级、SLA 和时间线持久化断言 |
|
||
| 问题选择、搜索、筛选反馈、真实分页、CSV 导出和空状态 | 已覆盖 | `issueSearch/issueFilters/issuePoolExport` 测试,`issue-pool-empty-search.png`, `browser-smoke` 问题池状态 / 优先级 / 部门 / 来源 / SLA / 创建时间筛选、第 2 页 active、显示范围、首行变化和 CSV 导出元数据断言 |
|
||
| AI 自动分析和推荐派发 | 已覆盖 | `aiTriageClient` 测试,`center-ai-live-triage.png` |
|
||
| 中心筛选、真实分页 / 每页条数切换、采纳 AI 派发、AI 派发退回补充确认、行级派发操作、批量确认派发和批量治理 | 已覆盖 | `center-ai-dispatch-accepted.png`, `center-ai-live-triage.png`, `issue-pool-bulk-dispatched.png`, `issue-pool-bulk-tagged.png`, `browser-smoke` 筛选面板、第 2 页 active、显示范围和首行变化、退回补充确认、批量确认和 toast 断言,`appWorkflows` 测试 |
|
||
| 部门队列状态 / 优先级 / SLA / 创建时间筛选反馈、队列设置持久化、真实分页 / 每页条数切换、AI 分派分析详情、请求中心介入和分派处理人 | 已覆盖 | `department-center-escalated.png`, `department-assigned-handler.png`, `departmentQueueSettingsRepository` 测试,`browser-smoke` 筛选反馈、队列设置取消 / 保存 / reload 恢复、第 2 页 active、显示范围和首行变化、分派分析详情、升级负责人时间线和未处理升级事件断言 |
|
||
| 处理人详情 tab、评论对象切换、评论工具附件 / 图片 / 链接插入、工具记录落库、附件入问题、接单、协作、更多动作、SLA 查看记录、处理链接复制记录、催办协作人、评论、关联任务、详情展开、AI 完整报告、附件下载、处理记录 CSV 导出、转派、提交结果 | 已覆盖 | `handler-tabs-comment-tools.png`, `handler-comment-task-linked.png`, `handler-detail-expanded-report.png`, `handler-resolved.png`, `handlerActionRepository` / `issueProcessExport` 测试,`browser-smoke` 详情 tab、评论工具、问题附件持久化、更多动作面板、handler action 落库和导出元数据断言 |
|
||
| 提交人补充、验收、返工 | 已覆盖 | `mobile-supplement-submitted.png`, `submitter-approved.png`, `submitter-reopened.png`;补充文本 / 附件和联系 / 催办时间线由 `browser-smoke` 与 `appWorkflows` 测试覆盖 |
|
||
| 提交人追踪真实分页、排序筛选、详情展开、负责人资料、全部回复和附件下载 | 已覆盖 | `submitter-detail-expanded-download.png`, `browser-smoke` 第 2 页 active、显示范围和首行变化、排序回第 1 页、创建时间排序、SLA 风险筛选、负责人资料展开 / 收起、全部回复展开 / 收起和 toast 断言 |
|
||
| SLA 扫描、提醒、立即催办、升级负责人、转中心复核和标记处理 | 已覆盖 | `escalation-sla-scanned.png`, `escalation-marked-handled.png`, `browser-smoke` 扫描、催办、升级、转中心复核和标记处理反馈断言,`escalationRules` 测试 |
|
||
| 知识复盘设置、筛选选项回显、分页 / 每页条数反馈、切换不同关闭问题、草稿生成、摘要编辑、合并和无需沉淀决策 | 已覆盖 | `knowledge-settings-saved.png`, `knowledge-selected-other-issue.png`, `knowledge-draft-generated.png`, `knowledge-summary-edited.png`, `knowledge-draft-merged.png`, `knowledge-no-draft-marked.png`, `browser-smoke` 设置面板、筛选面板、处理部门筛选回显、分页反馈、每页条数、搜索切换复盘对象和 `selectedIssueId` 断言,`knowledgeActions/knowledgeSelectors`, `appWorkflows` 测试 |
|
||
| 规则保存、草稿、变更记录、条件新增、条件编辑、条件分组、条件删除、测试、发布 | 已覆盖 | `rule-config-condition-removed.png`, `rule-config-audit-log.png`, `rule-config-tested.png`, `rule-config-published.png`, `browser-smoke` 序列化条件、匹配值、权重、AND 分组和删除断言,`appWorkflows` 测试 |
|
||
| 管理看板筛选反馈、日期反馈、趋势范围切换、指标计算、AI 洞察详情、真实下钻、刷新记录、CSV 导出和自定义布局 | 已覆盖 | `analytics-custom-layout-saved.png`, `analytics-filtered.png`, `analyticsSelectors` / `analyticsExport` / `analyticsDrilldownRepository` / `analyticsViewStateRepository` 测试,`browser-smoke` 范围 / 部门 / 风险视图反馈、固定日期反馈、趋势范围切换、洞察详情、导出范围、部门 / 重复 / SLA / AI 洞察下钻、刷新记录、布局隐藏和本地持久化断言 |
|
||
| 移动端提交、草稿反馈、二级控件持久化、附件上传、补充项定位、联系 / 催办时间线、补充文本 / 附件持久化和窄屏提交 / 补充布局 | 已覆盖 | `mobile-submit-attachment-selected.png`, `mobile-supplement-missing-upload.png`, `mobile-narrow-supplement.png`, 移动实现截图,`mobile-narrow-*` smoke 截图,`browser-smoke` localStorage 断言 |
|
||
| 设置、同步、权限角色和权限拦截 | 已覆盖 | `settings-*` smoke 截图,`platformSettingsRepository`, `permissionPolicy`, `appSyncRepository` 测试 |
|
||
| 关键业务动作写入时间线和提交控件值进入新问题 | 已覆盖 | `issueActions`, `appWorkflows`, `browser-smoke` 持久化断言 |
|
||
|
||
## 4. 代码结构审计
|
||
|
||
当前实现已从早期单文件原型拆成以下层次:
|
||
|
||
```text
|
||
src/
|
||
app/ # 应用入口、路由、状态组装、工作流
|
||
domain/ # 问题、派发、AI、提醒、知识、权限、看板等领域逻辑
|
||
data/ # seed 数据、本地持久化、同步配置、密钥存储
|
||
features/ # 调度中心和客户端页面及其局部组件
|
||
shared/ # 共享布局、按钮、表格、徽标、时间线、指标块、基础样式
|
||
```
|
||
|
||
分层核对:
|
||
|
||
- `src/app/App.tsx` 只负责装配应用壳、导航项和路由页面。
|
||
- `src/app/appWorkflows.ts` 承载跨页面业务工作流,避免把动作散落到页面组件。
|
||
- `src/domain/**` 承载纯业务判断和可测试计算。
|
||
- `src/data/**` 承载本地持久化、同步 payload、平台设置和密钥存储。
|
||
- `src/features/**/components/**` 承载页面专属组件和局部样式。
|
||
- `src/shared/styles/` 仅保留 `tokens.css`, `base.css`, `layout.css`, `components.css`。
|
||
- 旧共享页面样式 `src/shared/styles/pages.css` 已删除,旧未路由组件 `MyTaskList`、`HandlerActionPanel` 已移除。
|
||
- 未被入口引用的旧 `src/styles.css` 已删除,避免把早期单文件全局样式误判为当前运行时结构。
|
||
|
||
## 5. 验证基线
|
||
|
||
当前要求下,每次收尾应至少跑:
|
||
|
||
```pwsh
|
||
npm test
|
||
npm run build
|
||
npm run smoke:browser
|
||
npm run visual:diff
|
||
```
|
||
|
||
需要刷新全部页面截图时追加:
|
||
|
||
```pwsh
|
||
npm run capture:pages
|
||
```
|
||
|
||
最近一轮已记录通过:
|
||
|
||
- `npx tsc --noEmit`:类型检查通过。
|
||
- `npm test`:29 个测试文件,104 个测试通过。
|
||
- `npm run build`:TypeScript 和 Vite 生产构建通过,保留既有 500 kB chunk 体积提示。
|
||
- `npm run capture:pages`:12 张桌面实现截图和 3 张移动截图刷新通过。
|
||
- `npm run smoke:browser`:真实浏览器业务路径 smoke 通过并刷新交互截图。
|
||
- `npm run visual:diff`:12 张设计图与实现截图完成自动视觉差异对比,最新报告时间 `2026-06-18T04:47:26.995Z`;自动诊断为 7 / 5,人工流程为 4 页建议通过、8 页定稿候选、0 页需决策。
|
||
|
||
本轮知识复盘编辑、管理看板 CSV 导出和自定义布局补齐后已重新验证:
|
||
|
||
- `npm test`:20 个测试文件,71 个测试通过。
|
||
- `npm run build`:TypeScript 和 Vite 生产构建通过,生成 `dist/`。
|
||
- `npm run smoke:browser`:真实浏览器业务路径 smoke 通过,并刷新 `docs/design/interaction-smoke/` 交互截图。
|
||
- `npm run visual:diff`:12 张设计图与实现截图完成自动视觉差异对比,生成 `docs/design/visual-diff/report.md` 和 12 张差异图。
|
||
|
||
本轮提交问题表单控件持久化证据补齐已完成代码审阅和单元验证:
|
||
|
||
- `npm test`:20 个测试文件,71 个测试通过,提交问题 workflow 单测已断言 `impactScope` 与 `severity` 透传。
|
||
- `npm run build`:TypeScript 和 Vite 生产构建通过,未复现 `esbuild spawn EPERM`。
|
||
- 后续已补跑 `npm run smoke:browser`、`npm run capture:pages`、`npm run visual:diff`,最新结果见上方最近一轮记录。
|
||
|
||
本轮移动端提交/补充二级反馈与持久化证据已补齐 smoke 覆盖:
|
||
|
||
- 移动端提交 smoke 覆盖“保存草稿”toast、非默认影响范围 / 来源 / 系统 / 期望时间选择,并从 localStorage 断言新问题字段持久化。
|
||
- 移动端补充 smoke 覆盖“联系处理人”“催办”时间线,并保留去补充、补充文本、补充附件与提交补充路径。
|
||
- 已验证通过:`npm run smoke:browser`、`npm run build`、`npm test`。
|
||
|
||
## 6. 已知边界和风险
|
||
|
||
- “一比一复刻”已接入自动视觉差异报告,但报告定位为诊断工具,不替代人工设计评审;当前人工流程为 4 张页面建议通过、8 张页面定稿候选、0 张页面需人工决策,详见 `docs/design/manual-design-freeze-audit.md`。
|
||
- MVP 已支持 OpenAI-compatible AI triage 配置和 mock AI smoke;真实企业数据接入、真实通讯工具推送、多租户和复杂审批流不在本版定稿边界内。
|
||
- 前端关键路径和同步接口权限已有测试;服务端 Spring Boot 测试曾因本机没有 `mvn` 且 `server/` 无 Maven Wrapper 暂未本机执行,需要在具备 Maven 的环境补跑。
|
||
- hover/focus/loading 等微交互状态已有组件基础样式,但尚未逐项生成截图归档;当前 smoke 更偏业务路径验证。
|
||
|
||
## 7. 交付判定
|
||
|
||
按当前产品目标,本项目已经具备可评审的完整前端 MVP:
|
||
|
||
- 设计资产齐全。
|
||
- 页面实现齐全。
|
||
- 核心业务流可操作。
|
||
- 本地持久化、同步配置、权限、AI 设置和浏览器 smoke 已覆盖。
|
||
- 代码已按 app/domain/data/features/shared 拆分,避免继续堆叠在单文件。
|
||
- 文档链路完整。
|
||
|
||
当前人工定稿流程已消除需人工决策页;`docs/design/review-index.html` 已为 12 张页面给出“通过 / 通过但备注”建议结论,后续只需人工在审阅入口保存最终记录并导出 JSON 定稿记录。后续改动以人工审美目标或明确设计图差异为依据,不再无目标盲追 `visual:diff`。
|