4.2 KiB
4.2 KiB
全活动页面业务所有权审计(2026-07-20)
结论
52 条活动路由已经完成业务所有权收敛。活动页面不再引用 ModulePage.vue 或 page-catalog.js;共享层只保留按钮、弹层、Toast、加载、页头、背景和视觉卡片等原语。每个路由自行维护本页的模拟数据、状态、校验、动作及去向,仍未连接接口。
ModulePage.vue、page-catalog.js 和 TreeMemberForm.vue 按“不删除既有源码”的约束保留为历史文件,但活动路由不再消费这些通用业务母版。
五个方案与选择
- 继续使用单一通用业务母版:改动最少,但页面语义、状态和真实入口继续失真,不采用。
- 扩大
page-catalog.js配置:能增加字段,却会把校验、状态机和导航也塞入配置,不采用。 - 每个模块保留一个大型业务母版:比全局母版稍好,但 F、R、N、M 内部页面仍然职责不同,不采用。
- 建立无头 schema 渲染器:扩展性高,但会引入当前项目不需要的抽象和维护成本,不采用。
- 共享视觉原语、路由拥有业务内容:既保持统一国风视觉,又允许列表、详情、编辑器、时间线、消息、安全和服务页表达真实任务,采用。
本轮收敛范围
- F:动态详情、谱文列表/详情/编辑、相册列表/详情/上传、视频状态及 F01 八个真实入口形成闭环。
- R:人物、贺礼、礼仪、成长、人生事、备忘、功德分别拥有专属数据结构、字段、状态和动作。
- N/M:消息卡进入消息详情;资料、安全、密码、手机号、帮助、反馈、推广、订单和关于均为独立页面。
- G:家谱上下文、成员身份、加入申请来源、驳回/撤回再申请、设置草稿和字辈容量由路由参数与数据决定。
- T:T01 根据
generation/parentId计算树布局;T03—T08 按人物、关系及权限状态工作,不再用演示标签切状态。 - 共享组件:按钮改为原生可聚焦按钮;弹层补齐对话框语义、焦点和 Escape;Toast/Loading 补齐 live region 与减少动态效果;页头返回支持深链兜底。
数据与布局边界
- 普通列表和卡片由数据循环与自然高度撑开,不依赖固定条数或绝对坐标。
- T01 的布局尺寸从成员关系计算,测试覆盖 10 世代、每代 12 人的 120 节点压力数据。
- 容量合同覆盖 50 条列表、50 条弹层、30 项媒体、三倍长文本和 1.3 倍字号;103 个保留风险均精确到文件、选择器和风险类型。
- 定位合同扫描所有
position值(包括relative);必要定位精确白名单之外无违规,也无失效白名单。
验证证据
- 52 条活动路由及 2 个共享组件 Vite 转换:54/54。
- PowerShell 合同:119 项中 118 项通过;唯一失败为既有基础资产候选式命名。A01 预览已从可复现管线重新生成,G06 一致性合同已改读长期 handoff 证据,不再依赖已清理的 runtime 目录。
- 浏览器运行时 smoke:排除会写回已清理长期目录的旧 T07 baseline 后,26/26 通过。
- 52 个活动页面均在 360×800 捕获当前图到
%TEMP%,按 A/G/T、F、R、N/M 生成联系表,并与现有同模块长期候选图复核;未发现横向溢出、明显裁切、错误复用母版或不可达主动作。 - 四档视口:320×568、360×640、360×800、412×915;覆盖模块响应式、数据压力和主要业务状态。
明确边界
- 本轮结论是 H5 本地模拟数据阶段的页面实现与内部审核完成,不代表接口、持久化、上传权限、微信能力、Android/HBuilderX、软键盘或真机性能完成。
- F01、T01、A05 及大量业务页发生可见变化;自动审计不能替用户维持或新增
[x]。这些页面保持“待用户复核”,只有用户再次明确说“通过”才更新视觉冻结状态。 foundation-asset-audit仍未通过,未放宽规则或删除实际资产。repository-handoff-size-contract通过补齐可再生成目录的忽略规则后已真实通过(35 个长期截图、19.51MB、52 个索引链接),没有删除长期资料或放宽阈值。