diff --git a/docs/superpowers/plans/2026-07-17-g01-loading-state.md b/docs/superpowers/plans/2026-07-17-g01-loading-state.md new file mode 100644 index 0000000..9ad5230 --- /dev/null +++ b/docs/superpowers/plans/2026-07-17-g01-loading-state.md @@ -0,0 +1,73 @@ +# G01 Loading State Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** 将 G01 的空心金圈加载态替换为项目统一的 `AppLoading` 朱砂“谱”印加载视觉。 + +**Architecture:** `AppLoading.vue` 继续作为加载视觉的唯一维护入口;G01 只导入组件、传入“正在整理家谱”文案并保留现有辅助说明。旧 `loading-seal` 模板和样式在同一轮移除。 + +**Tech Stack:** uni-app、Vue 3、SCSS、PowerShell 契约测试、Chrome H5。 + +## Global Constraints + +- 只修改 G01 加载分支及其契约,不改变正常、空、失败状态。 +- 不生成新资产,不修改 `AppLoading.vue` 的全局样式。 +- 不使用多代理、worktree 或 Git 写操作。 +- H5 证据不代表 Android/HBuilderX 或 G01 整页正式验收。 + +--- + +### Task 1: G01 统一加载态 + +**Files:** +- Create: `tests/g01-loading-state-contract.ps1` +- Modify: `pages/genealogy/g01-my-genealogies.vue` + +**Interfaces:** +- Consumes: `AppLoading.vue` 的 `text: String` 属性。 +- Produces: G01 `state=loading` 下的 `.state-panel--loading .app-loading` 运行结构。 + +- [ ] **Step 1: 写入失败契约** + +契约必须断言 G01 导入并渲染 ``,保留辅助说明,同时不存在 `loading-seal`。 + +- [ ] **Step 2: 验证契约失败** + +Run: `powershell -NoProfile -ExecutionPolicy Bypass -File tests/g01-loading-state-contract.ps1` + +Expected: FAIL,指出 G01 尚未使用 `AppLoading`。 + +- [ ] **Step 3: 实施最小修改** + +```vue + + + 请稍候,家族记忆正在归卷。 + +``` + +并加入: + +```js +import AppLoading from "@/components/AppLoading.vue"; +``` + +删除 `.loading-seal` 样式;仅为加载辅助说明设置不重复全局 Loading 的间距。 + +- [ ] **Step 4: 验证** + +Run: + +```powershell +powershell -NoProfile -ExecutionPolicy Bypass -File tests/g01-loading-state-contract.ps1 +powershell -NoProfile -ExecutionPolicy Bypass -File tests/g01-empty-state-contract.ps1 +powershell -NoProfile -ExecutionPolicy Bypass -File tests/g01-visual-contract.ps1 +powershell -NoProfile -ExecutionPolicy Bypass -File tests/compile-audit.ps1 +node tests/g01-empty-state-runtime-smoke.js http://localhost:5173 +``` + +Expected: 全部 PASS。 + +- [ ] **Step 5: 视觉复核** + +在 412×900 与 320×568 捕获 `state=loading`,确认朱砂谱印清晰、内容居中、长背景连续、底栏不遮挡且没有横向溢出。 diff --git a/docs/交接记录.md b/docs/交接记录.md index 86784a4..a6beb4c 100644 --- a/docs/交接记录.md +++ b/docs/交接记录.md @@ -1,12 +1,26 @@ # 家谱 APP 换机交接记录 -> 最后更新:2026-07-16 +> 最后更新:2026-07-20 > 用途:更换电脑、重新打开 Codex/GPT 后的唯一接管入口。 > 当前阶段:只做页面样式与视觉流程验收;不对接接口,不做功能验收。 -> 当前施工停点:52 个活动页面均已有基础内部 H5 样式候选;A06 另行封存并保留实现。用户下一审核页仍是 G01,当前没有未施工页面,后续按用户逐页审核意见返工。 +> 当前施工停点:六个模块基准 G01、T07、F01、R01、N01、M01 已由用户明确通过;T01 已完成纵向世系轴候选,留待 2026-07-21 首项人工审核;其余页面已按所属基准完成夜间批量收敛,继续保持 `[~]` 等待人工/Android 验收。最新事实与换机提示见 `docs/夜间批量收敛交接_2026-07-20.md`。 + +## 0. 2026-07-20 最新接管覆盖说明 + +本节覆盖下方仍保留的 2026-07-19 历史停点;不要再从 G01 正常态重新开始。 + +- 活动路由仍为 52 条,A02 已合并,A06 仍封存保留。 +- 用户已明确通过 6 个模块基准:G01、T07、F01、R01、N01、M01。`docs/验收规划.md` 应统计为 6 个 `[x]`、46 个 `[~]`。 +- T01 按用户最终选择的方案 1 完成纵向世系轴候选,明早首先审核 T01;用户未明确通过前不得标 `[x]`。 +- F/R/N/M 的 28 个普通任务页已统一到模块母版并删除重复编号介绍块;F02、T03—T06、T08、G03、G08—G12 已收敛旧跨模块不透明面板引用。 +- 5173 服务运行,52 个页面和 2 个共享组件的 Vite 转换为 54/54;当夜 Chrome 未开放 9222,因禁止新开第二个浏览器/标签页,没有生成虚假的 CDP、截图或四档响应式通过结论。 +- 旧资产命名审计与历史截图数量上限仍是已知失败项;用户明确要求保留全部现有资产、截图、母版和候选,不得通过删除文件或放宽阈值处理。 +- 新会话先完整阅读 `docs/夜间批量收敛交接_2026-07-20.md`,再复核当前工作区和浏览器状态。 ## 1. 接管后先复述的准确停点 +- 2026-07-19 新会话审批停点已单独记录在 `docs/新会话审批交接_2026-07-19.md`:G01 正常列表态已经打开但尚未通过;后续必须复用同一个 Chrome 标签页,逐个展示正常、空、加载、失败、添加家谱弹层、切换家谱弹层、独立滚动和响应式状态,每次等待用户结论后再切换。 + - `pages.json` 当前实际注册 **52 条活动路由**;A06 已从路由表移除但源码保留。 - A02 已删除并合入 A01;不存在需要保留的 A02 兼容入口。 - `docs/验收规划.md` 当前活动页统计为:**52 个待审核、0 个已验收、0 个返工标记、0 个冻结**;A06 属于封存页,不计入这些数量。 diff --git a/static/assets/modules/family/opaque/family-page-background-long.png b/static/assets/modules/family/opaque/family-page-background-long.png new file mode 100644 index 0000000..853e445 Binary files /dev/null and b/static/assets/modules/family/opaque/family-page-background-long.png differ diff --git a/static/assets/modules/genealogy/transparent/g01-add-sheet-background-v1.png b/static/assets/modules/genealogy/transparent/g01-add-sheet-background-v1.png new file mode 100644 index 0000000..a6310f1 Binary files /dev/null and b/static/assets/modules/genealogy/transparent/g01-add-sheet-background-v1.png differ diff --git a/static/assets/modules/profile/opaque/profile-page-background-long.png b/static/assets/modules/profile/opaque/profile-page-background-long.png new file mode 100644 index 0000000..f99b986 Binary files /dev/null and b/static/assets/modules/profile/opaque/profile-page-background-long.png differ diff --git a/static/assets/modules/profile/transparent/m01-profile-menu-frame.png b/static/assets/modules/profile/transparent/m01-profile-menu-frame.png new file mode 100644 index 0000000..26acc1d Binary files /dev/null and b/static/assets/modules/profile/transparent/m01-profile-menu-frame.png differ diff --git a/static/assets/modules/records/transparent/r01-person-name-card.png b/static/assets/modules/records/transparent/r01-person-name-card.png new file mode 100644 index 0000000..26acc1d Binary files /dev/null and b/static/assets/modules/records/transparent/r01-person-name-card.png differ diff --git a/static/assets/modules/tree/opaque/tree-page-background-long.png b/static/assets/modules/tree/opaque/tree-page-background-long.png new file mode 100644 index 0000000..155aecc Binary files /dev/null and b/static/assets/modules/tree/opaque/tree-page-background-long.png differ