feat: add chart waiting states and report block exports
Add bounded chart loading, per-layer retry states, and shared SVG skeletons. Add report block downloads with SVG, localized metadata, and inline deletion. Record verification and retain CRLF export, full-build, and controlled-device acceptance blockers. User authorized staging delivery with these gaps documented. Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
# 星盘盘位等待态真机清单(2026-09-24)
|
||||
|
||||
状态:受控登录及真机待执行。单星盘与最终组合工作树分别完成隔离真实Chrome153组件验收13/13(真实组件/CSS、mock接口、虚构golden、全新profile);这不替代本表真人和部署验收,证据见PROGRESS。仅使用产品提供的受控账户和明确虚构的出生资料;不借用他人登录态。只记录脱敏结果,不保存Cookie、姓名、出生数据或完整响应。
|
||||
|
||||
| 项目 | 操作 | 通过标准 | 结果 |
|
||||
| --- | --- | --- | --- |
|
||||
| 冷进与尺寸 | 375px、390px、桌面冷进 `/chart`,在受控网络中延迟主盘响应 | 五个 Tab 可见禁用;空北印盘轻缓呼吸,下面原等待句;盘到后可用且标题/侧栏不抖动,页面无横滚 | 待验 |
|
||||
| 暖进 | 主盘成功后离开再进入 | 缓存立即显示,不重放骨架;后台更新不抹已完成的分盘/西洋结果 | 待验 |
|
||||
| 非 D1 | 冷点 D9、D10 | 空北印盘与分盘等待句;成功移除骨架,不残留假度数/星体 | 待验 |
|
||||
| 西洋 | 冷点西洋 | 复用原西洋轮廓空盘,不显示星体/星座/上升标签;返回后正常渲染 | 待验 |
|
||||
| 429 与恢复 | 在受控测试环境连续点西洋/七政/D9/D10,或由测试代理对所请求层返回引擎忙响应 | busy 显示「算盘的服务正忙,稍等几秒再打开就好。」而非永久等待;再点原 Tab/chip 清失败、重新 pending 后可恢复。不要修改共享服务器并发来造故障 | 待验 |
|
||||
| 两类限流 | 分别注入引擎 busy 与 BFF rate_limited | 前者 busy 句;后者「刚才打开得太勤,稍等再试。」;不混淆 | 待验 |
|
||||
| 真超时 | 已下载页面脚本的标签页清星盘内存缓存,通过受控网络让 `/api/chart-view` 持续不响应 | 前台活动约25秒内显示「这张盘等了太久没有回来,再打开一次试试。」且骨架结束。浏览器休眠会暂停 AbortSignal 活跃时间,不据此承诺墙钟期限 | 待验 |
|
||||
| 断网 | 已下载脚本后断网打开星盘 | 立即网络失败可显示既有 unavailable;只有持续挂起才显示 timedOut,不把断网立即拒绝误写为超时。恢复网络重新打开可重试 | 待验 |
|
||||
| 未登录 | 受控退出登录后进页;另测查看时会话过期点分盘 | 先出现「请先登录后再看星盘。」再去 `/login`,不留空盘等到超时 | 待验 |
|
||||
| 减弱动态效果 | 开系统减弱动态效果,再冷进或延迟 D9 | 空盘静止 opacity 0.5,等待句清楚可读;无旋转/扫光 | 待验 |
|
||||
| 表格与其它页 | 点大运/七政;打开星历/报告列表 | 大运和七政只有静态等待句,失败给原因;星历/报告列表无新骨架或呼吸 | 待验 |
|
||||
| 资料失效 | 请求延迟时保存新虚构出生资料,再进星盘,随后释放旧响应 | 只显示新资料对应盘,不用旧层结果覆盖新主体 | 待验 |
|
||||
| 无障碍 | 键盘与读屏进入,数据挂起/成功/失败 | 骨架容器 busy,装饰盘不重复朗读;文字在容器下方;失败后无 busy,Tab 可操作 | 待验 |
|
||||
|
||||
部署前还需主会话全量名称/失败比较、构建 `/` 和 `/chart` Static、首屏 gzip ±2% 与 staging health SHA;这些不是本清单未执行即可宣称通过的项目。
|
||||
@@ -0,0 +1,38 @@
|
||||
# 报告分块导出 / 列表管理真人清单(2026-09-24)
|
||||
|
||||
## 状态与安全边界
|
||||
|
||||
受控登录/iPhone/微信真人验收尚未执行。仅使用受控账号与明确虚构资料,不借用登录态,不保存报告个人信息、Cookie或JWT。登记系统、浏览器版本、实际部署SHA与通过/未通过/环境缺口。
|
||||
|
||||
单报告工作树隔离Chrome153组件验收13/13,最终组合树另跑14/14(额外覆盖真实fallback SVG下载)通过:真实CSS与组件,白名单mock接口、虚构golden、全新profile,无pageerror;4种实际.md下载及SVG离线呈现通过。此证据不替代完整Next服务器、数据库持久化或真机。详情与本地证据见 `../tasks/PROGRESS-report-chapter-export-20260924.md`。
|
||||
|
||||
**已知未通过项**:CRLF输入会继承旧剥离器缺陷,正文保留图盘JSON;当前不满足“所有输入无JSON”验收。修复涉及D5有限例外,未获授权,见 `../tasks/TASK-report-chapter-export-fix-20260924.md`。不要据LF golden成功勾掉本项。
|
||||
|
||||
## 待真人逐项执行
|
||||
|
||||
- [ ] iPhone Safari ready报告点「分块导出」:底部抽屉、默认常用、头尾可见、中部滚动;计数来自实际文本(包括Markdown/SVG标记)。
|
||||
- [ ] 套餐替换选择;手动勾选取消套餐高亮;取消全选后按钮禁用。
|
||||
- [ ] 仅勾三章,下载一个文件名含 `-节选` 的 `.md`;文件App打开后内容/顺序正确,没有图盘JSON或工程字段。
|
||||
- [ ] 选「常用」即全部正文:文件名不含节选,与升级前同一报告旧导出逐字节相同,原安全SVG保留。**D5针对正文全选,不是所有组全选。** CRLF已知例外必须单独记录失败。
|
||||
- [ ] 所有组全选:正文后附分盘/核对表,比旧正文增加内容;每张分盘有SVG,重复D9两个出现项不丢,核对表子表/列/显示精度一致。
|
||||
- [ ] 仅分盘/仅核对表独立下载正常,文件名含节选。
|
||||
- [ ] 无原引擎SVG时fallback可离线打开,宫位、符号、图例可读,不依赖应用CSS或新请求。
|
||||
- [ ] 对照盘图式与标题:当前复用旧引擎SVG可能是南印矩形图式,标题沿用“北印度盘”;登记差异,不以新造几何掩盖。
|
||||
- [ ] 桌面展开/折叠侧栏、平板:抽屉不盖侧栏、最大760px/70%,860px起两列,窄屏一列,无横向溢出,控件至少44px。
|
||||
- [ ] Tab/Shift+Tab不会激活背景控件;Esc/遮罩/关闭可退出,点内容不退出,焦点回入口且不滚动正文。Chrome浏览器工具栏焦点中转不误判为背景控件获焦。
|
||||
- [ ] 列表ready行「分块导出」直达抽屉;ready后只开一次、清#export且保留query;关闭后不重开;其它状态无导出入口。
|
||||
- [ ] 列表日期、深度、主题中文;未知id原样回退;状态同时有文字和三色,ready纸色,其它canvas。
|
||||
- [ ] 每种状态菜单只有删除,取消不请求;重复确认只发一次DELETE;HTTP失败/断网留行并报短错误,重试成功移除。
|
||||
- [ ] 删除期间旧GET在途,返回后不复活;刷新/离开重进不出现。**持久化须受控账号实测,mock不能代替。**
|
||||
- [ ] 成功触发下载后关闭并提示一次「已导出N块」;下载器可检测失败时保留抽屉/选择、不发成功提示。浏览器不能保证用户最终保存文件,不能把toast当磁盘持久化证明。
|
||||
- [ ] 微信真机沿用系统浏览器提示,不下载、不关闭、不误报成功;切系统浏览器后可下载。
|
||||
- [ ] 返回、打印、核对表打印前展开/打印后恢复、原始附录下载仍可用;普通导出无额外GET、服务端PDF或clipboard。
|
||||
- [ ] CRLF真实golden无JSON回归在获准修复后重验,同时保留冻结旧LF输出逐字节比较,不能仅比较两个共享修改后helper的函数。
|
||||
- [ ] 完整构建后核对 `/`、`/chart` Static,`/reports`、`/reports/[reportId]` 与基线动态标记一致;首页gzip±2%。
|
||||
- [ ] staging发布后health deployment.gitCommit等于本轮含代码提交;未发布前不填通过。
|
||||
|
||||
## 记录模板
|
||||
|
||||
| 环境 / 版本 / 部署SHA | 条目 | 通过 / 未通过 / 环境缺口 | 脱敏证据与说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| 待填 | 待填 | 待执行 | 不放真实身份、报告内容或凭据 |
|
||||
Reference in New Issue
Block a user