Files
jiapuapp/docs/active-page-business-ownership-audit_2026-07-20.md
T
2026-07-21 07:53:08 +08:00

4.2 KiB
Raw Blame History

全活动页面业务所有权审计(2026-07-20)

结论

52 条活动路由已经完成业务所有权收敛。活动页面不再引用 ModulePage.vuepage-catalog.js;共享层只保留按钮、弹层、Toast、加载、页头、背景和视觉卡片等原语。每个路由自行维护本页的模拟数据、状态、校验、动作及去向,仍未连接接口。

ModulePage.vuepage-catalog.jsTreeMemberForm.vue 按“不删除既有源码”的约束保留为历史文件,但活动路由不再消费这些通用业务母版。

五个方案与选择

  1. 继续使用单一通用业务母版:改动最少,但页面语义、状态和真实入口继续失真,不采用。
  2. 扩大 page-catalog.js 配置:能增加字段,却会把校验、状态机和导航也塞入配置,不采用。
  3. 每个模块保留一个大型业务母版:比全局母版稍好,但 F、R、N、M 内部页面仍然职责不同,不采用。
  4. 建立无头 schema 渲染器:扩展性高,但会引入当前项目不需要的抽象和维护成本,不采用。
  5. 共享视觉原语、路由拥有业务内容:既保持统一国风视觉,又允许列表、详情、编辑器、时间线、消息、安全和服务页表达真实任务,采用。

本轮收敛范围

  • F:动态详情、谱文列表/详情/编辑、相册列表/详情/上传、视频状态及 F01 八个真实入口形成闭环。
  • R:人物、贺礼、礼仪、成长、人生事、备忘、功德分别拥有专属数据结构、字段、状态和动作。
  • N/M:消息卡进入消息详情;资料、安全、密码、手机号、帮助、反馈、推广、订单和关于均为独立页面。
  • G:家谱上下文、成员身份、加入申请来源、驳回/撤回再申请、设置草稿和字辈容量由路由参数与数据决定。
  • TT01 根据 generation/parentId 计算树布局;T03—T08 按人物、关系及权限状态工作,不再用演示标签切状态。
  • 共享组件:按钮改为原生可聚焦按钮;弹层补齐对话框语义、焦点和 EscapeToast/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 个索引链接),没有删除长期资料或放宽阈值。