# 真人验收清单 · 报告中心行式列表 + 报告阅读常驻目录(R6) - 日期:2026-09-16 - 分支:`codex/cend-report-20260916` - 对应:`docs/tasks/TASK-cend-surfaces-claude-alignment-20260916.md`(R6)、`docs/tasks/PROGRESS-cend-report-20260916.md` 会话侧已经做完的(**不用再做**):`tsc` 0 错、`lint` 0 error、3355 条测试(31 条无 Docker 失败与基线逐条一致)、`next build` 四个路由渲染标记不变、`/` 首屏 gzip −0.58%。纸面三个 token 未动、`report-chart-grid-rehype.ts` 未动,均有断言守着。 下面全是会话做不了的:需要登录态、真实报告数据、真实浏览器和打印机/PDF 导出。 --- ## A. 20 张盘以上的报告仍然不重叠、滚动不卡(最高优先,关联 BUG-616 / BUG-617) 阅读页这一轮并进了 app 外壳,滚动容器的所有权变了,盘面 grid 必须复验。 1. 打开一份**九节、20 张盘以上**的完整个人报告。 2. 从头滚到底,不要跳。 3. 通过标准: - 每张北印盘各占一格,**没有任何两张叠在同一位置**; - 连续滚动不掉帧、不卡顿,尤其是经过密集盘面那几节时; - 页面**不出现横向滚动条**(宽表格在自己的框里横滚是对的)。 ## B. 打印 / 导出 PDF(本轮风险最高的一项) 阅读页现在坐在外壳里,而 `window.print()` 打的是整个文档。 1. 在同一份报告里点「打印」,另存为 PDF。 2. 通过标准: - 纸上**没有**左侧栏、**没有**顶部那条 46px 窄栏、**没有**右侧目录; - 报告**不是只印出一页**——九节应当完整分页; - 纸面是浅色(打印锁定浅色调色板),正文不是白底白字; - 页边距是 A4 / 13mm 12mm 14mm 的样子; - 宽表格在纸上不被裁掉右边。 3. 顺带在微信内置浏览器里打开同一页点打印,应当出现「请在系统浏览器中打开本页后打印」的提示,而不是印出一份坏的。 ## C. 右侧常驻目录 1. 桌面宽度(> 860px)打开报告。 2. 通过标准: - 目录在**正文右侧**,滚动时一直在; - 往下滚,高亮项跟着当前看到的章节走; - 点任一节,跳到该节标题,**标题没有被顶部那条操作条盖住**; - 目录自己内容超长时在目录框里滚,不把页面撑长。 ## D. 窄屏 1. 把窗口拉窄到 860px 以内(或用手机)。 2. 通过标准:右侧目录栏消失;正文上方出现一个**收起的**「目录」,点开可用、能跳转。 3. 再窄到手机宽度:侧栏变抽屉,从顶栏的按钮能拉开、能关上,关上后焦点不丢。 ## E. 报告中心行式列表 1. 账号里同时存在**生成中**与**已完成**至少各一份报告时打开「我的报告」。 2. 通过标准: - 列表是**一列行**,不是卡片方阵;每行左边一枚带色点的状态 chip; - 「已完成」「生成中」「未完成」三种色点一眼分得开(也请在深色模式下看一遍); - 生成中那行能被读屏软件播报(macOS VoiceOver / Windows 讲述人均可); - 行右侧:已完成是「导出报告(.md)」+「查看报告」,生成中是「查看进度」,失败行右侧**没有**按钮; - 每行的第二行小字是「创建时间 · 深度 · 主题」,**不应出现**任何「N 节」「N 张盘」之类的数字(接口没有给,前端不许编)。 3. 把窗口拉窄到 767px 以内:行内操作换到正文下方、左对齐,不出现横向滚动。 ## F. 失败行 1. 找一份失败的报告(或等一次真实失败)。 2. 通过标准:失败原因写在**行内**(不是挤在右边一小块),能完整读到;不因为太长把行撑破。 ## G. 导出报告(.md)的错误提示 1. 断网后在「已完成」那行点「导出报告(.md)」。 2. 通过标准:该行出现一行红色错误文字,读屏软件按 alert 播报;再联网重试能成功;期间不会重复触发第二次导出。