diff --git a/AGENTS.md b/AGENTS.md
index f92d1bf..e1448f8 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -1,7 +1,7 @@
# 善缘丹阳 V1.1 - AGENTS.md
> 本文件为项目最高执行规则摘要,Codex 每次启动时必须首先阅读。
-> 版本:V1.1 | 最后更新:2026-09-08 | 基线:v1.0.0-RC.2
+> 版本:V1.1 | 最后更新:2026-09-13 | 基线:v1.0.0-RC.2
---
@@ -11,7 +11,7 @@
1. `docs/善缘丹阳 V1.1 Codex最终主启动提示词(整合版).md`:执行纪律、产品红线、不变量和阶段门禁;
2. `docs/善缘丹阳 V1.1 页面级功能清单与交互流程修订版.md`:页面、功能、状态和用户路径;
-3. `docs/善缘丹阳 V1.1 前端 UI-UX 高保真原型修订说明.md`:视觉、组件、响应式和前端验收;
+3. `docs/superpowers/specs/2026-09-13-reference-driven-dual-client-ui-redesign-design.md`:当前唯一 UI 视觉、组件、响应式和前端验收基线;
4. `docs/善缘丹阳 V1.1 数据库与API增量设计.md`:数据模型、API、事务、幂等和权限契约;
5. `docs/善缘丹阳 V1.1 Codex 开发执行计划修订版.md`:Phase 顺序和增量实施策略;
6. `docs/善缘丹阳 V1.1 Codex-Jira 最终开发任务增量清单.md`:任务粒度、依赖和验收条件。
@@ -20,7 +20,9 @@
V1.1 是 V1.0 的增量升级。正确的 V1.0 核心按 KEEP 处理,不得因为重新审查而推倒重写;错误首页和活动互选规则必须替换,新增业务按 EXTEND / REFACTOR / REPLACE / ADD 执行。
-当前唯一执行计划:`docs/善缘丹阳 V1.1 客户需求基线增量开发与修复计划.md`。
+业务 Phase 唯一执行计划:`docs/善缘丹阳 V1.1 客户需求基线增量开发与修复计划.md`。
+
+当前 UI 重设计唯一总计划:`docs/superpowers/plans/2026-09-13-reference-driven-dual-client-ui-redesign.md`。旧 Phase 07 视觉实现及其截图已被用户否决;Phase 08 暂停,必须先完成 UI 清理门禁,再按管理端框架/工作台和小程序 11 个核心页面的顺序重构。
---
@@ -158,7 +160,7 @@ Phase 完成后必须输出 Completion Report,不得自动进入下一阶段
- Jira 任务清单: `docs/善缘丹阳 V1.1 Codex-Jira 最终开发任务增量清单.md`
- 开发执行计划: `docs/善缘丹阳 V1.1 Codex 开发执行计划修订版.md`
- 数据库/API设计: `docs/善缘丹阳 V1.1 数据库与API增量设计.md`
-- 前端 UI/UX: `docs/善缘丹阳 V1.1 前端 UI-UX 高保真原型修订说明.md`
+- 前端 UI/UX: `docs/superpowers/specs/2026-09-13-reference-driven-dual-client-ui-redesign-design.md`
- 页面级功能: `docs/善缘丹阳 V1.1 页面级功能清单与交互流程修订版.md`
- 状态跟踪: `docs/STATUS.md`
- 待确认项: `docs/PENDING_DECISIONS.md`
diff --git a/artifacts/tabbar-icons-preview.png b/artifacts/tabbar-icons-preview.png
deleted file mode 100644
index fec4a8e..0000000
Binary files a/artifacts/tabbar-icons-preview.png and /dev/null differ
diff --git a/artifacts/ui-v11/admin-counselor-1366.png b/artifacts/ui-v11/admin-counselor-1366.png
deleted file mode 100644
index 3e2b7eb..0000000
Binary files a/artifacts/ui-v11/admin-counselor-1366.png and /dev/null differ
diff --git a/artifacts/ui-v11/admin-dashboard-1440.png b/artifacts/ui-v11/admin-dashboard-1440.png
deleted file mode 100644
index bcad7ef..0000000
Binary files a/artifacts/ui-v11/admin-dashboard-1440.png and /dev/null differ
diff --git a/artifacts/ui-v11/admin-station-1366.png b/artifacts/ui-v11/admin-station-1366.png
deleted file mode 100644
index 40d26fc..0000000
Binary files a/artifacts/ui-v11/admin-station-1366.png and /dev/null differ
diff --git a/artifacts/ui-v11/miniapp-home-320.png b/artifacts/ui-v11/miniapp-home-320.png
deleted file mode 100644
index 7f56b4e..0000000
Binary files a/artifacts/ui-v11/miniapp-home-320.png and /dev/null differ
diff --git a/artifacts/ui-v11/miniapp-home-375.png b/artifacts/ui-v11/miniapp-home-375.png
deleted file mode 100644
index 1c45e23..0000000
Binary files a/artifacts/ui-v11/miniapp-home-375.png and /dev/null differ
diff --git a/artifacts/ui-v11/miniapp-home-390.png b/artifacts/ui-v11/miniapp-home-390.png
deleted file mode 100644
index 66a4b7d..0000000
Binary files a/artifacts/ui-v11/miniapp-home-390.png and /dev/null differ
diff --git a/artifacts/ui-v11/miniapp-home-430.png b/artifacts/ui-v11/miniapp-home-430.png
deleted file mode 100644
index 1e3a985..0000000
Binary files a/artifacts/ui-v11/miniapp-home-430.png and /dev/null differ
diff --git a/artifacts/ui-v11/miniapp-home-preview.html b/artifacts/ui-v11/miniapp-home-preview.html
deleted file mode 100644
index 6efaee1..0000000
--- a/artifacts/ui-v11/miniapp-home-preview.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
善缘丹阳小程序首页预览界面预览数据
✓ 已实名✓ 本地资格✓ 资料已审核
让真诚的相遇,在丹阳发生
实名认证 · 人工审核 · 公益服务
了解平台 ›今日推荐根据双方条件,为你认真筛选
查看更多林
林女士 · 29岁 已认证
165cm · 丹阳 · 教育行业
✓ 双方生活规划较为契合
✓ 都期待认真稳定的关系
不合适喜欢
善缘公益服务需要时,我们在这里陪伴你
需要更有温度的帮助?公益红娘尊重双方意愿并提供人工推荐
申请 ›
\ No newline at end of file
diff --git a/docs/JIRA_BACKLOG.md b/docs/JIRA_BACKLOG.md
index 54435d4..c6fce99 100644
--- a/docs/JIRA_BACKLOG.md
+++ b/docs/JIRA_BACKLOG.md
@@ -3,12 +3,20 @@
> V1.0 Phase 01~26 基础 + V1.1 增量任务合并基线
> 版本:v1.1.0-dev | 最后更新:2026-09-08
-> **2026-09-09 状态校正:** 本文件中的既有 `✅` 是历史开发声明,不再作为验收证据。当前 Admin type-check、Miniapp TypeScript、权限负向测试和 E2E 均未通过可信门禁,因此相关任务统一视为 `待复验`;只有新的 Phase Completion Report 附带测试输出后才可恢复完成状态。
+> **2026-09-13 状态校正:** 本文件中的既有 `✅` 是历史开发声明,不再单独作为验收证据。Phase 01~06 已由恢复版 Completion Report 重新举证;Phase 07 仅保留业务测试证据,管理端与小程序视觉已被用户否决并重新打开。Phase 08 暂停,当前先执行 UI 清理与参考图重设计。
| 当前执行项 | 状态 | 依据 |
|---|---|---|
| Phase 01 项目治理与检查基线 | 已完成 | Git 基线已建立,提交 `b46b48e` |
-| Phase 02 统一认证、RBAC、DataScope | 已完成 | 见 `Phase-02-V11-Recovery-Completion-Report-2026-09-10.md`;Phase 03 尚未获准 |
+| Phase 02 统一认证、RBAC、DataScope | 已完成 | 见 `Phase-02-V11-Recovery-Completion-Report-2026-09-10.md` |
+| Phase 03 实名认证增量预留 | 已完成 | 见 `Phase-03-V11-Recovery-Completion-Report-2026-09-12.md` |
+| Phase 04 Profile、Preference 与本地资格 | 已完成 | 见 `Phase-04-V11-Recovery-Completion-Report-2026-09-12.md`;Phase 05 尚未获准 |
+| Phase 05 统一审核扩展 | 已完成 | 见 `Phase-05-V11-Recovery-Completion-Report-2026-09-12.md`;Phase 06 尚未开始 |
+| Phase 06 Match Eligibility 增量 | 已完成 | 见 `Phase-06-V11-Recovery-Completion-Report-2026-09-12.md`;Phase 07 尚未开始 |
+| Phase 07 V1.1 首页唯一实现 + 找对象 | REOPENED:视觉否决 | 保留首页聚合、Capability、8 入口和推荐规则证据;UI 按 2026-09-13 新规格重新实现 |
+| UI-CLEANUP-20260913 | 进行中 | 清理废弃 UI 代码、冲突规范、旧计划和无效验收证据 |
+| UI-ADMIN-20260913 | 待开始 | 清理门禁后重构管理端全局框架与工作台 |
+| UI-MINIAPP-20260913 | 待开始 | 管理端验收后重构小程序 11 个核心页面 |
| V1.1 UAT / RC / Production | NO-GO | 构建、权限、E2E 和页面闭环尚未通过 |
---
@@ -130,7 +138,7 @@
### MeStatus
- P04-V11-T11 ✅ /me/status增加localEligibilityStatus
-- P04-V11-T12 ⏳ CapabilityService接入本地资格(Phase 07整合)
+- P04-V11-T12 ✅ CapabilityService接入本地资格(Phase 07整合)
---
diff --git a/docs/Phase-07-V11-Recovery-Completion-Report-2026-09-13.md b/docs/Phase-07-V11-Recovery-Completion-Report-2026-09-13.md
new file mode 100644
index 0000000..616219d
--- /dev/null
+++ b/docs/Phase-07-V11-Recovery-Completion-Report-2026-09-13.md
@@ -0,0 +1,37 @@
+# Phase 07 Completion Report
+
+> **2026-09-13 状态更正:视觉结论已失效。** 用户已否决本报告中的管理端与小程序页面设计结果。下述后端首页聚合、Capability、8 入口、TypeScript 迁移和业务测试证据继续保留;旧截图、旧设计契约及“视觉通过”表述不得作为当前验收依据。
+
+> 阶段:V1.1 首页唯一实现 + 找对象(REPLACE)
+> 日期:2026-09-13
+> 结论:业务专项证据保留;UI REOPENED;项目整体继续 NO-GO
+
+## 完成范围
+
+- `HomeApplicationService` 聚合真实实名、资料、审核、本地资格、正式推荐、Banner、活动、服务站和内容数据。
+- 服务端 Capability 按正常账户、实名、资料审核、关系状态和推荐开关返回,入口展示服务端 Disabled 原因。
+- 修正固定 8 个入口和公益服务建议的真实页面路由,Banner 仅允许内部目标。
+- 首页和找对象页统一为 TypeScript 运行源,删除重复 `index.js`、`discover.js`。
+- 曾尝试按参考图重建页面视觉,但该实现已被用户否决,现按 2026-09-13 新规格重新设计。
+- 保留未登录、未实名、审核中、Searching、Paused、Successful、空数据、网络错误和 Skeleton 状态。
+
+## 验证证据
+
+- Backend 受影响回归:19 tests,0 failures,0 errors,0 skipped。
+- Backend Docker 镜像构建成功,容器 healthy;`/api/v1/health/live` 返回 200,未认证 `/api/v1/home` 返回 403。
+- `ui-tests/phase07-home-contracts.mjs`:通过。
+- `ui-tests/miniapp-redesign-contracts.mjs`:历史执行曾通过,但该视觉契约已失效并删除。
+- Miniapp `tsc --noEmit`:通过。
+- 微信开发者工具 2.02.2608070:实际项目预览已自动编译,未发现 WXML/WXSS 页面编译错误。
+- 旧视觉证据已删除,不再作为验收依据。
+- `git diff --check`:通过。
+
+## 已知限制
+
+- 开发者工具安全设置中的 CLI 服务端口仍关闭,当前证据来自 GUI 自动编译日志与实际预览封面;不影响本地开发者工具运行。
+- 参考图人物属于设计演示数据,系统无真实推荐时继续展示空状态,不写入或伪造用户资料。
+- Backend 全量历史测试债务、后续 Phase 与 UAT/RC/Production 尚未完成,整体维持 NO-GO。
+
+## 下一阶段
+
+Phase 08 已暂停。先执行 2026-09-13 UI 清理计划,完成清理报告并经用户确认后,依次进入管理端框架/工作台和小程序 11 个核心页面重设计。
diff --git a/docs/STATUS.md b/docs/STATUS.md
index ac8478b..caa5f8b 100644
--- a/docs/STATUS.md
+++ b/docs/STATUS.md
@@ -1,8 +1,8 @@
# 项目状态跟踪 — STATUS.md
-> **2026-09-10 当前有效结论:`V1.1 INCREMENTAL RECOVERY / PHASE 02 COMPLETE / NO-GO`。** Phase 01 Git 基线已建立,Phase 02 统一认证、RBAC、DataScope 与拒绝审计已完成专项门禁;尚未获准进入 Phase 03,UAT/RC/Production 继续 NO-GO。
+> **2026-09-13 当前有效结论:`V1.1 INCREMENTAL RECOVERY / PHASE 07 BUSINESS VERIFIED / UI REOPENED / NO-GO`。** Phase 07 的后端首页聚合、Capability 与 8 入口业务证据保留,但管理端和小程序视觉结果已被用户否决并重新打开;Phase 08 暂停,当前先执行旧 UI 代码与冲突文档治理。UAT/RC/Production 继续 NO-GO。
-最后更新: 2026-09-10 — 分支 `phase/02-rbac-datascope`
+最后更新: 2026-09-13 — 分支 `codex/ui-v11-fidelity`
## 当前唯一有效状态
@@ -10,9 +10,15 @@
|---|---|---|
| Phase 01 项目治理与 Git 基线 | 已完成 | Git 基线提交 `b46b48e` |
| Phase 02 认证、RBAC、DataScope | 已完成 | `Phase-02-V11-Recovery-Completion-Report-2026-09-10.md`;专项 38/38 通过 |
+| Phase 03 实名认证增量预留 | 已完成 | `Phase-03-V11-Recovery-Completion-Report-2026-09-12.md`;实名专项 9/9、Phase 03 契约 1/1 通过 |
+| Phase 04 Profile、Preference 与本地资格 | 已完成 | `Phase-04-V11-Recovery-Completion-Report-2026-09-12.md`;后端专项 3/3、小程序契约通过 |
+| Phase 05 统一审核扩展 | 已完成 | `Phase-05-V11-Recovery-Completion-Report-2026-09-12.md`;后端专项 4/4、Admin 构建、Docker/Flyway 通过 |
+| Phase 06 Match Eligibility 增量 | 已完成 | `Phase-06-V11-Recovery-Completion-Report-2026-09-12.md`;推荐专项 21/21、契约与 Docker 验证通过 |
+| Phase 07 V1.1 首页业务与找对象 | 业务证据保留,UI 待重新实现 | `Phase-07-V11-Recovery-Completion-Report-2026-09-13.md`;视觉结论已失效,执行 2026-09-13 参考图重设计规格 |
| Backend 全量回归 | 未全绿 | 277 tests:4 failures、8 errors、3 skipped;均登记为既有跨阶段测试债务 |
-| Admin Web | 通过 | `npm run type-check` 与 `npm run build` 均通过 |
-| Phase 03 及以后 | 未开始 | 等待用户明确确认 |
+| Admin Web | 部分复验通过 | 2026-09-12 type-check 通过;production build 本阶段未复验 |
+| 当前 UI 治理 | 进行中 | 先清理冲突代码、规范、计划、进度和旧验收证据,完成后等待用户验收 |
+| Phase 08 及以后 | 已暂停 | 存在局部未验收改动,不得在 UI 清理和首批重设计期间继续扩展 |
| UAT / RC / Production | NO-GO | 后续 Phase 与全量历史测试债务未收口 |
---
@@ -200,7 +206,7 @@
| 模块 | 对应 Phase | 状态 |
|------|-----------|------|
-| Home Aggregate API + V1.1首页 | Phase 07 | ⏳ 待开发 |
+| Home Aggregate API + V1.1首页 | Phase 07 | ✅ 已完成 |
| Banner 管理(后端+前端) | Phase 19 | ⏳ 待开发 |
| 本地资格声明与审核 | Phase 04~05 | ⏳ 待开发 |
| 公益红娘服务转介 | Phase 13 | ✅ 已完成 |
diff --git a/docs/UI-V11-Visual-Acceptance-2026-09-10.md b/docs/UI-V11-Visual-Acceptance-2026-09-10.md
deleted file mode 100644
index 129cce7..0000000
--- a/docs/UI-V11-Visual-Acceptance-2026-09-10.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# 善缘丹阳 V1.1 双端 UI 可视验收记录
-
-日期:2026-09-10
-分支:`codex/ui-v11-fidelity`
-
-## 本轮成果
-
-小程序端完成 U18 固定首页结构与 8 个固定入口;新增统一 ErrorState;补齐公益服务中心、善缘服务站、服务预约、我的预约、婚恋课堂、内容详情、婚恋反诈、专项公益服务、公益服务记录;U37“我的”改为文档规定的四组;U28 活动详情从占位页改为完整页面;U55 咨询与红娘分离;U58 移除高饱和婚庆式视觉。
-
-管理后台改为 220px 暖白侧栏、分组权限菜单和公益品牌视觉。工作台按资料审核、婚恋咨询、服务站等角色分别展示职责说明、今日待办与快捷入口,不再使用通用大盘。
-
-## 可视文件
-
-- 小程序首页:320、375、390、430px 响应式截图。
-- 管理后台:资料审核 1440×900、咨询人员 1366×768、服务站人员 1366×768 实际运行截图。
-- `miniapp-home-preview.html` 是未安装微信开发者工具时的同尺寸审查画布;实际代码位于 `miniapp/pages/`。
-
-## 验证
-
-- `node ui-tests/ui-contracts.mjs`:通过。
-- 新增和修改的小程序 JavaScript 语法检查:通过。
-- `npm run type-check --prefix miniapp`:通过。
-- `npm run type-check --prefix admin-web`:通过。
-- `npm run build --prefix admin-web`:通过,成功构建 1725 个模块。
-- `git diff --check`:通过,仅有 LF/CRLF 提示。
-
-## 尚需继续
-
-本机未检测到微信开发者工具,小程序需补模拟器/真机截图。管理后台二级业务页,以及小程序找对象、消息、聊天、活动列表、用户详情、红娘页,下一轮继续逐页精修;本记录不把这些页面声明为已完成。
\ No newline at end of file
diff --git a/docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md b/docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md
index b1e4f80..4381fe1 100644
--- a/docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md
+++ b/docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md
@@ -1,101 +1,44 @@
-# 善缘丹阳 V1.1 双端 UI 重设计页面矩阵
+# 善缘丹阳 V1.1 当前 UI 重设计页面矩阵
-> 基线:2026-09-11。矩阵只跟踪现有页面的 UI 改造,不改变 API、权限、数据模型和核心业务规则。状态仅使用:未开始、进行中、待验收、通过、阻塞。
+> 基线:2026-09-13。唯一视觉规格:`docs/superpowers/specs/2026-09-13-reference-driven-dual-client-ui-redesign-design.md`。
+>
+> 本矩阵只跟踪当前已确认范围:管理端全局框架与工作台、小程序首批 11 个核心页面。其余现有业务页面继续保留,列入后续批次,不得据此删除路由或功能。
-## 管理端(19 条路由)
+## 管理端第一批
-| 终端 | 页面 | 路由 | 业务域 | 权限/能力 | 数据源 | 必备状态 | 状态 |
-|---|---|---|---|---|---|---|---|
-| 管理端 | 登录 | `/login` | 认证 | 公开 | 登录 API | 默认、提交中、失败 | 未开始 |
-| 管理端 | 工作台 | `/dashboard` | 工作台 | 已登录 | 统计与待办 API | 加载、空、错误 | 未开始 |
-| 管理端 | 资料审核 | `/review` | 用户与审核 | review.view | 审核 API | 加载、空、错误、无权限 | 未开始 |
-| 管理端 | 活动互选管理 | `/activities/interests` | 活动与阵地 | activity.review_registration | 活动互选 API | 加载、空、错误、无权限 | 未开始 |
-| 管理端 | 举报中心 | `/risk/reports` | 安全治理 | risk.report.view | 举报 API | 加载、空、错误、无权限 | 未开始 |
-| 管理端 | 申诉管理 | `/appeals` | 安全治理 | risk.report.process | 申诉 API | 加载、空、错误、无权限 | 未开始 |
-| 管理端 | 用户管理 | `/users` | 用户与审核 | user.view | 用户 API | 加载、空、错误、无权限 | 未开始 |
-| 管理端 | 用户详情 | `/users/detail` | 用户与审核 | user.view + user.sensitive.view | 用户详情 API | 加载、错误、无权限、脱敏 | 未开始 |
-| 管理端 | 组织管理 | `/organizations` | 组织与权限 | organization.manage | 组织 API | 加载、空、错误、无权限 | 未开始 |
-| 管理端 | 工作人员管理 | `/operators` | 组织与权限 | permission.manage | Operator API | 加载、空、错误、无权限 | 未开始 |
-| 管理端 | 数据统计 | `/analytics` | 数据分析 | analytics.view | 统计 API | 加载、空、错误、无权限 | 未开始 |
-| 管理端 | 操作日志 | `/audit` | 安全治理 | user.view | 审计 API | 加载、空、错误、无权限 | 未开始 |
-| 管理端 | Banner 管理 | `/banner` | 内容运营 | banner.view | Banner API | 加载、空、错误、无权限 | 未开始 |
-| 管理端 | 内容管理 | `/content` | 内容运营 | content.view | 内容 API | 加载、空、错误、无权限 | 未开始 |
-| 管理端 | 善缘服务站 | `/service-station` | 活动与阵地 | service_location.view | 服务站 API | 加载、空、错误、无权限 | 未开始 |
-| 管理端 | 服务预约 | `/service-appointment` | 活动与阵地 | service_appointment.view | 预约 API | 加载、空、错误、无权限 | 未开始 |
-| 管理端 | 专项服务项目 | `/service-program` | 婚恋服务 | service_program.manage | 专项服务 API | 加载、空、错误、无权限 | 未开始 |
-| 管理端 | 婚恋咨询 | `/counseling` | 婚恋服务 | counseling.service.view | 咨询 API | 加载、空、错误、无权限 | 未开始 |
-| 管理端 | 转介管理 | `/referral` | 婚恋服务 | referral.manage | 转介 API | 加载、空、错误、无权限 | 未开始 |
+| 页面/区域 | 路由 | 数据与权限 | 必备状态 | 当前状态 |
+|---|---|---|---|---|
+| 全局背景与系统容器 | 全部登录后路由 | 已登录 | 桌面两种目标分辨率 | 待开始 |
+| 深色侧栏与顶部栏 | 全部登录后路由 | 现有路由权限 | 展开、收起、搜索反馈、通知反馈、退出 | 待开始 |
+| 工作台 | `/dashboard` | 授权统计与活动 API | 加载、空、错误、无权限、重试 | 待开始 |
-## 小程序(63 个页面)
+管理端其他 18 条现有业务路由为后续批次。本批只要求它们继续在新框架中可进入且权限行为不退化。
-| 终端 | 页面 | 路由 | 业务域 | 权限/能力 | 数据源 | 必备状态 | 状态 |
-|---|---|---|---|---|---|---|---|
-| 小程序 | 首页 | `/pages/index/index` | 首页 | Home Capability | 首页聚合 API | 加载、空、错误、能力禁用 | 未开始 |
-| 小程序 | 找对象 | `/pages/discover/discover` | 匹配 | Match Capability | 推荐 API | 加载、空、错误、能力禁用 | 未开始 |
-| 小程序 | 消息 | `/pages/messages/messages` | 沟通 | Mutual Match | 会话 API | 加载、空、错误、未匹配 | 未开始 |
-| 小程序 | 活动 | `/pages/activity/activity` | 活动 | Activity Capability | 活动 API | 加载、空、错误、能力禁用 | 未开始 |
-| 小程序 | 我的 | `/pages/mine/mine` | 个人中心 | 已登录 | 用户与服务 API | 加载、空、错误 | 未开始 |
-| 小程序 | 登录 | `/pages/login/login` | 认证 | 公开 | 微信登录 API | 默认、提交中、失败 | 未开始 |
-| 小程序 | 绑定手机 | `/pages/bind-phone/bind-phone` | 认证 | 已登录 | 手机绑定 API | 默认、提交中、失败 | 未开始 |
-| 小程序 | 实名认证 | `/pages/verification/verification` | 认证 | 已登录 | 实名认证 API | 默认、提交中、失败 | 未开始 |
-| 小程序 | 基础资料 | `/pages/profile-basic/profile-basic` | 资料 | 已登录 | 用户资料 API | 加载、编辑、校验失败 | 未开始 |
-| 小程序 | 生活方式 | `/pages/profile-lifestyle/profile-lifestyle` | 资料 | 已登录 | 用户资料 API | 加载、编辑、校验失败 | 未开始 |
-| 小程序 | 生活照 | `/pages/profile-photos/profile-photos` | 资料 | 已登录 | 图片上传 API | 加载、上传、失败 | 未开始 |
-| 小程序 | 兴趣爱好 | `/pages/profile-interests/profile-interests` | 资料 | 已登录 | 用户资料 API | 加载、编辑、校验失败 | 未开始 |
-| 小程序 | 婚恋意向 | `/pages/profile-intent/profile-intent` | 资料 | 已登录 | 用户资料 API | 加载、编辑、校验失败 | 未开始 |
-| 小程序 | 自我介绍 | `/pages/profile-intro/profile-intro` | 资料 | 已登录 | 用户资料 API | 加载、编辑、校验失败 | 未开始 |
-| 小程序 | 择偶条件 | `/pages/profile-preference/profile-preference` | 资料 | 已登录 | 择偶条件 API | 加载、编辑、Required 提示 | 未开始 |
-| 小程序 | 资料确认 | `/pages/profile-confirm/profile-confirm` | 资料 | 已登录 | 用户资料 API | 加载、确认、提交失败 | 未开始 |
-| 小程序 | 审核中 | `/pages/review-pending/review-pending` | 审核 | 已提交 | 审核状态 API | 加载、审核中、错误 | 未开始 |
-| 小程序 | 审核未通过 | `/pages/review-rejected/review-rejected` | 审核 | 审核驳回 | 审核状态 API | 加载、驳回、补正 | 未开始 |
-| 小程序 | 用户详情 | `/pages/profile-detail/profile-detail` | 匹配 | Match Capability | 用户展示 API | 加载、错误、Blocked | 未开始 |
-| 小程序 | 缘分中心 | `/pages/fate-center/fate-center` | 匹配 | Match Capability | 匹配 API | 加载、空、错误 | 未开始 |
-| 小程序 | 聊天 | `/pages/chat/chat` | 沟通 | Mutual Match | 消息 API | 加载、发送中、失败、Blocked | 未开始 |
-| 小程序 | 活动详情 | `/pages/activity-detail/activity-detail` | 活动 | Activity Capability | 活动 API | 加载、错误、已截止 | 未开始 |
-| 小程序 | 活动报名 | `/pages/activity-register/activity-register` | 活动 | 可报名 | 报名 API | 默认、提交中、失败 | 未开始 |
-| 小程序 | 我的活动 | `/pages/my-activities/my-activities` | 活动 | 已登录 | 报名 API | 加载、空、错误 | 未开始 |
-| 小程序 | 活动签到 | `/pages/checkin/checkin` | 活动 | 已报名 | 签到 API | 默认、成功、失败 | 未开始 |
-| 小程序 | 活动反馈 | `/pages/activity-feedback/activity-feedback` | 活动 | 已参与 | 反馈 API | 默认、提交中、失败 | 未开始 |
-| 小程序 | 活动心动选择 | `/pages/activity-matches/activity-matches` | 活动互选 | 已参与 | 活动意向 API | 加载、空、提交中、保密 | 未开始 |
-| 小程序 | 公益红娘 | `/pages/matchmaker/matchmaker` | 红娘 | Matchmaker Capability | 红娘 API | 加载、空、错误 | 未开始 |
-| 小程序 | 红娘申请 | `/pages/matchmaker-apply/matchmaker-apply` | 红娘 | 可申请 | 红娘申请 API | 默认、提交中、失败 | 未开始 |
-| 小程序 | 红娘进度 | `/pages/matchmaker-progress/matchmaker-progress` | 红娘 | 已申请 | 红娘服务 API | 加载、空、错误 | 未开始 |
-| 小程序 | 设置 | `/pages/settings/settings` | 账户 | 已登录 | 账户 API | 加载、错误 | 未开始 |
-| 小程序 | 隐私设置 | `/pages/privacy-settings/privacy-settings` | 账户安全 | 已登录 | 隐私 API | 加载、保存中、失败 | 未开始 |
-| 小程序 | 关系状态 | `/pages/relationship-status/relationship-status` | 账户 | 已登录 | 关系状态 API | 加载、确认、失败 | 未开始 |
-| 小程序 | 黑名单 | `/pages/blacklist/blacklist` | 账户安全 | 已登录 | Block API | 加载、空、错误 | 未开始 |
-| 小程序 | 通知 | `/pages/notifications/notifications` | 通知 | 已登录 | 通知 API | 加载、空、错误 | 未开始 |
-| 小程序 | 举报 | `/pages/report/report` | 安全 | 已登录 | 举报 API | 默认、提交中、失败 | 未开始 |
-| 小程序 | 我的举报 | `/pages/my-reports/my-reports` | 安全 | 已登录 | 举报 API | 加载、空、错误 | 未开始 |
-| 小程序 | 帮助中心 | `/pages/help-center/help-center` | 帮助 | 公开 | 帮助内容 | 加载、空、错误 | 未开始 |
-| 小程序 | 关于 | `/pages/about/about` | 帮助 | 公开 | 本地内容 | 默认 | 未开始 |
-| 小程序 | 账户状态说明 | `/pages/account-status-page/account-status-page` | 账户 | 已登录 | 账户状态 API | 加载、错误 | 未开始 |
-| 小程序 | 注销账户 | `/pages/account-logout/account-logout` | 账户安全 | 已登录 | 注销 API | 默认、确认、提交失败 | 未开始 |
-| 小程序 | 账户状态 | `/pages/account-status/account-status` | 账户 | 已登录 | 账户状态 API | 加载、错误 | 未开始 |
-| 小程序 | 申诉 | `/pages/appeal/appeal` | 安全 | 可申诉 | 申诉 API | 默认、提交中、失败 | 未开始 |
-| 小程序 | 红娘登录 | `/pages/matchmaker-login/matchmaker-login` | 红娘工作台 | 红娘身份 | 红娘登录 API | 默认、提交中、失败 | 未开始 |
-| 小程序 | 红娘工作台 | `/pages/matchmaker-workbench/matchmaker-workbench` | 红娘工作台 | 红娘身份 | 红娘任务 API | 加载、空、错误、无权限 | 未开始 |
-| 小程序 | 本地资格 | `/pages/local-eligibility/local-eligibility` | 本地资格 | 已登录 | 本地资格 API | 加载、待核验、通过、驳回 | 未开始 |
-| 小程序 | 资格补充 | `/pages/local-eligibility-supplement/local-eligibility-supplement` | 本地资格 | 需补充 | 本地资格 API | 默认、上传、失败 | 未开始 |
-| 小程序 | 咨询介绍 | `/pages/counseling-intro/counseling-intro` | 婚恋咨询 | Counseling Capability | 咨询 API | 加载、错误、能力禁用 | 未开始 |
-| 小程序 | 咨询申请 | `/pages/counseling-request/counseling-request` | 婚恋咨询 | 可申请 | 咨询申请 API | 默认、提交中、失败 | 未开始 |
-| 小程序 | 我的咨询 | `/pages/my-counseling/my-counseling` | 婚恋咨询 | 已申请 | 咨询服务 API | 加载、空、错误 | 未开始 |
-| 小程序 | 婚前辅导介绍 | `/pages/premarital-intro/premarital-intro` | 婚前辅导 | Premarital Capability | 辅导 API | 加载、错误、能力禁用 | 未开始 |
-| 小程序 | 婚前辅导申请 | `/pages/premarital-request/premarital-request` | 婚前辅导 | 可申请 | 辅导申请 API | 默认、提交中、失败 | 未开始 |
-| 小程序 | 活动互选结果 | `/pages/activity-mutual-result/activity-mutual-result` | 活动互选 | Mutual Result | 活动互选 API | 加载、未确认、已确认、已有 Match | 未开始 |
-| 小程序 | 活动互选等待 | `/pages/activity-mutual-waiting/activity-mutual-waiting` | 活动互选 | 已单方确认 | 活动互选 API | 等待、对方拒绝、超时 | 未开始 |
-| 小程序 | 公益服务 | `/pages/service-center/service-center` | 公益服务 | Service Capability | 服务聚合 API | 加载、空、错误 | 未开始 |
-| 小程序 | 服务站 | `/pages/service-station/service-station` | 服务站 | Location Capability | 服务站 API | 加载、空、错误 | 未开始 |
-| 小程序 | 服务预约 | `/pages/service-appointment/service-appointment` | 服务站 | 可预约 | 预约 API | 默认、提交中、失败 | 未开始 |
-| 小程序 | 我的预约 | `/pages/my-appointments/my-appointments` | 服务站 | 已登录 | 预约 API | 加载、空、错误 | 未开始 |
-| 小程序 | 专项公益服务 | `/pages/service-program/service-program` | 公益服务 | Program Capability | 专项服务 API | 加载、空、错误 | 未开始 |
-| 小程序 | 服务记录 | `/pages/service-history/service-history` | 公益服务 | 已登录 | 服务记录 API | 加载、空、错误 | 未开始 |
-| 小程序 | 婚恋课堂 | `/pages/content/content` | 内容 | Content Capability | 内容 API | 加载、空、错误 | 未开始 |
-| 小程序 | 内容详情 | `/pages/content-detail/content-detail` | 内容 | Content Capability | 内容 API | 加载、错误 | 未开始 |
-| 小程序 | 婚恋反诈 | `/pages/anti-fraud/anti-fraud` | 安全内容 | Anti-fraud Capability | 反诈内容 API | 加载、空、错误 | 未开始 |
+## 小程序首批 11 个核心页面
-## 状态更新规则
+| 分组 | 页面 | 路由 | 权限/能力 | 必备状态 | 当前状态 |
+|---|---|---|---|---|---|
+| A | 首页 | `/pages/index/index` | Home Capability | 未登录、准入中、加载、空、错误、暂停、成功牵手 | 待重新实现 |
+| A | 找对象 | `/pages/discover/discover` | Match Capability | 加载、空、错误、筛选、Required、Blocked | 待重新实现 |
+| A | 消息 | `/pages/messages/messages` | Mutual Match | 加载、空、错误、未匹配、Blocked、未读 | 待开始 |
+| A | 公益活动 | `/pages/activity/activity` | Activity Capability | 加载、空、错误、可报名、已报名、截止 | 待开始 |
+| A | 我的 | `/pages/mine/mine` | 登录状态 | 未登录、加载、错误、资料状态 | 待开始 |
+| B | 公益红娘 | `/pages/matchmaker/matchmaker` | Matchmaker Capability | 加载、未申请、处理中、服务中、完成、错误 | 待开始 |
+| B | 婚恋咨询 | `/pages/counseling-intro/counseling-intro` | Counseling Capability | 加载、不可用、可预约、已有服务、错误 | 待开始 |
+| B | 婚前辅导 | `/pages/premarital-intro/premarital-intro` | Premarital Capability | 加载、不可用、可预约、已有服务、错误 | 待开始 |
+| C | 婚恋课堂 | `/pages/content/content` | Content Capability | 加载、空、错误、分类、加载更多 | 待开始 |
+| C | 婚恋反诈 | `/pages/anti-fraud/anti-fraud` | Anti-fraud Capability | 加载、空、错误、举报与求助 | 待开始 |
+| C | 善缘服务站 | `/pages/service-station/service-station` | Service Location Capability | 加载、空、错误、电话、定位、预约 | 待开始 |
-- 开始改造页面时改为“进行中”;构建和自动检查通过后改为“待验收”;人工视觉验收通过后改为“通过”。
-- “阻塞”必须同时在对应 Completion Report 中记录原因、影响和解除条件。
-- 参考图中的人物、活动和统计只定义视觉密度,不写入本矩阵的数据契约。
+## 固定导航与首页入口
+
+- Tab 顺序:首页、找对象、消息、活动、我的。
+- 首页入口第一行:找对象、公益红娘、公益活动、婚恋咨询。
+- 首页入口第二行:婚恋课堂、婚前辅导、婚恋反诈、善缘服务站。
+- 入口可用性由服务端 Capability 决定,前端不自行推导。
+
+## 后续批次
+
+- 小程序其余 52 个已注册页面继续保留,当前不宣称完成视觉重构。
+- 管理端工作台以外的业务列表、详情、表单和弹窗继续保留,当前不宣称完成高保真重构。
+- 只有自动化门禁、微信开发者工具或浏览器截图以及用户人工验收同时通过后,状态才能改为“通过”。
diff --git a/docs/V1.1_RECOVERY_DEVELOPMENT_PLAN_2026-09-09.md b/docs/V1.1_RECOVERY_DEVELOPMENT_PLAN_2026-09-09.md
index 02e7e74..67f8b00 100644
--- a/docs/V1.1_RECOVERY_DEVELOPMENT_PLAN_2026-09-09.md
+++ b/docs/V1.1_RECOVERY_DEVELOPMENT_PLAN_2026-09-09.md
@@ -10,7 +10,7 @@
**Tech Stack:** Java 21、Spring Boot 3.x、MyBatis-Plus、Flyway、PostgreSQL、Vue 3、TypeScript、Vite、微信小程序原生、Docker Compose。
-**Spec:** `AGENTS.md`、`docs/善缘丹阳 V1.1 页面级功能清单与交互流程修订版.md`、`docs/善缘丹阳 V1.1 数据库与API增量设计.md`、`docs/善缘丹阳 V1.1 前端 UI-UX 高保真原型修订说明.md`、`docs/善缘丹阳 V1.1 Codex-Jira 最终开发任务增量清单.md`。
+**Spec:** `AGENTS.md`、`docs/善缘丹阳 V1.1 页面级功能清单与交互流程修订版.md`、`docs/善缘丹阳 V1.1 数据库与API增量设计.md`、`docs/superpowers/specs/2026-09-13-reference-driven-dual-client-ui-redesign-design.md`、`docs/善缘丹阳 V1.1 Codex-Jira 最终开发任务增量清单.md`。
## Global Constraints
diff --git a/docs/superpowers/plans/2026-09-10-ui-v11-fidelity.md b/docs/superpowers/plans/2026-09-10-ui-v11-fidelity.md
deleted file mode 100644
index 54b4baa..0000000
--- a/docs/superpowers/plans/2026-09-10-ui-v11-fidelity.md
+++ /dev/null
@@ -1,115 +0,0 @@
-# 善缘丹阳 V1.1 双端高保真 UI Implementation Plan
-
-> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
-
-**Goal:** 让小程序端和管理后台的实际可见界面严格对齐两份 V1.1 UI 与页面流程文档,并提供可运行预览和截图。
-
-**Architecture:** 保留现有原生小程序及 Vue 3/Element Plus 架构,先用可执行契约测试固定页面顺序、路由与主题,再统一设计令牌和共享状态组件,随后分别完成小程序首页/核心页面与后台布局/角色工作台。开发数据只用于界面预览,不写入后端。
-
-**Tech Stack:** 微信小程序原生 + TypeScript;Vue 3 + TypeScript + Vite + Pinia + Element Plus;Node.js 契约测试。
-
-**Spec:** `docs/superpowers/specs/2026-09-10-ui-v11-fidelity-design.md`
-
-## Global Constraints
-
-- 小程序页面背景 `#FAFAF8`,主色 `#E96B6B`,页面左右 16px,模块间距 24px,点击区不小于 44px。
-- 首页区块和 8 个核心入口顺序固定,禁止运营重排。
-- 用户端入口由服务端 Capability 控制,禁止前端自行组合业务资格。
-- 后台侧栏展开宽度 220px,菜单按权限显示,工作台按角色聚焦待办。
-- 不新增 UI 框架、在线字体、外链 Banner 或付费功能。
-
----
-
-### Task 1: 建立双端 UI 契约与主题基线
-
-**Files:**
-- Create: `ui-tests/ui-contracts.mjs`
-- Modify: `miniapp/app.wxss`
-- Modify: `miniapp/app.json`
-- Modify: `admin-web/src/theme/index.css`
-- Modify: `admin-web/src/main.ts`
-
-**Interfaces:**
-- Consumes: 两份 V1.1 文档规定的颜色、间距、菜单及页面顺序。
-- Produces: 两端共享的视觉变量及可重复运行的 `node ui-tests/ui-contracts.mjs` 验收入口。
-
-- [ ] **Step 1: 编写契约测试**,检查暖白背景、24px 模块间距、首页固定区块、8 个固定入口、缺失页面路由和后台 220px 侧栏。
-- [ ] **Step 2: 运行 `node ui-tests/ui-contracts.mjs`**,确认因现有偏移而失败。
-- [ ] **Step 3: 修正两端主题变量与全局 Element Plus 覆盖**。
-- [ ] **Step 4: 重跑契约测试、两端类型检查和后台构建**。
-
-### Task 2: 完成小程序 U18 首页可见闭环
-
-**Files:**
-- Modify: `miniapp/pages/index/index.wxml`
-- Modify: `miniapp/pages/index/index.wxss`
-- Modify: `miniapp/pages/index/index.ts`
-- Modify: `miniapp/pages/index/index.js`
-- Modify: `miniapp/pages/index/index.json`
-- Create: `miniapp/components/error-state/index.{js,json,wxml,wxss}`
-
-**Interfaces:**
-- Consumes: `GET /api/v1/home` 数据与 Capability 字段。
-- Produces: 固定顺序首页,以及 `onEntryTap`、`onBannerTap`、`onRetry` 可见交互。
-
-- [ ] **Step 1: 扩展契约测试**,验证首页区块与事件、共享错误状态组件。
-- [ ] **Step 2: 运行测试并确认首页缺少婚恋课堂、错误态和正确路由而失败**。
-- [ ] **Step 3: 统一首页 JS 可执行源与 TS 类型源,补齐课堂、安全、服务站和预览数据**。
-- [ ] **Step 4: 重跑契约测试和小程序类型检查**。
-
-### Task 3: 补齐小程序核心服务页及“我的”分组
-
-**Files:**
-- Modify: `miniapp/app.json`
-- Modify: `miniapp/pages/mine/mine.{js,wxml,wxss}`
-- Create: `miniapp/pages/service-center/*`
-- Create: `miniapp/pages/service-station/*`
-- Create: `miniapp/pages/service-appointment/*`
-- Create: `miniapp/pages/my-appointments/*`
-- Create: `miniapp/pages/content/*`
-- Create: `miniapp/pages/content-detail/*`
-- Create: `miniapp/pages/anti-fraud/*`
-- Create: `miniapp/pages/service-program/*`
-- Create: `miniapp/pages/service-history/*`
-
-**Interfaces:**
-- Consumes: 首页入口事件和现有咨询、活动、红娘、本地资格页面。
-- Produces: 所有核心入口均可进入真实页面,“我的”按资料、公益服务、安全、其他四组展示。
-
-- [ ] **Step 1: 扩展契约测试**,验证新增页面均注册且入口无占位提示。
-- [ ] **Step 2: 运行测试确认缺页失败**。
-- [ ] **Step 3: 以统一卡片、表单、Badge、空状态实现最小完整页面**。
-- [ ] **Step 4: 重跑契约测试和小程序类型检查**。
-
-### Task 4: 重构管理后台框架和角色工作台
-
-**Files:**
-- Modify: `admin-web/src/layouts/MainLayout.vue`
-- Modify: `admin-web/src/views/DashboardView.vue`
-- Modify: `admin-web/src/stores/auth.ts`
-- Modify: `admin-web/src/router/index.ts`
-
-**Interfaces:**
-- Consumes: 登录用户角色与权限集合。
-- Produces: `workspaceProfile` 角色视图模型、分组菜单、响应式后台首屏。
-
-- [ ] **Step 1: 增加 Vitest 或纯函数契约测试,验证角色到工作台标题、统计卡和快捷入口映射**。
-- [ ] **Step 2: 运行测试确认现有通用大盘不满足角色契约**。
-- [ ] **Step 3: 实现浅色 220px 侧栏、顶部上下文、角色待办与统一页面标题结构**。
-- [ ] **Step 4: 运行后台类型检查和生产构建**。
-
-### Task 5: 可视化验收与交付
-
-**Files:**
-- Create: `docs/UI-V11-Visual-Acceptance-2026-09-10.md`
-- Create: `artifacts/ui-v11/*.png`
-
-**Interfaces:**
-- Consumes: 两端可运行构建。
-- Produces: 后台 1366×768、1440×900 与小程序 320/375/390/430px 的验收记录和截图。
-
-- [ ] **Step 1: 启动后台开发服务并注入仅本地生效的预览身份**。
-- [ ] **Step 2: 截取工作台和主要业务页面实际运行图**。
-- [ ] **Step 3: 使用微信开发者工具或本地渲染预览检查小程序首页与核心页面**。
-- [ ] **Step 4: 运行全部契约检查、类型检查和构建,记录命令与结果**。
-- [ ] **Step 5: 输出可点击截图、访问地址、当前限制及用户需要审核的页面**。
diff --git a/docs/superpowers/plans/2026-09-11-admin-full-ui-redesign.md b/docs/superpowers/plans/2026-09-11-admin-full-ui-redesign.md
deleted file mode 100644
index 52340db..0000000
--- a/docs/superpowers/plans/2026-09-11-admin-full-ui-redesign.md
+++ /dev/null
@@ -1,323 +0,0 @@
-# Admin Full UI Redesign Implementation Plan
-
-> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
-
-**Goal:** 将管理端全部 19 条现有路由迁移到已批准的浅色专业运营设计系统。
-
-**Architecture:** 复用基础计划交付的主题令牌、整体框架和 Element Plus,通过业务域批次改造页面,不改变 API 调用、权限元数据和操作语义。每个批次先扩展静态契约,再改 WYSIWYG 页面并执行类型检查和构建。
-
-**Tech Stack:** Vue 3、TypeScript、Vite、Pinia、Element Plus、Node.js assert
-
-**Spec:** `docs/superpowers/specs/2026-09-11-dual-client-full-ui-redesign-design.md`
-
-## Global Constraints
-
-- 必须先通过 `2026-09-11-ui-foundation-and-pilot.md` 的用户视觉门禁。
-- 保留全部现有路由、权限和真实 API。
-- 不新增管理端业务页面,不隐藏现有模块。
-- 所有列表具备加载、空数据、错误和无权限状态。
-- 删除、发布、封禁、覆盖和批量操作保留二次确认。
-- 不引入新的 UI 框架或图标依赖。
-
----
-
-### Task 1: 锁定管理端全路由覆盖
-
-**Files:**
-- Modify: `ui-tests/admin-redesign-contracts.mjs`
-- Modify: `docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md`
-- Test: `ui-tests/admin-redesign-contracts.mjs`
-
-**Interfaces:**
-- Consumes: `admin-web/src/router/index.ts`。
-- Produces: 19 条路由对应的组件文件覆盖断言。
-
-- [ ] **Step 1: 加入失败覆盖测试**
-
-```js
-const routeViews = [
- 'views/LoginView.vue', 'views/DashboardView.vue',
- 'modules/review/ReviewView.vue', 'modules/activity/ActivityInterestView.vue',
- 'modules/risk/ReportCenterView.vue', 'modules/appeal/AppealCenterView.vue',
- 'modules/user/UserManagementView.vue', 'modules/user/UserDetailView.vue',
- 'modules/organization/OrganizationView.vue', 'modules/operator/OperatorManagementView.vue',
- 'modules/analytics/AnalyticsView.vue', 'modules/audit/AuditLogView.vue',
- 'modules/banner/BannerManagementView.vue', 'modules/content/ContentManagementView.vue',
- 'modules/service-station/ServiceStationView.vue',
- 'modules/service-appointment/ServiceAppointmentView.vue',
- 'modules/service-program/ServiceProgramView.vue',
- 'modules/counseling/CounselingView.vue', 'modules/referral/ReferralManagementView.vue',
-]
-for (const view of routeViews) {
- assert.ok(read(`admin-web/src/${view}`).includes('ui-redesign-ready'), `${view} 未完成重设计`)
-}
-```
-
-- [ ] **Step 2: 验证测试失败**
-
-Run: `node ui-tests/admin-redesign-contracts.mjs`
-
-Expected: FAIL,列出首个未完成页面。
-
-- [ ] **Step 3: 在矩阵标记各批次**
-
-将 19 条管理端页面状态保持为 `未开始`,完成后由各任务改为 `待验收`,不得预先标记通过。
-
-- [ ] **Step 4: 提交契约**
-
-```bash
-git add ui-tests/admin-redesign-contracts.mjs docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md
-git commit -m "test: require full admin redesign coverage"
-```
-
-### Task 2: 用户、资料审核和活动互选
-
-**Files:**
-- Modify: `admin-web/src/modules/user/UserManagementView.vue`
-- Modify: `admin-web/src/modules/user/UserDetailView.vue`
-- Modify: `admin-web/src/modules/review/ReviewView.vue`
-- Modify: `admin-web/src/modules/activity/ActivityInterestView.vue`
-- Modify: `docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md`
-
-**Interfaces:**
-- Consumes: 原文件中的用户、审核和活动互选 API。
-- Produces: 统一筛选栏、表格、详情分区、审核操作区和状态反馈。
-
-- [ ] **Step 1: 保持 Task 1 契约为红**
-
-Run: `node ui-tests/admin-redesign-contracts.mjs`
-
-Expected: FAIL,且失败列表包含本批次页面。
-
-- [ ] **Step 2: 改造四个页面**
-
-在四个根容器添加 `ui-redesign-ready page-container page-shell`。复用 `page-heading`、`surface-card` 和 Element Plus 组件;禁止改变请求路径、请求参数和权限检查。
-
-- [ ] **Step 3: 标记矩阵为待验收并验证**
-
-Run:
-
-```bash
-npm --prefix admin-web run type-check
-npm --prefix admin-web run build
-```
-
-Expected: 退出码 0。
-
-- [ ] **Step 4: 提交**
-
-```bash
-git add admin-web/src/modules/user admin-web/src/modules/review admin-web/src/modules/activity docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md
-git commit -m "feat: redesign admin user and review workflows"
-```
-
-### Task 3: 公益咨询、转介和专项服务
-
-**Files:**
-- Modify: `admin-web/src/modules/counseling/CounselingView.vue`
-- Modify: `admin-web/src/modules/referral/ReferralManagementView.vue`
-- Modify: `admin-web/src/modules/service-program/ServiceProgramView.vue`
-- Modify: `docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md`
-
-**Interfaces:**
-- Consumes: 原咨询、转介和专项服务 API;Counselor 数据范围保持 Assigned Service。
-- Produces: 服务队列、分配状态、跟进信息和项目成员界面。
-
-- [ ] **Step 1: 确认覆盖测试仍失败**
-
-Run: `node ui-tests/admin-redesign-contracts.mjs`
-
-Expected: FAIL,包含本批次三个页面。
-
-- [ ] **Step 2: 改造三个页面**
-
-加入 `ui-redesign-ready`,将敏感咨询正文与普通服务摘要视觉分区;无权限时不渲染敏感字段。
-
-- [ ] **Step 3: 验证并提交**
-
-```bash
-npm --prefix admin-web run type-check
-npm --prefix admin-web run build
-git add admin-web/src/modules/counseling admin-web/src/modules/referral admin-web/src/modules/service-program docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md
-git commit -m "feat: redesign admin counseling services"
-```
-
-Expected: 构建成功并提交本批次文件。
-
-### Task 4: 服务站和预约
-
-**Files:**
-- Modify: `admin-web/src/modules/service-station/ServiceStationView.vue`
-- Modify: `admin-web/src/modules/service-appointment/ServiceAppointmentView.vue`
-- Modify: `docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md`
-
-**Interfaces:**
-- Consumes: 服务站与预约现有 API。
-- Produces: 场地卡片、开放时间、预约队列、确认和完成状态。
-
-- [ ] **Step 1: 确认契约为红**
-
-Run: `node ui-tests/admin-redesign-contracts.mjs`
-
-Expected: FAIL,包含两个服务阵地页面。
-
-- [ ] **Step 2: 改造并验证数据范围提示**
-
-服务站人员界面不得出现全用户库入口;预约操作保留确认反馈。
-
-- [ ] **Step 3: 构建并提交**
-
-```bash
-npm --prefix admin-web run type-check
-npm --prefix admin-web run build
-git add admin-web/src/modules/service-station admin-web/src/modules/service-appointment docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md
-git commit -m "feat: redesign admin station operations"
-```
-
-### Task 5: Banner 和内容运营
-
-**Files:**
-- Modify: `admin-web/src/modules/banner/BannerManagementView.vue`
-- Modify: `admin-web/src/modules/content/ContentManagementView.vue`
-- Modify: `docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md`
-
-**Interfaces:**
-- Consumes: Banner 和内容 API。
-- Produces: 图片预览、内部目标类型、内容状态、发布和下架操作。
-
-- [ ] **Step 1: 确认契约为红**
-
-Run: `node ui-tests/admin-redesign-contracts.mjs`
-
-Expected: FAIL,包含两个内容页面。
-
-- [ ] **Step 2: 改造两个页面**
-
-Banner 表单只展示允许的内部跳转类型;发布和下架保持二次确认;Content Editor 页面不展示用户婚恋数据。
-
-- [ ] **Step 3: 构建并提交**
-
-```bash
-npm --prefix admin-web run type-check
-npm --prefix admin-web run build
-git add admin-web/src/modules/banner admin-web/src/modules/content docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md
-git commit -m "feat: redesign admin content operations"
-```
-
-### Task 6: 举报、申诉和审计
-
-**Files:**
-- Modify: `admin-web/src/modules/risk/ReportCenterView.vue`
-- Modify: `admin-web/src/modules/appeal/AppealCenterView.vue`
-- Modify: `admin-web/src/modules/audit/AuditLogView.vue`
-- Modify: `docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md`
-
-**Interfaces:**
-- Consumes: 举报、申诉和审计 API。
-- Produces: 风险级别、处理时限、证据摘要、申诉状态和审计轨迹。
-
-- [ ] **Step 1: 确认契约为红**
-
-Run: `node ui-tests/admin-redesign-contracts.mjs`
-
-Expected: FAIL,包含三个安全治理页面。
-
-- [ ] **Step 2: 改造三个页面**
-
-高风险状态同时使用图标、文字和颜色;敏感字段保持脱敏;处理操作保留确认与结果反馈。
-
-- [ ] **Step 3: 构建并提交**
-
-```bash
-npm --prefix admin-web run type-check
-npm --prefix admin-web run build
-git add admin-web/src/modules/risk admin-web/src/modules/appeal admin-web/src/modules/audit docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md
-git commit -m "feat: redesign admin safety operations"
-```
-
-### Task 7: 组织、人员和统计
-
-**Files:**
-- Modify: `admin-web/src/modules/organization/OrganizationView.vue`
-- Modify: `admin-web/src/modules/operator/OperatorManagementView.vue`
-- Modify: `admin-web/src/modules/analytics/AnalyticsView.vue`
-- Modify: `docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md`
-
-**Interfaces:**
-- Consumes: 组织、Operator 和统计 API。
-- Produces: 组织关系、人员权限摘要和数据图表页面。
-
-- [ ] **Step 1: 确认契约为红**
-
-Run: `node ui-tests/admin-redesign-contracts.mjs`
-
-Expected: FAIL,包含本批次三个页面。
-
-- [ ] **Step 2: 改造三个页面**
-
-组织关系不得显示为用户数据权限;角色与权限使用清晰只读摘要;图表颜色取自管理端令牌。
-
-- [ ] **Step 3: 运行全管理端契约**
-
-Run:
-
-```bash
-node ui-tests/admin-redesign-contracts.mjs
-node ui-tests/ui-contracts.mjs
-npm --prefix admin-web run type-check
-npm --prefix admin-web run build
-```
-
-Expected: 全部 PASS,19 个页面均包含 `ui-redesign-ready`。
-
-- [ ] **Step 4: 提交**
-
-```bash
-git add admin-web/src/modules/organization admin-web/src/modules/operator admin-web/src/modules/analytics docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md
-git commit -m "feat: complete admin full UI redesign"
-```
-
-### Task 8: 管理端视觉和权限验收
-
-**Files:**
-- Create: `docs/Phase-Admin-UI-Completion-Report.md`
-- Create: `artifacts/ui-redesign/admin/admin-1280.png`
-- Create: `artifacts/ui-redesign/admin/admin-1366.png`
-- Create: `artifacts/ui-redesign/admin/admin-1440.png`
-- Create: `artifacts/ui-redesign/admin/admin-1920.png`
-
-**Interfaces:**
-- Consumes: 全部管理端页面与角色账号。
-- Produces: 响应式截图、权限抽查和完成报告。
-
-- [ ] **Step 1: 用不同角色检查菜单**
-
-检查 super_admin、reviewer、matchmaker、counselor、service_station_operator、content_editor;每个角色只能看到有权限的导航。
-
-- [ ] **Step 2: 捕获四种宽度**
-
-检查侧栏、表格、筛选、弹窗和详情页无横向遮挡;记录参考图差异。
-
-- [ ] **Step 3: 检查基础无障碍**
-
-用键盘完成菜单、筛选、表格操作和弹窗关闭;焦点清晰可见;图标按钮有中文可访问名称;正文和状态文字满足可读对比度。
-
-- [ ] **Step 4: 运行最终验证**
-
-```bash
-node ui-tests/admin-redesign-contracts.mjs
-node ui-tests/ui-contracts.mjs
-npm --prefix admin-web run type-check
-npm --prefix admin-web run build
-```
-
-Expected: 全部退出码 0。
-
-- [ ] **Step 5: 提交报告并停止**
-
-```bash
-git add docs/Phase-Admin-UI-Completion-Report.md
-git commit -m "docs: report admin UI completion"
-```
-
-停止并等待管理端验收,不自动进入小程序全量计划。
diff --git a/docs/superpowers/plans/2026-09-11-codex-baseline-cleanup.md b/docs/superpowers/plans/2026-09-11-codex-baseline-cleanup.md
deleted file mode 100644
index fadeea1..0000000
--- a/docs/superpowers/plans/2026-09-11-codex-baseline-cleanup.md
+++ /dev/null
@@ -1,65 +0,0 @@
-# Codex Baseline Cleanup Implementation Plan
-
-> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
-
-**Goal:** 以昨天 Codex 构建为唯一基线,删除 ZCode 旧版和本项目旧运行环境,并从空环境完成可验证启动。
-
-**Architecture:** Git 以 `codex/ui-v11-fidelity` 为源快进 `main`,不混合旧 Phase 代码。运行环境通过明确的项目资源白名单清理,数据库先备份,再由 Flyway 从空卷重建。
-
-**Tech Stack:** Git、Docker Compose、PostgreSQL 16、Java 21/Maven、Vue 3/Vite、微信原生小程序/TypeScript
-
-**Spec:** `docs/superpowers/specs/2026-09-11-codex-baseline-cleanup-design.md`
-
-## Global Constraints
-
-- 只清理 `E:\develop\公益婚恋服务平台` 及 Docker 项目 `infrastructure`/旧 `danyang` 的资源。
-- 保留 `artifacts/backups/*.dump`、Flyway 迁移、冻结标签和 Codex 分支。
-- 不停止或删除其他项目 Docker 资源。
-- 删除数据卷前必须生成新的 PostgreSQL custom-format 备份并验证文件非空。
-
----
-
-### Task 1: 归并 Git 基线并删除旧文件
-
-**Files:**
-- Delete: `.zcode/`
-- Delete: `backend/build-temp/`
-- Delete: `backend/maven.zip`
-- Delete: `miniapp/project.config.json.bak`
-- Modify: `.gitignore`
-
-- [ ] **Step 1:** 确认 HEAD 位于 `codex/ui-v11-fidelity`,工作区除数据库备份外无未知变更。
-- [ ] **Step 2:** 删除上述 ZCode/临时文件,并让 `.gitignore` 保持生成物不回流。
-- [ ] **Step 3:** 将 `main` 快进到当前 Codex 提交,删除 `phase/02-rbac-datascope`。
-- [ ] **Step 4:** 用 `git status --short --branch` 和 `git branch -vv` 验证基线。
-
-### Task 2: 备份并清理本项目运行环境
-
-**Files:**
-- Preserve: `artifacts/backups/*.dump`
-
-- [ ] **Step 1:** 在当前 PostgreSQL 容器内执行 `pg_dump -Fc`,复制到 `artifacts/backups/` 并验证非空。
-- [ ] **Step 2:** 停止本项目管理端开发进程和 Compose 项目 `infrastructure`。
-- [ ] **Step 3:** 删除白名单资源:`infrastructure_*`、`danyang_*`、`danyang-m2-cache`、`danyang-net` 和本项目构建镜像。
-- [ ] **Step 4:** 列出剩余 Docker 资源,确认其他 Compose 项目仍存在。
-
-### Task 3: 清理并重建依赖
-
-**Files:**
-- Delete and recreate: `admin-web/node_modules/`, `miniapp/node_modules/`, `backend/target/`
-- Preserve: package manifests and lock files
-
-- [ ] **Step 1:** 删除可重建的依赖、构建和测试缓存。
-- [ ] **Step 2:** 使用现有锁文件执行 `npm ci`。
-- [ ] **Step 3:** 执行后端测试、管理端类型检查/构建、小程序类型检查。
-
-### Task 4: 从空卷启动并验收
-
-**Files:**
-- Modify only if startup evidence proves necessary: `infrastructure/docker-compose.yml`, `infrastructure/nginx.conf`
-
-- [ ] **Step 1:** 执行 `docker compose up -d --build postgres redis minio backend`。
-- [ ] **Step 2:** 等待所有服务健康,验证 Flyway 和 `/api/v1/health/live`。
-- [ ] **Step 3:** 启动管理端,验证 HTTP 200 和 API 代理。
-- [ ] **Step 4:** 验证微信小程序 TypeScript;开发者工具若关闭服务端口,仅报告人工打开方式,不修改安全设置。
-- [ ] **Step 5:** 输出 Git、测试、端口、容器和保留备份的最终清单。
diff --git a/docs/superpowers/plans/2026-09-11-miniapp-full-ui-redesign.md b/docs/superpowers/plans/2026-09-11-miniapp-full-ui-redesign.md
deleted file mode 100644
index 5c9a9dd..0000000
--- a/docs/superpowers/plans/2026-09-11-miniapp-full-ui-redesign.md
+++ /dev/null
@@ -1,432 +0,0 @@
-# Miniapp Full UI Redesign Implementation Plan
-
-> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
-
-**Goal:** 将小程序全部 63 个页面迁移到已批准的紫蓝夜景与粉色高光设计系统,同时保持 V1.1 功能和业务状态完整。
-
-**Architecture:** 复用基础计划交付的全局令牌、导航、卡片、按钮、头像、空状态和错误状态组件;页面按业务域批量改造 WXML/WXSS,保留现有 JS/TS 请求和事件契约。全局契约自动检查 63 页覆盖、固定 Tab、8 个首页入口、Emoji 和页面硬编码颜色。
-
-**Tech Stack:** 微信小程序原生、TypeScript、JavaScript、WXSS、Node.js assert
-
-**Spec:** `docs/superpowers/specs/2026-09-11-dual-client-full-ui-redesign-design.md`
-
-**Path notation:** 下文 `name.{wxml,wxss}` 明确表示同时修改 `name.wxml` 与 `name.wxss` 两个现有文件,不代表通配或待定文件。
-
-## Global Constraints
-
-- 必须先通过 `2026-09-11-ui-foundation-and-pilot.md` 的用户视觉门禁。
-- 63 个已注册页面必须全部覆盖,不新增第六个 Tab。
-- 首页 8 个入口和首页模块顺序不可改变。
-- Required 条件、Mutual Match、Block、活动互选二阶段确认和 Capability 不可回归。
-- 人物、活动、服务和内容继续读取真实 API。
-- 页面 WXML 不得残留 Emoji;页面 WXSS 不得新增硬编码主题色。
-- 表单、正文、安全和隐私页面使用高对比浅色内容区。
-
----
-
-### Task 1: 建立 63 页自动覆盖契约
-
-**Files:**
-- Modify: `ui-tests/miniapp-redesign-contracts.mjs`
-- Modify: `docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md`
-- Test: `ui-tests/miniapp-redesign-contracts.mjs`
-
-**Interfaces:**
-- Consumes: `miniapp/app.json` 页面清单。
-- Produces: 每页根节点 `app-page`、无 Emoji 和矩阵状态覆盖契约。
-
-- [ ] **Step 1: 写入失败测试**
-
-```js
-const pages = JSON.parse(read('miniapp/app.json')).pages
-assert.equal(pages.length, 63)
-for (const route of pages) {
- const name = route.split('/').at(-1)
- const wxml = read(`miniapp/${route}.wxml`)
- const wxss = read(`miniapp/${route}.wxss`)
- assert.ok(wxml.includes('app-page'), `${route} 未接入统一页面容器`)
- assert.doesNotMatch(wxml, /[\u{1F300}-\u{1FAFF}]/u, `${route} 仍包含 Emoji`)
- assert.doesNotMatch(wxss, /#[0-9a-fA-F]{3,8}/, `${route} 仍含页面级硬编码颜色`)
-}
-```
-
-- [ ] **Step 2: 验证契约失败**
-
-Run: `node ui-tests/miniapp-redesign-contracts.mjs`
-
-Expected: FAIL,指出首个未迁移页面。
-
-- [ ] **Step 3: 将 63 页标记为未开始**
-
-矩阵不得提前标记通过;每个后续任务仅更新本批页面为 `待验收`。
-
-- [ ] **Step 4: 提交**
-
-```bash
-git add ui-tests/miniapp-redesign-contracts.mjs docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md
-git commit -m "test: require full miniapp redesign coverage"
-```
-
-### Task 2: 登录、实名、本地资格和资料流程
-
-**Files:**
-- Modify: `miniapp/pages/login/login.{wxml,wxss}`
-- Modify: `miniapp/pages/bind-phone/bind-phone.{wxml,wxss}`
-- Modify: `miniapp/pages/verification/verification.{wxml,wxss}`
-- Modify: `miniapp/pages/local-eligibility/local-eligibility.{wxml,wxss}`
-- Modify: `miniapp/pages/local-eligibility-supplement/local-eligibility-supplement.{wxml,wxss}`
-- Modify: `miniapp/pages/profile-basic/profile-basic.{wxml,wxss}`
-- Modify: `miniapp/pages/profile-lifestyle/profile-lifestyle.{wxml,wxss}`
-- Modify: `miniapp/pages/profile-photos/profile-photos.{wxml,wxss}`
-- Modify: `miniapp/pages/profile-interests/profile-interests.{wxml,wxss}`
-- Modify: `miniapp/pages/profile-intent/profile-intent.{wxml,wxss}`
-- Modify: `miniapp/pages/profile-intro/profile-intro.{wxml,wxss}`
-- Modify: `miniapp/pages/profile-preference/profile-preference.{wxml,wxss}`
-- Modify: `miniapp/pages/profile-confirm/profile-confirm.{wxml,wxss}`
-- Modify: `miniapp/pages/review-pending/review-pending.{wxml,wxss}`
-- Modify: `miniapp/pages/review-rejected/review-rejected.{wxml,wxss}`
-- Modify: `docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md`
-
-**Interfaces:**
-- Consumes: 现有认证、资料、实名和本地资格 API。
-- Produces: 分步资料流程、上传、审核中、驳回和重新提交界面。
-
-- [ ] **Step 1: 运行红色覆盖测试**
-
-Run: `node ui-tests/miniapp-redesign-contracts.mjs`
-
-Expected: FAIL,包含本批页面。
-
-- [ ] **Step 2: 改造 15 个页面**
-
-根容器使用 `app-page`;表单保持真实 label、必填说明和错误恢复;本地资格与实名认证保持独立表达。
-
-- [ ] **Step 3: 验证并提交**
-
-```bash
-npm --prefix miniapp run type-check
-git add miniapp/pages/login miniapp/pages/bind-phone miniapp/pages/verification miniapp/pages/local-eligibility miniapp/pages/local-eligibility-supplement miniapp/pages/profile-* miniapp/pages/review-* docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md
-git commit -m "feat: redesign miniapp onboarding flows"
-```
-
-Expected: 类型检查退出码 0。
-
-### Task 3: 推荐、人物、匹配和聊天
-
-**Files:**
-- Modify: `miniapp/pages/discover/discover.{wxml,wxss}`
-- Modify: `miniapp/pages/profile-detail/profile-detail.{wxml,wxss}`
-- Modify: `miniapp/pages/fate-center/fate-center.{wxml,wxss}`
-- Modify: `miniapp/pages/messages/messages.{wxml,wxss}`
-- Modify: `miniapp/pages/chat/chat.{wxml,wxss}`
-- Modify: `miniapp/components/user-card/index.{wxml,wxss}`
-- Modify: `miniapp/components/recommend-card/index.{wxml,wxss}`
-- Modify: `miniapp/components/conversation-item/index.{wxml,wxss}`
-- Modify: `miniapp/components/message-bubble/index.{wxml,wxss}`
-- Modify: `docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md`
-
-**Interfaces:**
-- Consumes: 推荐、用户详情、Match 和消息 API。
-- Produces: 筛选、人物卡、喜欢状态、会话列表和聊天气泡。
-
-- [ ] **Step 1: 保持契约为红**
-
-Run: `node ui-tests/miniapp-redesign-contracts.mjs`
-
-Expected: FAIL,包含本批页面。
-
-- [ ] **Step 2: 改造页面与组件**
-
-Required 条件不显示“已放宽”;未 Mutual 页面不出现私信入口;Block 状态禁用推荐、搜索和聊天入口。
-
-- [ ] **Step 3: 运行安全契约与类型检查**
-
-```bash
-node ui-tests/miniapp-auth-contracts.mjs
-npm --prefix miniapp run type-check
-```
-
-Expected: 两条命令均 PASS。
-
-- [ ] **Step 4: 提交**
-
-```bash
-git add miniapp/pages/discover miniapp/pages/profile-detail miniapp/pages/fate-center miniapp/pages/messages miniapp/pages/chat miniapp/components/user-card miniapp/components/recommend-card miniapp/components/conversation-item miniapp/components/message-bubble docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md
-git commit -m "feat: redesign miniapp matching and chat"
-```
-
-### Task 4: 活动、报名、签到和活动互选
-
-**Files:**
-- Modify: `miniapp/pages/activity/activity.{wxml,wxss}`
-- Modify: `miniapp/pages/activity-detail/activity-detail.{wxml,wxss}`
-- Modify: `miniapp/pages/activity-register/activity-register.{wxml,wxss}`
-- Modify: `miniapp/pages/my-activities/my-activities.{wxml,wxss}`
-- Modify: `miniapp/pages/checkin/checkin.{wxml,wxss}`
-- Modify: `miniapp/pages/activity-feedback/activity-feedback.{wxml,wxss}`
-- Modify: `miniapp/pages/activity-matches/activity-matches.{wxml,wxss}`
-- Modify: `miniapp/pages/activity-mutual-result/activity-mutual-result.{wxml,wxss}`
-- Modify: `miniapp/pages/activity-mutual-waiting/activity-mutual-waiting.{wxml,wxss}`
-- Modify: `miniapp/components/activity-card/index.{wxml,wxss}`
-- Modify: `docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md`
-
-**Interfaces:**
-- Consumes: 活动、报名、签到、反馈和互选确认 API。
-- Produces: 活动卡、详情、报名状态、签到码和二阶段互选确认界面。
-
-- [ ] **Step 1: 运行红色覆盖测试**
-
-Run: `node ui-tests/miniapp-redesign-contracts.mjs`
-
-Expected: FAIL,包含本批页面。
-
-- [ ] **Step 2: 改造活动流程**
-
-单向意向页面不得泄露对方选择;互选结果页必须先要求双方分别确认开启沟通,不能直接表现为已创建聊天。
-
-- [ ] **Step 3: 验证并提交**
-
-```bash
-node ui-tests/ui-contracts.mjs
-npm --prefix miniapp run type-check
-git add miniapp/pages/activity* miniapp/pages/my-activities miniapp/pages/checkin miniapp/components/activity-card docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md
-git commit -m "feat: redesign miniapp activity flows"
-```
-
-Expected: 契约和类型检查 PASS。
-
-### Task 5: 公益红娘
-
-**Files:**
-- Modify: `miniapp/pages/matchmaker/matchmaker.{wxml,wxss}`
-- Modify: `miniapp/pages/matchmaker-apply/matchmaker-apply.{wxml,wxss}`
-- Modify: `miniapp/pages/matchmaker-progress/matchmaker-progress.{wxml,wxss}`
-- Modify: `miniapp/pages/matchmaker-login/matchmaker-login.{wxml,wxss}`
-- Modify: `miniapp/pages/matchmaker-workbench/matchmaker-workbench.{wxml,wxss}`
-- Modify: `miniapp/components/matchmaker-card/index.{wxml,wxss}`
-- Modify: `docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md`
-
-**Interfaces:**
-- Consumes: 公益红娘申请、进度和工作台 API。
-- Produces: 公益说明、申请、服务进度和红娘工作台。
-
-- [ ] **Step 1: 运行红色覆盖测试**
-
-Run: `node ui-tests/miniapp-redesign-contracts.mjs`
-
-Expected: FAIL,包含红娘页面。
-
-- [ ] **Step 2: 改造五页和红娘卡片**
-
-明确“用户永久免费”;红娘只能辅助推荐,界面不得出现代用户 Like 的操作。
-
-- [ ] **Step 3: 类型检查并提交**
-
-```bash
-npm --prefix miniapp run type-check
-git add miniapp/pages/matchmaker* miniapp/components/matchmaker-card docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md
-git commit -m "feat: redesign miniapp matchmaker service"
-```
-
-### Task 6: 咨询和婚前辅导
-
-**Files:**
-- Modify: `miniapp/pages/counseling-intro/counseling-intro.{wxml,wxss}`
-- Modify: `miniapp/pages/counseling-request/counseling-request.{wxml,wxss}`
-- Modify: `miniapp/pages/my-counseling/my-counseling.{wxml,wxss}`
-- Modify: `miniapp/pages/premarital-intro/premarital-intro.{wxml,wxss}`
-- Modify: `miniapp/pages/premarital-request/premarital-request.{wxml,wxss}`
-- Modify: `docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md`
-
-**Interfaces:**
-- Consumes: 咨询与婚前辅导 API。
-- Produces: 服务介绍、申请、预约状态和隐私提示。
-
-- [ ] **Step 1: 运行红色覆盖测试**
-
-Run: `node ui-tests/miniapp-redesign-contracts.mjs`
-
-Expected: FAIL,包含五个咨询页面。
-
-- [ ] **Step 2: 改造五个页面**
-
-咨询与红娘服务保持独立表达;咨询正文不出现在红娘页面;隐私提示始终可见。
-
-- [ ] **Step 3: 类型检查并提交**
-
-```bash
-npm --prefix miniapp run type-check
-git add miniapp/pages/counseling-* miniapp/pages/my-counseling miniapp/pages/premarital-* docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md
-git commit -m "feat: redesign miniapp counseling flows"
-```
-
-### Task 7: 服务中心、服务站和预约
-
-**Files:**
-- Modify: `miniapp/pages/service-center/service-center.{wxml,wxss}`
-- Modify: `miniapp/pages/service-station/service-station.{wxml,wxss}`
-- Modify: `miniapp/pages/service-appointment/service-appointment.{wxml,wxss}`
-- Modify: `miniapp/pages/my-appointments/my-appointments.{wxml,wxss}`
-- Modify: `miniapp/pages/service-program/service-program.{wxml,wxss}`
-- Modify: `miniapp/pages/service-history/service-history.{wxml,wxss}`
-- Modify: `docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md`
-
-**Interfaces:**
-- Consumes: 服务站、预约、专项服务和服务记录 API。
-- Produces: 服务入口、地点、开放时间、预约表单和历史记录。
-
-- [ ] **Step 1: 运行红色覆盖测试**
-
-Run: `node ui-tests/miniapp-redesign-contracts.mjs`
-
-Expected: FAIL,包含六个服务页面。
-
-- [ ] **Step 2: 改造六个页面**
-
-服务站展示地址、电话、开放时间和内部预约入口;不得将主办组织关系表现为用户数据权限。
-
-- [ ] **Step 3: 类型检查并提交**
-
-```bash
-npm --prefix miniapp run type-check
-git add miniapp/pages/service-* miniapp/pages/my-appointments docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md
-git commit -m "feat: redesign miniapp service locations"
-```
-
-### Task 8: 内容、反诈、安全和账号管理
-
-**Files:**
-- Modify: `miniapp/pages/content/content.{wxml,wxss}`
-- Modify: `miniapp/pages/content-detail/content-detail.{wxml,wxss}`
-- Modify: `miniapp/pages/anti-fraud/anti-fraud.{wxml,wxss}`
-- Modify: `miniapp/pages/report/report.{wxml,wxss}`
-- Modify: `miniapp/pages/my-reports/my-reports.{wxml,wxss}`
-- Modify: `miniapp/pages/appeal/appeal.{wxml,wxss}`
-- Modify: `miniapp/pages/blacklist/blacklist.{wxml,wxss}`
-- Modify: `miniapp/pages/privacy-settings/privacy-settings.{wxml,wxss}`
-- Modify: `miniapp/pages/relationship-status/relationship-status.{wxml,wxss}`
-- Modify: `miniapp/pages/account-status/account-status.{wxml,wxss}`
-- Modify: `miniapp/pages/account-status-page/account-status-page.{wxml,wxss}`
-- Modify: `miniapp/pages/account-logout/account-logout.{wxml,wxss}`
-- Modify: `docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md`
-
-**Interfaces:**
-- Consumes: 内容、举报、申诉、黑名单、隐私和账号生命周期 API。
-- Produces: 内容列表、长文、安全提示、证据上传和危险操作界面。
-
-- [ ] **Step 1: 运行红色覆盖测试**
-
-Run: `node ui-tests/miniapp-redesign-contracts.mjs`
-
-Expected: FAIL,包含本批页面。
-
-- [ ] **Step 2: 改造十二个页面**
-
-长文使用浅色正文区;举报和申诉说明证据与结果;退出服务、注销、拉黑等危险操作保留二次确认和结果反馈。
-
-- [ ] **Step 3: 类型检查并提交**
-
-```bash
-npm --prefix miniapp run type-check
-git add miniapp/pages/content* miniapp/pages/anti-fraud miniapp/pages/report miniapp/pages/my-reports miniapp/pages/appeal miniapp/pages/blacklist miniapp/pages/privacy-settings miniapp/pages/relationship-status miniapp/pages/account-* docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md
-git commit -m "feat: redesign miniapp safety and account flows"
-```
-
-### Task 9: 个人中心、通知和帮助页面
-
-**Files:**
-- Modify: `miniapp/pages/index/index.{wxml,wxss}`
-- Modify: `miniapp/pages/mine/mine.{wxml,wxss}`
-- Modify: `miniapp/pages/settings/settings.{wxml,wxss}`
-- Modify: `miniapp/pages/notifications/notifications.{wxml,wxss}`
-- Modify: `miniapp/pages/help-center/help-center.{wxml,wxss}`
-- Modify: `miniapp/pages/about/about.{wxml,wxss}`
-- Modify: `miniapp/pages/my-activities/my-activities.{wxml,wxss}`
-- Modify: `miniapp/pages/my-appointments/my-appointments.{wxml,wxss}`
-- Modify: `miniapp/pages/my-counseling/my-counseling.{wxml,wxss}`
-- Modify: `miniapp/pages/my-reports/my-reports.{wxml,wxss}`
-- Modify: `docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md`
-
-**Interfaces:**
-- Consumes: 首页聚合、个人中心、通知和各“我的服务”API。
-- Produces: 首页完整模块、个人服务总览、通知和帮助。
-
-- [ ] **Step 1: 运行红色覆盖测试**
-
-Run: `node ui-tests/miniapp-redesign-contracts.mjs`
-
-Expected: 仅剩本批或未登记页面失败。
-
-- [ ] **Step 2: 改造页面并保持固定顺序**
-
-首页十段注释和 8 个入口顺序保持不变;个人中心显示真实服务状态,不使用参考图统计数字。
-
-- [ ] **Step 3: 运行全量契约**
-
-```bash
-node ui-tests/ui-contracts.mjs
-node ui-tests/tabbar-icons.mjs
-node ui-tests/miniapp-auth-contracts.mjs
-node ui-tests/miniapp-redesign-contracts.mjs
-npm --prefix miniapp run type-check
-```
-
-Expected: 全部 PASS,63 页覆盖契约无失败。
-
-- [ ] **Step 4: 提交**
-
-```bash
-git add miniapp/pages/index miniapp/pages/mine miniapp/pages/settings miniapp/pages/notifications miniapp/pages/help-center miniapp/pages/about miniapp/pages/my-* docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md
-git commit -m "feat: complete miniapp full UI redesign"
-```
-
-### Task 10: 微信开发者工具和多尺寸验收
-
-**Files:**
-- Create: `docs/Phase-Miniapp-UI-Completion-Report.md`
-- Create: `artifacts/ui-redesign/miniapp/home-320.png`
-- Create: `artifacts/ui-redesign/miniapp/home-375.png`
-- Create: `artifacts/ui-redesign/miniapp/home-390.png`
-- Create: `artifacts/ui-redesign/miniapp/home-430.png`
-
-**Interfaces:**
-- Consumes: 63 个已改造页面和微信开发者工具。
-- Produces: 编译结果、多尺寸截图、核心流程回归和完成报告。
-
-- [ ] **Step 1: 执行静态验证**
-
-```bash
-node ui-tests/ui-contracts.mjs
-node ui-tests/brand-assets.mjs
-node ui-tests/tabbar-icons.mjs
-node ui-tests/miniapp-auth-contracts.mjs
-node ui-tests/miniapp-redesign-contracts.mjs
-npm --prefix miniapp run type-check
-```
-
-Expected: 全部退出码 0。
-
-- [ ] **Step 2: 微信开发者工具编译**
-
-打开 `miniapp/`,清空控制台后重新编译。Expected: WXML、WXSS、JavaScript、资源路径均无红色错误。
-
-- [ ] **Step 3: 回归核心流程**
-
-依次检查登录、资料、审核、推荐、喜欢、Mutual、聊天、Block、活动报名、活动互选二阶段确认、红娘、咨询、预约、内容和举报。
-
-- [ ] **Step 4: 捕获四种宽度并比较**
-
-使用 320、375、390、430 宽度;检查安全区、Tab Bar、长文本、表单、弹窗、空状态和图片裁切。
-
-- [ ] **Step 5: 检查基础无障碍**
-
-所有主要触控目标不小于 44px 等效尺寸;图标具备可理解的文字或无障碍标签;浅色正文区、按钮和状态文字保持可读对比度;不只用颜色表达错误或业务状态。
-
-- [ ] **Step 6: 提交完成报告**
-
-```bash
-git add docs/Phase-Miniapp-UI-Completion-Report.md
-git commit -m "docs: report miniapp UI completion"
-```
-
-停止并等待最终验收,不自动发布或部署。
diff --git a/docs/superpowers/plans/2026-09-11-ui-foundation-and-pilot.md b/docs/superpowers/plans/2026-09-11-ui-foundation-and-pilot.md
deleted file mode 100644
index be3f658..0000000
--- a/docs/superpowers/plans/2026-09-11-ui-foundation-and-pilot.md
+++ /dev/null
@@ -1,406 +0,0 @@
-# UI Foundation And Pilot Implementation Plan
-
-> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
-
-**Goal:** 建立双端品牌资产和设计系统,并交付管理端与小程序核心样板页供用户确认。
-
-**Architecture:** 复用现有 Vue/Element Plus 与微信原生组件,在管理端 `theme/index.css` 和小程序 `app.wxss` 建立双主题令牌。先以契约测试锁定页面数量、固定导航、素材存在性和禁用占位符规则,再改造样板页面并进行同尺寸视觉对比。
-
-**Tech Stack:** Vue 3、TypeScript、Element Plus、微信小程序原生、Node.js assert、ImageGen
-
-**Spec:** `docs/superpowers/specs/2026-09-11-dual-client-full-ui-redesign-design.md`
-
-## Global Constraints
-
-- 管理端覆盖 19 条现有路由,小程序覆盖 63 个现有页面。
-- 小程序底部导航固定为:首页、找对象、消息、活动、我的。
-- 小程序首页保留 8 个固定入口和 V1.1 完整模块顺序。
-- 管理端使用暖白、珊瑚红、深蓝灰;小程序使用紫蓝夜景、粉色高光和浅色正文卡片。
-- 不改变后端、数据库、API、权限和核心业务不变量。
-- 不硬编码参考图中的人物、活动和统计数字。
-- 不使用 Emoji、文字方块、CSS 拼图或临时占位框作为正式视觉资产。
-- 不新增前端框架或大型 UI 依赖。
-
----
-
-### Task 1: 冻结 82 个页面的改造基线
-
-**Files:**
-- Create: `docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md`
-- Modify: `ui-tests/ui-contracts.mjs`
-- Test: `ui-tests/ui-contracts.mjs`
-
-**Interfaces:**
-- Consumes: `admin-web/src/router/index.ts` 的 19 条路由与 `miniapp/app.json` 的 63 个页面。
-- Produces: 页面矩阵,字段固定为 `终端 | 页面 | 路由 | 业务域 | 权限/能力 | 数据源 | 必备状态 | 状态`。
-
-- [ ] **Step 1: 写入失败契约**
-
-在 `ui-tests/ui-contracts.mjs` 增加:
-
-```js
-assert.equal(appConfig.pages.length, 63, '小程序页面清单必须完整覆盖 63 页')
-const matrix = read('docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md')
-for (const page of appConfig.pages) {
- assert.ok(matrix.includes(`\`/${page}\``), `页面矩阵遗漏 /${page}`)
-}
-```
-
-- [ ] **Step 2: 验证契约失败**
-
-Run: `node ui-tests/ui-contracts.mjs`
-
-Expected: FAIL,提示缺少 `docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md`。
-
-- [ ] **Step 3: 建立页面矩阵**
-
-逐条登记 19 条管理端路由和 63 个小程序页面。状态列只允许 `未开始`、`进行中`、`待验收`、`通过`、`阻塞`。
-
-- [ ] **Step 4: 验证契约通过**
-
-Run: `node ui-tests/ui-contracts.mjs`
-
-Expected: PASS,输出 `UI contracts passed`。
-
-- [ ] **Step 5: 提交**
-
-```bash
-git add docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md ui-tests/ui-contracts.mjs
-git commit -m "test: freeze full UI redesign page matrix"
-```
-
-### Task 2: 制作原创品牌和首批页面素材
-
-**Files:**
-- Create: `admin-web/public/brand/logo-mark.png`
-- Create: `admin-web/public/brand/login-illustration.jpg`
-- Create: `miniapp/assets/brand/logo-mark.png`
-- Create: `miniapp/assets/brand/home-nightscape.jpg`
-- Create: `miniapp/assets/brand/default-avatar.png`
-- Create: `miniapp/assets/covers/activity-default.jpg`
-- Create: `miniapp/assets/covers/classroom-default.jpg`
-- Create: `miniapp/assets/covers/counseling-default.jpg`
-- Create: `miniapp/assets/covers/anti-fraud-default.jpg`
-- Create: `miniapp/assets/covers/station-default.jpg`
-- Create: `ui-tests/brand-assets.mjs`
-- Test: `ui-tests/brand-assets.mjs`
-
-**Interfaces:**
-- Consumes: 两张已批准参考图的心形识别、丹阳城市意象与双端色彩方向。
-- Produces: 不带个人身份的本地视觉资产;Logo 中文文字由真实文本渲染,图片只承载心形标志。
-
-- [ ] **Step 1: 写入失败资产测试**
-
-```js
-import assert from 'node:assert/strict'
-import { existsSync, readFileSync } from 'node:fs'
-
-const assets = [
- 'admin-web/public/brand/logo-mark.png',
- 'admin-web/public/brand/login-illustration.jpg',
- 'miniapp/assets/brand/logo-mark.png',
- 'miniapp/assets/brand/home-nightscape.jpg',
- 'miniapp/assets/brand/default-avatar.png',
- 'miniapp/assets/covers/activity-default.jpg',
- 'miniapp/assets/covers/classroom-default.jpg',
- 'miniapp/assets/covers/counseling-default.jpg',
- 'miniapp/assets/covers/anti-fraud-default.jpg',
- 'miniapp/assets/covers/station-default.jpg',
-]
-for (const file of assets) {
- assert.ok(existsSync(file), `缺少品牌资产 ${file}`)
- assert.ok(readFileSync(file).length > 4096, `品牌资产为空或过小 ${file}`)
-}
-console.log('Brand asset contracts passed')
-```
-
-- [ ] **Step 2: 验证测试失败**
-
-Run: `node ui-tests/brand-assets.mjs`
-
-Expected: FAIL,提示首个品牌素材不存在。
-
-- [ ] **Step 3: 使用 ImageGen 制作素材**
-
-统一要求:原创、无文字、无水印、无真实人物身份、丹阳塔桥和城市夜景只作艺术化意象;后台素材低饱和浅色,小程序素材紫蓝夜景配粉色光晕。
-
-- [ ] **Step 4: 优化尺寸与包体**
-
-后台登录插画按桌面横幅裁切;小程序首页图按 750rpx 宽组件裁切;封面统一 16:9;头像统一正方形透明或浅色背景。
-
-- [ ] **Step 5: 验证资产**
-
-Run: `node ui-tests/brand-assets.mjs`
-
-Expected: PASS,输出 `Brand asset contracts passed`。
-
-- [ ] **Step 6: 提交**
-
-```bash
-git add admin-web/public/brand miniapp/assets/brand miniapp/assets/covers ui-tests/brand-assets.mjs
-git commit -m "feat: add original Shanyuan Danyang brand assets"
-```
-
-### Task 3: 建立管理端设计令牌和整体框架
-
-**Files:**
-- Create: `ui-tests/admin-redesign-contracts.mjs`
-- Modify: `admin-web/src/theme/index.css`
-- Modify: `admin-web/src/layouts/MainLayout.vue`
-- Modify: `admin-web/src/router/index.ts`
-- Test: `ui-tests/admin-redesign-contracts.mjs`
-
-**Interfaces:**
-- Consumes: Pinia `useAuthStore().permissions` 和现有路由 `meta.permissions`。
-- Produces: `--admin-sidebar-bg`、`--admin-page-bg`、`--admin-primary`、`--admin-card-radius`;按权限过滤的 9 组导航。
-
-- [ ] **Step 1: 写入失败契约**
-
-```js
-import assert from 'node:assert/strict'
-import { readFileSync } from 'node:fs'
-const read = (file) => readFileSync(file, 'utf8')
-const theme = read('admin-web/src/theme/index.css')
-const layout = read('admin-web/src/layouts/MainLayout.vue')
-for (const token of ['--admin-sidebar-bg', '--admin-page-bg', '--admin-primary', '--admin-card-radius']) {
- assert.ok(theme.includes(token), `缺少管理端令牌 ${token}`)
-}
-for (const group of ['用户与审核', '婚恋服务', '活动与阵地', '内容运营', '安全治理', '组织与权限']) {
- assert.ok(layout.includes(group), `缺少菜单组 ${group}`)
-}
-assert.ok(layout.includes('logo-mark.png'), '管理端未使用正式品牌标志')
-console.log('Admin redesign contracts passed')
-```
-
-- [ ] **Step 2: 验证契约失败**
-
-Run: `node ui-tests/admin-redesign-contracts.mjs`
-
-Expected: FAIL,提示缺少 `--admin-sidebar-bg`。
-
-- [ ] **Step 3: 实现管理端令牌**
-
-在 `theme/index.css` 中增加双层变量映射,Element Plus 继续通过 `--el-color-primary` 使用统一主色;删除页面基础样式中的散落旧色值。
-
-- [ ] **Step 4: 重构侧栏和顶栏**
-
-保持现有权限判断函数;将路由分组映射到 9 个已批准业务域。加入真实图片标志、品牌文字、搜索外观、通知入口、操作员信息和 72px 收起态。
-
-- [ ] **Step 5: 验证契约与构建**
-
-Run:
-
-```bash
-node ui-tests/admin-redesign-contracts.mjs
-npm --prefix admin-web run type-check
-npm --prefix admin-web run build
-```
-
-Expected: 三条命令均退出码 0。
-
-- [ ] **Step 6: 提交**
-
-```bash
-git add ui-tests/admin-redesign-contracts.mjs admin-web/src/theme/index.css admin-web/src/layouts/MainLayout.vue admin-web/src/router/index.ts
-git commit -m "feat: establish admin visual foundation"
-```
-
-### Task 4: 完成管理端五个样板页面
-
-**Files:**
-- Modify: `admin-web/src/views/LoginView.vue`
-- Modify: `admin-web/src/views/DashboardView.vue`
-- Modify: `admin-web/src/modules/user/UserManagementView.vue`
-- Modify: `admin-web/src/modules/user/UserDetailView.vue`
-- Modify: `admin-web/src/modules/review/ReviewView.vue`
-- Modify: `ui-tests/admin-redesign-contracts.mjs`
-- Test: `ui-tests/admin-redesign-contracts.mjs`
-
-**Interfaces:**
-- Consumes: 现有登录、工作台、用户与审核 API,不修改响应字段。
-- Produces: 登录、数据卡、待办列表、活动区、用户列表、详情区和审核状态的样板布局。
-
-- [ ] **Step 1: 为五页加入失败契约**
-
-```js
-for (const file of [
- 'admin-web/src/views/LoginView.vue',
- 'admin-web/src/views/DashboardView.vue',
- 'admin-web/src/modules/user/UserManagementView.vue',
- 'admin-web/src/modules/user/UserDetailView.vue',
- 'admin-web/src/modules/review/ReviewView.vue',
-]) {
- const source = read(file)
- assert.ok(source.includes('page-shell') || source.includes('login-shell'), `${file} 未接入样板布局`)
- assert.doesNotMatch(source, /[\u{1F300}-\u{1FAFF}]/u, `${file} 仍包含 Emoji`)
-}
-```
-
-- [ ] **Step 2: 验证契约失败**
-
-Run: `node ui-tests/admin-redesign-contracts.mjs`
-
-Expected: FAIL,指出尚未接入样板布局的页面。
-
-- [ ] **Step 3: 实现五个样板页面**
-
-所有数据继续读取现有 API。空数组显示空状态;请求中显示骨架或 loading;403 显示无权限说明;其他失败显示原因和重试按钮。
-
-- [ ] **Step 4: 验证**
-
-Run:
-
-```bash
-node ui-tests/admin-redesign-contracts.mjs
-npm --prefix admin-web run type-check
-npm --prefix admin-web run build
-```
-
-Expected: 全部 PASS。
-
-- [ ] **Step 5: 提交**
-
-```bash
-git add admin-web/src/views admin-web/src/modules/user admin-web/src/modules/review ui-tests/admin-redesign-contracts.mjs
-git commit -m "feat: deliver admin redesign pilot"
-```
-
-### Task 5: 建立小程序设计令牌和五个 Tab 样板
-
-**Files:**
-- Create: `ui-tests/miniapp-redesign-contracts.mjs`
-- Modify: `miniapp/app.wxss`
-- Modify: `miniapp/app.json`
-- Modify: `miniapp/components/nav-bar/index.wxml`
-- Modify: `miniapp/components/nav-bar/index.wxss`
-- Modify: `miniapp/components/button/index.wxss`
-- Modify: `miniapp/components/recommend-card/index.wxml`
-- Modify: `miniapp/components/recommend-card/index.wxss`
-- Modify: `miniapp/components/conversation-item/index.wxml`
-- Modify: `miniapp/components/conversation-item/index.wxss`
-- Modify: `miniapp/components/activity-card/index.wxml`
-- Modify: `miniapp/components/activity-card/index.wxss`
-- Modify: `miniapp/pages/index/index.wxml`
-- Modify: `miniapp/pages/index/index.wxss`
-- Modify: `miniapp/pages/discover/discover.wxml`
-- Modify: `miniapp/pages/discover/discover.wxss`
-- Modify: `miniapp/pages/messages/messages.wxml`
-- Modify: `miniapp/pages/messages/messages.wxss`
-- Modify: `miniapp/pages/activity/activity.wxml`
-- Modify: `miniapp/pages/activity/activity.wxss`
-- Modify: `miniapp/pages/mine/mine.wxml`
-- Modify: `miniapp/pages/mine/mine.wxss`
-- Test: `ui-tests/miniapp-redesign-contracts.mjs`
-
-**Interfaces:**
-- Consumes: `GET /api/v1/home`、推荐、消息、活动和个人中心现有数据。
-- Produces: 紫蓝夜景令牌、浅色正文卡片、五个固定 Tab 页面和统一导航组件。
-
-- [ ] **Step 1: 写入失败契约**
-
-```js
-import assert from 'node:assert/strict'
-import { readFileSync } from 'node:fs'
-const read = (file) => readFileSync(file, 'utf8')
-const app = JSON.parse(read('miniapp/app.json'))
-assert.deepEqual(app.tabBar.list.map((item) => item.text), ['首页', '找对象', '消息', '活动', '我的'])
-const style = read('miniapp/app.wxss')
-for (const token of ['--mini-night-start', '--mini-night-end', '--mini-accent-pink', '--mini-card-bg']) {
- assert.ok(style.includes(token), `缺少小程序令牌 ${token}`)
-}
-for (const page of ['index', 'discover', 'messages', 'activity', 'mine']) {
- const source = read(`miniapp/pages/${page}/${page}.wxml`)
- assert.ok(source.includes('app-page'), `${page} 未接入统一页面容器`)
- assert.doesNotMatch(source, /[\u{1F300}-\u{1FAFF}]/u, `${page} 仍包含 Emoji`)
-}
-console.log('Miniapp redesign contracts passed')
-```
-
-- [ ] **Step 2: 验证契约失败**
-
-Run: `node ui-tests/miniapp-redesign-contracts.mjs`
-
-Expected: FAIL,提示缺少小程序夜景令牌。
-
-- [ ] **Step 3: 实现全局令牌和公共组件**
-
-夜景只用于品牌区、导航区和营销卡片;表单、正文和数据列表使用 `--mini-card-bg`。保留现有事件名和组件属性,避免改动业务逻辑。
-
-- [ ] **Step 4: 实现五个 Tab 页面**
-
-首页必须保留现有注释标识的十段顺序及 8 个入口。找对象、消息、活动、我的继续使用真实 API,并补齐加载、空、错误和禁用状态。
-
-- [ ] **Step 5: 验证**
-
-Run:
-
-```bash
-node ui-tests/ui-contracts.mjs
-node ui-tests/tabbar-icons.mjs
-node ui-tests/miniapp-redesign-contracts.mjs
-npm --prefix miniapp run type-check
-```
-
-Expected: 全部 PASS。
-
-- [ ] **Step 6: 提交**
-
-```bash
-git add miniapp/app.wxss miniapp/app.json miniapp/components miniapp/pages/index miniapp/pages/discover miniapp/pages/messages miniapp/pages/activity miniapp/pages/mine ui-tests/miniapp-redesign-contracts.mjs
-git commit -m "feat: deliver miniapp navigation pilot"
-```
-
-### Task 6: 样板视觉验收门禁
-
-**Files:**
-- Create: `docs/Phase-UI-Pilot-Completion-Report.md`
-- Create: `artifacts/ui-redesign/pilot/admin-dashboard-1440.png`
-- Create: `artifacts/ui-redesign/pilot/miniapp-home-375.png`
-- Create: `artifacts/ui-redesign/pilot/miniapp-tabs-375.png`
-
-**Interfaces:**
-- Consumes: 已批准参考图及 Task 4、Task 5 的可运行页面。
-- Produces: 同尺寸截图、差异清单和用户审批结论。
-
-- [ ] **Step 1: 启动双端**
-
-Run:
-
-```bash
-docker compose -f infrastructure/docker-compose.yml up -d --build
-```
-
-Expected: 管理端和后端健康;小程序由微信开发者工具打开 `miniapp/`。
-
-- [ ] **Step 2: 捕获指定尺寸**
-
-管理端捕获 1440px 工作台;小程序捕获 375px 首页和五个 Tab。不得使用加载中、空白或错误截图代替稳定页面。
-
-- [ ] **Step 3: 并排比较**
-
-比较颜色关系、卡片层次、圆角、间距、字体重量、图片裁切、图标、导航和首屏信息密度;逐项修正可见差异。
-
-- [ ] **Step 4: 执行最终检查**
-
-Run:
-
-```bash
-node ui-tests/ui-contracts.mjs
-node ui-tests/brand-assets.mjs
-node ui-tests/admin-redesign-contracts.mjs
-node ui-tests/miniapp-redesign-contracts.mjs
-npm --prefix admin-web run type-check
-npm --prefix admin-web run build
-npm --prefix miniapp run type-check
-```
-
-Expected: 全部退出码 0。
-
-- [ ] **Step 5: 提交报告**
-
-```bash
-git add docs/Phase-UI-Pilot-Completion-Report.md
-git commit -m "docs: report UI pilot completion"
-```
-
-停止并等待用户确认样板视觉,不自动进入管理端和小程序全量计划。
diff --git a/docs/superpowers/plans/2026-09-13-ui-cleanup-and-document-governance.md b/docs/superpowers/plans/2026-09-13-ui-cleanup-and-document-governance.md
index 89b72aa..19ecabc 100644
--- a/docs/superpowers/plans/2026-09-13-ui-cleanup-and-document-governance.md
+++ b/docs/superpowers/plans/2026-09-13-ui-cleanup-and-document-governance.md
@@ -294,8 +294,9 @@ Expected: 仅当运行代码、配置和测试均无引用时才保持 `DELETE`
node ui-tests/ui-document-baseline-contracts.mjs
node ui-tests/miniapp-source-uniqueness-contracts.mjs
node ui-tests/ui-contracts.mjs
-node ui-tests/admin-redesign-contracts.mjs
-node ui-tests/miniapp-redesign-contracts.mjs
+node ui-tests/phase07-home-contracts.mjs
+node ui-tests/brand-assets.mjs
+node ui-tests/tabbar-icons.mjs
npm --prefix admin-web run type-check
npm --prefix admin-web run build
npm --prefix miniapp run type-check
diff --git a/docs/superpowers/specs/2026-09-10-ui-v11-fidelity-design.md b/docs/superpowers/specs/2026-09-10-ui-v11-fidelity-design.md
deleted file mode 100644
index 429577c..0000000
--- a/docs/superpowers/specs/2026-09-10-ui-v11-fidelity-design.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# 善缘丹阳 V1.1 双端高保真 UI 修订设计
-
-## 目标
-
-以《前端 UI-UX 高保真原型修订说明》和《页面级功能清单与交互流程修订版》为唯一 UI/交互验收依据,在保留现有业务能力的前提下,完成微信小程序端与响应式运营后台的可见界面校正,并提供可运行预览与截图。
-
-## 设计原则
-
-- 品牌气质:温暖、可信、公益、本地、现代;避免商业婚恋滑卡感与政务门户感。
-- 小程序:暖白 `#FAFAF8` 页面背景、珊瑚红 `#E96B6B` 主色、白色卡片、轻阴影、16px 页面边距、24px 模块间距、至少 44px 点击区。
-- 后台:220px 浅色侧栏、清晰工作台、白色内容卡片、中等信息密度;在 1366×768 与 1440×900 下可用。
-- 只复用现有原生小程序与 Vue 3 + Element Plus 技术栈,不引入新 UI 框架或在线字体。
-- 所有可见入口、页面结构、空状态和提示文案必须使用简体中文。
-
-## 小程序信息架构
-
-底部固定为:首页、找对象、消息、活动、我的。
-
-首页固定顺序为:品牌区、用户状态、Banner、8 个核心入口、今日推荐、善缘公益服务、近期公益活动、善缘服务站、婚恋课堂、安全提醒。8 个入口固定两行四列,依次为找对象、公益红娘、公益活动、婚恋咨询、婚恋课堂、婚前辅导、婚恋反诈、善缘服务站。
-
-首批可见闭环覆盖 U18、U19、U21、U23、U24、U27、U28、U33、U37、U50、U55、U60;补齐服务预约、婚恋课堂、内容详情、我的咨询、婚前辅导、本地资格、公益服务记录等二级入口。每页具备加载、空、错误三类状态的统一视觉。
-
-## 管理后台信息架构
-
-布局使用固定品牌侧栏、顶部上下文栏和主内容区。菜单依权限显示,并按工作台、资料与用户、婚恋服务、活动运营、内容与 Banner、服务阵地、安全治理、组织与系统、数据统计分组。
-
-工作台首屏根据角色显示“今天需要处理的事项”,不再使用面向所有角色的通用大盘。Reviewer、Matchmaker、Counselor、Service Station Operator、Activity Manager、Risk Operator 各自看到与职责对应的待办卡、快捷入口和最近任务。
-
-## 状态与演示
-
-真实接口成功时展示接口数据;开发预览接口不可用时,页面使用明确标注为“界面预览数据”的本地演示数据,保证无需生产账号即可审查 UI,不把演示数据写入后端。最终验收包含静态契约检查、类型检查、构建和实际浏览器截图;小程序通过微信开发者工具或本地渲染预览检查 320/375/390/430px 宽度。
-
-## 非目标
-
-本次不重写后端业务、不改变权限规则、不增加付费/VIP/外链 Banner/陌生人私信等被禁止功能,也不扩展两份文档之外的页面模块。
diff --git a/docs/superpowers/specs/2026-09-11-codex-baseline-cleanup-design.md b/docs/superpowers/specs/2026-09-11-codex-baseline-cleanup-design.md
deleted file mode 100644
index b9fcf00..0000000
--- a/docs/superpowers/specs/2026-09-11-codex-baseline-cleanup-design.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# Codex 基线归并与旧环境清理设计
-
-## 目标
-
-以 `codex/ui-v11-fidelity` 的 `ac2327b` 为唯一代码基线,清除 ZCode 遗留、旧 Phase 分支、临时依赖与本项目历史 Docker 环境,并从空环境验证启动。
-
-## 保留
-
-- Codex 分支、冻结标签和完整 Git 历史;
-- `artifacts/backups/*.dump` 数据库备份;
-- Flyway 全部迁移文件;
-- 当前 V1.1 客户需求文档与 Codex 已完成代码。
-
-## 清理
-
-- `.zcode/`;
-- 旧 `phase/02-rbac-datascope` 分支;
-- 已跟踪的临时 Maven 包、临时 POM、小程序 `.bak`;
-- `node_modules`、`target`、`dist`、pytest 缓存等可重建产物;
-- 仅属于本项目的旧容器、镜像、网络和数据卷。
-
-其他项目的 Docker 资源不在本次范围内。
-
-## 归并与重建
-
-1. 将 `main` 快进到 Codex 基线,保留 `codex/ui-v11-fidelity` 作为审计分支。
-2. 数据卷删除前创建 PostgreSQL 备份。
-3. 清理后按锁文件重新安装依赖,从空 PostgreSQL 执行 Flyway。
-4. 修复妨碍纯净启动的配置冲突,但不重构业务架构。
-
-## 验收
-
-- Git 工作区仅保留预期变更和备份;
-- 后端测试及构建通过;
-- 管理端类型检查、构建及页面访问通过;
-- 小程序 TypeScript 检查通过,并能由微信开发者工具打开;
-- PostgreSQL、Redis、MinIO、Backend 健康,管理端可访问;
-- 不删除或停止其他项目的容器、网络、卷和镜像。
diff --git a/docs/superpowers/specs/2026-09-11-dual-client-full-ui-redesign-design.md b/docs/superpowers/specs/2026-09-11-dual-client-full-ui-redesign-design.md
deleted file mode 100644
index 2f4e2bd..0000000
--- a/docs/superpowers/specs/2026-09-11-dual-client-full-ui-redesign-design.md
+++ /dev/null
@@ -1,215 +0,0 @@
-# 善缘丹阳 V1.1 双端全量 UI 重设计规格
-
-日期:2026-09-11
-状态:已获用户方案批准,待规格复核
-视觉来源:
-
-- `ChatGPT Image 2026年9月11日 10_34_34 (1).png`:管理端视觉基准;
-- `ChatGPT Image 2026年9月11日 12_46_40.png`:小程序导航页与 Tab 页视觉基准。
-
-## 1. 目标
-
-在不改变 V1.1 业务能力、接口契约、权限边界和核心不变量的前提下,重设计管理端全部现有页面及小程序全部 63 个页面,使双端具有统一品牌识别、清晰信息层级、完整交互状态和可验证的参考图还原度。
-
-## 2. 已确认范围
-
-1. 只实现参考海报中的实际软件界面,不实现外围宣传标题、标语或城市背景画布。
-2. 保留 V1.1 全部功能、页面、路由、权限和接口。
-3. 小程序首页保留固定 8 个核心入口及现行文档规定的完整模块顺序。
-4. 管理端保留全部模块,通过一级分组与二级菜单整理,不隐藏或删除功能。
-5. 管理端全部现有业务路由、小程序全部 63 个页面均纳入本次重设计。
-6. 允许制作原创 Logo、Banner、丹阳城市插画、活动和内容封面、匿名演示头像及状态插画。
-7. 页面继续读取真实 API;参考图中的人物、活动和统计数字仅用于确定布局密度,不硬编码进业务页面。
-
-## 3. 设计方向
-
-### 3.1 统一品牌
-
-双端共用“善缘丹阳”品牌名称、心形识别符号、字体层级、图标笔画语言和公益、真实、安全、温暖的表达原则。
-
-正式视觉资产必须使用可交付图片或现有图标库。不得使用 Emoji、文字方块、CSS 拼图、临时占位框或手写 SVG 冒充正式资产。
-
-### 3.2 管理端主题
-
-- 暖白页面背景;
-- 珊瑚红作为主操作和强调色;
-- 深蓝灰侧栏;
-- 浅粉、浅蓝、浅绿、浅紫用于状态卡片;
-- 信息密度接近参考图中央后台窗口;
-- 风格专业、可信、克制,避免霓虹化和过度装饰。
-
-### 3.3 小程序主题
-
-- 紫蓝夜景作为品牌氛围;
-- 粉色作为主要操作和选中状态;
-- 内容区使用高对比白色或浅色卡片;
-- 保留参考图的温暖陪伴感和丹阳城市意象;
-- 长文本、表单、安全提示和敏感操作页优先保证可读性,不使用高饱和背景承载正文。
-
-## 4. 技术边界
-
-- 管理端继续使用 Vue 3、TypeScript、Vite、Pinia 和 Element Plus。
-- 小程序继续使用微信原生框架和现有 TypeScript/JavaScript 页面,不迁移跨端框架。
-- 优先改造现有主题变量和公共组件,不引入大型 UI 依赖。
-- 默认不修改后端、数据库、API 和业务规则。
-- 如视觉流程暴露缺失接口或缺失业务路由,先记录并请求确认,不擅自扩展产品范围。
-- Mutual Match、Block、活动互选二阶段确认、Capability、数据范围和敏感信息权限保持不变。
-
-## 5. 管理端信息架构
-
-现有页面按权限动态显示,并归入以下导航组:
-
-1. 工作台;
-2. 用户与资料审核;
-3. 匹配与活动服务;
-4. 公益咨询与转介;
-5. 服务站、预约与专项服务;
-6. Banner 与内容运营;
-7. 举报、申诉与审计;
-8. 组织、人员与权限;
-9. 数据统计。
-
-管理端整体框架包含品牌侧栏、分组菜单、顶部搜索、通知、当前操作员、面包屑、内容区和响应式收起状态。登录页、工作台、列表、详情、编辑、筛选、弹窗、分页和危险操作确认必须使用同一设计系统。
-
-## 6. 小程序信息架构
-
-底部导航固定为:
-
-1. 首页;
-2. 找对象;
-3. 消息;
-4. 活动;
-5. 我的。
-
-首页 8 个入口固定为:
-
-1. 找对象;
-2. 公益红娘;
-3. 公益活动;
-4. 婚恋咨询;
-5. 婚恋课堂;
-6. 婚前辅导;
-7. 婚恋反诈;
-8. 善缘服务站。
-
-63 个页面按以下领域统一改造:
-
-- 登录、手机号、实名、本地资格;
-- 用户资料、照片、兴趣、择偶条件和审核状态;
-- 推荐、人物详情、喜欢、匹配和聊天;
-- 活动、报名、签到、反馈和活动互选;
-- 公益红娘;
-- 婚恋咨询与婚前辅导;
-- 服务中心、服务站、预约、专项服务和服务记录;
-- 婚恋课堂、内容详情和婚恋反诈;
-- 举报、申诉、黑名单、隐私和账号生命周期;
-- 通知、帮助、关于及异常状态页。
-
-## 7. 公共组件与状态
-
-### 7.1 管理端
-
-- 页面标题与操作区;
-- 数据概览卡;
-- 筛选栏;
-- 数据表格;
-- 状态标签;
-- 详情分区;
-- 表单与弹窗;
-- 空数据、错误、无权限和加载状态;
-- 二次确认与操作结果反馈。
-
-### 7.2 小程序
-
-- 品牌导航栏;
-- 自定义 Tab Bar;
-- 用户、推荐和活动卡片;
-- 服务入口与功能宫格;
-- 会话列表和聊天气泡;
-- 表单、上传和步骤状态;
-- 底部固定操作栏;
-- 加载骨架、空状态、网络错误、权限不足、审核中和服务不可用状态。
-
-## 8. 素材策略
-
-- 制作独立 Logo 与小尺寸品牌图标,不从展示海报裁切。
-- Tab 图标提供普通态和选中态,并适配微信安全区。
-- Banner、活动封面、课堂封面和服务插画按实际组件尺寸生成。
-- 匿名演示头像只用于本地测试和验收,不冒充真实用户。
-- 真实用户头像、活动数据和统计值继续由 API 提供。
-- 素材在小程序包体限制内优化;需要远程托管的业务图片走现有私有对象存储。
-
-## 9. 响应式与可访问性
-
-- 管理端验证 1280、1366、1440、1920 宽度,窄屏采用真实重排而非整体缩放。
-- 小程序验证 320、375、390、430 像素宽度及底部安全区。
-- 正文、按钮和状态标签满足可读对比度。
-- 状态不能只依赖颜色表达。
-- 交互目标尺寸、键盘焦点、表单标签、错误恢复和重要结果反馈均需验证。
-- 截图只能发现视觉风险,最终仍需真机、键盘和交互测试。
-
-## 10. 实施阶段与门禁
-
-### Phase 01:基线冻结
-
-建立完整页面矩阵,记录路由、角色、接口、状态和改造前截图;发现缺口只登记,不扩展功能。
-
-门禁:页面覆盖率 100%,缺口均有归属。
-
-### Phase 02:品牌资产与设计系统
-
-完成双端令牌、Logo、Tab 图标、核心插画和公共组件规范。
-
-门禁:用户审核素材样张与设计令牌。
-
-### Phase 03:样板页面
-
-管理端完成登录、框架、工作台、用户列表和用户详情;小程序完成首页、找对象、消息、活动、我的和 Tab Bar。
-
-门禁:参考图与实现图同尺寸并排对比,用户确认视觉方向。
-
-### Phase 04:管理端全量页面
-
-按导航业务域逐组完成全部页面和全部状态。
-
-门禁:类型检查、构建、权限路由与核心操作流程通过。
-
-### Phase 05:小程序五个 Tab 页面
-
-完成五个一级页面、导航联动、未读红点和安全区适配。
-
-门禁:微信开发者工具编译无错误,多尺寸截图通过。
-
-### Phase 06:小程序其余页面
-
-按业务领域分批完成其余页面,每批复用已批准组件和视觉令牌。
-
-门禁:63 个页面均可进入、返回并正确展示主要状态。
-
-### Phase 07:全量验证与交付
-
-完成构建、类型检查、接口联调、核心业务回归、视觉对比、响应式和可访问性检查。
-
-门禁:输出页面完成矩阵、视觉验收报告、测试结果和剩余限制。
-
-每个 Phase 完成后输出 Completion Report,未通过门禁不得自动进入下一阶段。
-
-## 11. 验收标准
-
-1. 管理端全部现有路由有统一设计且权限行为不变。
-2. 小程序 63 个页面无遗漏,五个 Tab 与 8 个首页入口保持固定。
-3. 参考图中的颜色关系、卡片层次、圆角、间距、图标风格和信息密度得到一致实现。
-4. 页面不使用硬编码演示数据冒充接口成功。
-5. 加载、空数据、错误、无权限、不可用和危险操作状态完整。
-6. 管理端构建与类型检查通过。
-7. 小程序 TypeScript 检查及微信开发者工具编译通过。
-8. 核心业务不变量和权限矩阵无回归。
-
-## 12. 非目标
-
-- 不删除或缩减 V1.1 功能;
-- 不新增参考图和现行需求之外的业务;
-- 不重写后端或数据库;
-- 不迁移前端框架;
-- 不引入微服务或额外基础设施;
-- 不为追求截图相似度牺牲隐私、安全、权限或真实数据流。
diff --git a/docs/善缘丹阳 V1.1 前端 UI-UX 高保真原型修订说明.md b/docs/善缘丹阳 V1.1 前端 UI-UX 高保真原型修订说明.md
deleted file mode 100644
index af20319..0000000
--- a/docs/善缘丹阳 V1.1 前端 UI-UX 高保真原型修订说明.md
+++ /dev/null
@@ -1,3309 +0,0 @@
-# “善缘丹阳”公益婚恋服务平台
-# V1.1 前端 UI/UX 高保真原型修订说明
-
-版本:V1.1
-适用终端:微信小程序用户端 + 响应式 Web 运营后台
-修订基础:V1.0 UI/UX 规范 + V1.1 首页定稿 + V1.1 页面级功能修订 + V1.1 数据库/API 增量设计
-核心目标:**温暖、可信、公益、本地、简单、年轻但不娱乐化**
-
----
-
-# 第一章 本次视觉修订目标
-
-V1.1 前端设计需要同时解决五个问题:
-
-```text
-1. 第一眼体现“善缘丹阳”公益品牌
-2. 首页快速进入主要婚恋服务
-3. 找对象仍然保持最高业务优先级
-4. 新增咨询、服务站、课堂等能力但不让系统变复杂
-5. 与商业婚恋App明显区分
-```
-
-最终视觉不是:
-
-> Tinder 风格。
-
-也不是:
-
-> 政务门户网站。
-
-应该形成:
-
-> **现代公益服务 + 温暖婚恋体验 + 丹阳本地可信感。**
-
----
-
-# 第二章 核心视觉关键词
-
-统一视觉关键词:
-
-```text
-温暖
-可信
-清爽
-公益
-本地
-自然
-克制浪漫
-现代
-```
-
-明确避免:
-
-```text
-夜店感
-奢华婚介感
-游戏感
-直播感
-网红粉色
-大量爱心
-金币
-皇冠
-火焰
-红娘媒婆传统俗艳风
-```
-
----
-
-# 第三章 品牌名称
-
-用户前台统一使用:
-
-> **善缘丹阳**
-
-副标题:
-
-> 丹阳公益婚恋服务平台
-
-品牌口号可使用:
-
-```text
-真实 · 公益 · 本地 · 安全
-```
-
----
-
-# 第四章 主色方向
-
-延续此前暖珊瑚方向。
-
-建议主色候选:
-
-```text
-Brand Primary
-#E96B6B
-```
-
-属于当前视觉建议值。
-
-最终 Logo/品牌色如果后续正式设计:
-
-> 可统一替换 Design Token。
-
-不要在各页面硬编码。
-
----
-
-# 第五章 辅助色体系
-
-建议:
-
-```text
-Primary
-暖珊瑚
-
-Background
-暖米白 / 浅灰白
-
-Success
-柔和绿色
-
-Warning
-暖橙
-
-Danger
-克制红色
-
-Text Primary
-深灰
-
-Text Secondary
-中灰
-```
-
----
-
-# 第六章 页面背景
-
-用户端主背景建议:
-
-```text
-#FAFAF8
-```
-
-或同类暖白色。
-
-不要纯大面积:
-
-```text
-#FFFFFF
-```
-
-产生医疗/后台感。
-
----
-
-# 第七章 卡片背景
-
-主要业务卡片:
-
-> 白色。
-
-配合:
-
-```text
-轻阴影
-或
-1px浅边框
-```
-
-不能使用:
-
-> 重阴影悬浮卡。
-
----
-
-# 第八章 圆角
-
-统一:
-
-```text
-小组件 8px
-按钮 10~12px
-业务卡片 12~16px
-Banner 16px
-BottomSheet顶部 20px
-```
-
----
-
-# 第九章 阴影
-
-尽量少。
-
-推荐:
-
-```text
-0 2px 10px rgba(0,0,0,0.04)
-```
-
-仅用于:
-
-- 推荐卡
-- Banner
-- 浮层
-
----
-
-# 第十章 字体
-
-微信环境优先:
-
-```text
-PingFang SC
-system-ui
-sans-serif
-```
-
-Android 兼容:
-
-> 系统中文字体。
-
----
-
-# 第十一章 字号层级
-
-建议:
-
-```text
-Page Title 22px / semibold
-Section Title 18px / semibold
-Card Title 16px / medium
-Body 14px
-Secondary 13px
-Caption 12px
-```
-
----
-
-# 第十二章 行高
-
-正文:
-
-```text
-1.5~1.7
-```
-
-尤其内容文章和服务介绍。
-
-避免文字挤成一团。
-
----
-
-# 第十三章 页面水平边距
-
-统一:
-
-```text
-16px
-```
-
-不要不同页面出现:
-
-```text
-12 / 15 / 20 / 24
-```
-
-混乱使用。
-
----
-
-# 第十四章 页面模块间距
-
-建议:
-
-```text
-Section Gap = 24px
-Card Gap = 12px
-Inline Gap = 8px
-```
-
----
-
-# 第十五章 点击区域
-
-所有主要触控区域:
-
-```text
-≥44×44px
-```
-
-核心入口建议更大。
-
----
-
-# 第十六章 底部 Tab Bar
-
-固定:
-
-```text
-首页
-找对象
-消息
-活动
-我的
-```
-
-图标:
-
-> 简洁线性。
-
-选中:
-
-> 主品牌色。
-
-未选中:
-
-> 中灰。
-
----
-
-# 第十七章 Tab Bar 图标建议
-
-```text
-首页 Home
-找对象 Users / Heart-Person
-消息 Message
-活动 Calendar
-我的 User
-```
-
-避免:
-
-> 卡通人物。
-
----
-
-# 第十八章 用户端导航栏
-
-普通页面:
-
-```text
-← 返回
-页面标题
-```
-
-右侧只在确有必要时显示操作。
-
-不要所有页面:
-
-> “...”。
-
----
-
-# 第十九章 首页导航栏
-
-首页顶部采用自定义品牌区。
-
-不需要传统:
-
-```text
-返回 + 标题
-```
-
-显示:
-
-```text
-善缘丹阳 消息
-丹阳公益婚恋服务平台
-```
-
----
-
-# 第二十章 首页总体高保真结构
-
-最终正式顺序:
-
-```text
-品牌区
-↓
-用户状态
-↓
-Banner
-↓
-8个核心入口
-↓
-今日推荐
-↓
-善缘公益服务
-↓
-近期公益活动
-↓
-善缘服务站
-↓
-婚恋课堂
-↓
-安全提醒
-```
-
----
-
-# 第二十一章 首页第一屏目标
-
-375px 宽手机上第一屏建议能够看到:
-
-```text
-品牌
-+
-Banner主体
-+
-至少第一排4个核心入口
-```
-
-用户无需滑动很多:
-
-> 就知道平台是什么、有什么服务。
-
----
-
-# 第二十二章 首页品牌区域
-
-示意:
-
-```text
-善缘丹阳 🔔
-
-丹阳公益婚恋服务平台
-真实 · 公益 · 本地 · 安全
-```
-
-高度控制:
-
-> 60~72px。
-
----
-
-# 第二十三章 首页用户状态条
-
-已完成:
-
-```text
-✓ 已实名 ✓ 本地资格 ✓ 资料已审核
-```
-
-使用浅色状态背景。
-
-不做成大型卡片。
-
----
-
-# 第二十四章 未完成状态
-
-例如:
-
-```text
-还差一步即可开始寻找合适的人
-完成资料 80%
-
-[继续完善]
-```
-
-重点按钮明显。
-
----
-
-# 第二十五章 Banner尺寸
-
-建议:
-
-```text
-宽:343px(375屏宽下)
-高:160~172px
-```
-
-比例约:
-
-```text
-2.05:1
-```
-
----
-
-# 第二十六章 Banner版式
-
-推荐:
-
-```text
-左侧:
-主标题
-副标题
-按钮
-
-右侧/背景:
-场景图
-```
-
-而不是:
-
-> 一张海报直接缩小。
-
----
-
-# 第二十七章 Banner文字
-
-主标题:
-
-```text
-18~22px
-semibold
-```
-
-副标题:
-
-```text
-13~14px
-```
-
-按钮:
-
-```text
-12~14px
-```
-
----
-
-# 第二十八章 Banner首屏示例
-
-```text
-善缘丹阳
-丹阳人的公益婚恋服务
-
-实名认证 · 人工审核 · 公益红娘
-
-[开始寻找]
-```
-
----
-
-# 第二十九章 活动Banner
-
-示例:
-
-```text
-秋日青年公益联谊
-
-万善公园
-公益免费
-
-[立即报名]
-```
-
----
-
-# 第三十章 Banner指示器
-
-底部:
-
-```text
-● ○ ○
-```
-
-即可。
-
-不要数字:
-
-```text
-1 / 5
-```
-
----
-
-# 第三十一章 Banner自动轮播
-
-建议:
-
-```text
-4~5秒
-```
-
-支持用户手动滑动。
-
-用户操作后:
-
-> 不强抢滚动。
-
----
-
-# 第三十二章 8个核心入口
-
-Banner 下方。
-
-采用:
-
-```text
-4列 × 2行
-```
-
----
-
-# 第三十三章 入口单元尺寸
-
-每个约:
-
-```text
-80×72px
-```
-
-或按屏幕自适应。
-
-结构:
-
-```text
-图标背景
-↓
-文字
-```
-
----
-
-# 第三十四章 第一排
-
-固定:
-
-```text
-找对象
-公益红娘
-公益活动
-婚恋咨询
-```
-
----
-
-# 第三十五章 第二排
-
-固定:
-
-```text
-婚恋课堂
-婚前辅导
-婚恋反诈
-善缘服务站
-```
-
----
-
-# 第三十六章 入口图标底色
-
-可用不同但统一的浅色:
-
-```text
-浅珊瑚
-浅橙
-浅绿
-浅蓝
-浅紫
-```
-
-不要饱和强彩色。
-
----
-
-# 第三十七章 找对象图标
-
-视觉优先级最高。
-
-图标可:
-
-> 两个人物 + 小型心形辅助。
-
-但不使用:
-
-> 大红爱心。
-
----
-
-# 第三十八章 公益红娘图标
-
-建议:
-
-> 双人/连接/服务人物。
-
-不要:
-
-> 中国传统媒婆形象。
-
----
-
-# 第三十九章 公益活动图标
-
-建议:
-
-> 日历 + 人物。
-
----
-
-# 第四十章 婚恋咨询
-
-建议:
-
-> 对话气泡 + 心形线性元素。
-
----
-
-# 第四十一章 婚恋课堂
-
-建议:
-
-> Book / Lightbulb。
-
----
-
-# 第四十二章 婚前辅导
-
-建议:
-
-> 双人 + House/Heart。
-
-保持中性。
-
----
-
-# 第四十三章 婚恋反诈
-
-建议:
-
-> Shield + Heart。
-
----
-
-# 第四十四章 服务站
-
-建议:
-
-> Location + Home。
-
----
-
-# 第四十五章 今日推荐区域
-
-标题:
-
-```text
-今日推荐 查看更多 >
-根据双方条件,为你筛选更合适的人
-```
-
----
-
-# 第四十六章 首页推荐卡建议
-
-首页优先采用:
-
-> 横向信息卡
-
-而不是完整大图卡。
-
-可以一屏看到更多核心信息。
-
----
-
-# 第四十七章 推荐卡结构
-
-```text
-┌────────────────────────────┐
-│ [头像 88×112] 王女士 32岁 │
-│ 丹阳 │
-│ 本科 · 教师 │
-│ │
-│ 比较合适 │
-│ ✓ 年龄合适 │
-│ ✓ 都在丹阳 │
-│ │
-│ 不合适 喜欢 │
-└────────────────────────────┘
-```
-
----
-
-# 第四十八章 推荐卡照片
-
-首页:
-
-> 1张主头像即可。
-
-详情页再浏览更多照片。
-
-避免首页变图片瀑布流。
-
----
-
-# 第四十九章 推荐卡昵称
-
-不要显示真实姓名。
-
-示例:
-
-```text
-王女士
-李先生
-```
-
-或平台生成展示名。
-
----
-
-# 第五十章 推荐卡认证
-
-可以小型 Badge:
-
-```text
-已实名
-资料已审核
-```
-
-但不要堆三四个Badge。
-
----
-
-# 第五十一章 匹配等级
-
-只使用:
-
-```text
-很合适
-比较合适
-值得了解
-```
-
-不使用数字。
-
----
-
-# 第五十二章 推荐理由
-
-首页最多:
-
-```text
-2条
-```
-
-详情可展示更多。
-
----
-
-# 第五十三章 推荐操作按钮
-
-左:
-
-```text
-不合适
-```
-
-右:
-
-```text
-喜欢
-```
-
-喜欢使用品牌主色。
-
-不合适使用:
-
-> 浅灰描边。
-
----
-
-# 第五十四章 不使用左右滑卡作为主交互
-
-明确继续:
-
-> 按钮优先。
-
-Swipe只能未来作为辅助。
-
-避免用户误触。
-
----
-
-# 第五十五章 善缘公益服务模块
-
-采用:
-
-> 一张动态服务建议卡。
-
-不展示八个入口的重复宫格。
-
----
-
-# 第五十六章 Searching服务卡示例
-
-```text
-一直没有遇到特别合适的人?
-
-公益红娘可以根据你的条件,
-帮你一起看看合适的人。
-
-[申请公益红娘]
-```
-
----
-
-# 第五十七章 Active Match服务卡
-
-```text
-刚开始认识,不知道聊什么?
-
-这里有一些第一次聊天的小建议。
-
-[看看沟通建议]
-```
-
----
-
-# 第五十八章 Successful服务卡
-
-```text
-正在认真考虑未来?
-
-可以了解善缘丹阳公益婚前辅导。
-
-[了解婚前辅导]
-```
-
----
-
-# 第五十九章 近期活动模块
-
-建议:
-
-> 横向大卡。
-
-展示 1~2 个。
-
----
-
-# 第六十章 活动卡结构
-
-```text
-[16:9活动图片]
-
-青年公益联谊会
-
-公益联谊
-
-09月20日 14:00
-万善公园
-
-公益免费 · 报名中
-
-[查看活动]
-```
-
----
-
-# 第六十一章 活动图片比例
-
-```text
-16:9
-```
-
-统一。
-
-不要每张图比例不同。
-
----
-
-# 第六十二章 活动标签
-
-使用:
-
-```text
-公益联谊
-兴趣交友
-婚恋课堂
-婚前辅导
-婚俗新风
-反诈科普
-```
-
----
-
-# 第六十三章 服务站首页卡
-
-采用独立横向卡。
-
-示例:
-
-```text
-善缘丹阳公益服务站
-
-📍 万善公园婚姻登记处
-
-公益红娘 · 婚恋咨询
-婚前辅导 · 活动服务
-
-[查看服务站]
-```
-
----
-
-# 第六十四章 服务站卡视觉
-
-背景可以:
-
-> 极浅绿色/米白。
-
-与婚恋推荐区稍微区分。
-
-强调:
-
-> 线下真实阵地。
-
----
-
-# 第六十五章 婚恋课堂模块
-
-采用:
-
-> 文章列表,而非卡片瀑布。
-
----
-
-# 第六十六章 课堂单条
-
-```text
-[小缩略图]
-
-第一次见面聊什么更自然?
-婚恋课堂 · 5分钟阅读
-```
-
----
-
-# 第六十七章 安全提醒
-
-首页最底部:
-
-```text
-🛡 善缘提醒
-
-交往过程中请谨慎涉及借款、
-投资和个人隐私。
-
-查看婚恋反诈指南 >
-```
-
-视觉弱化但持续存在。
-
----
-
-# 第六十八章 找对象页 U19
-
-顶部:
-
-```text
-找对象
-```
-
-第二行:
-
-```text
-[筛选条件]
-```
-
----
-
-# 第六十九章 找对象页搜索
-
-不建议大搜索框搜昵称。
-
-主要用:
-
-> 筛选。
-
-按钮:
-
-```text
-筛选
-```
-
----
-
-# 第七十章 筛选条
-
-显示:
-
-```text
-年龄
-地区
-身高
-婚姻状况
-更多
-```
-
-用户可快速调整临时筛选。
-
----
-
-# 第七十一章 用户列表
-
-使用:
-
-> 双列卡片或单列卡片?
-
-建议 V1.1:
-
-> 单列紧凑卡片。
-
-原因:
-
-- 更容易展示资料
-- 适合成年用户
-- 减少看脸为主
-
----
-
-# 第七十二章 用户详情 U21
-
-结构:
-
-```text
-照片
-↓
-基本资料
-↓
-认证状态
-↓
-自我介绍
-↓
-生活方式
-↓
-婚恋态度
-↓
-推荐理由
-↓
-固定底部操作
-```
-
----
-
-# 第七十三章 用户详情图片
-
-顶部支持:
-
-```text
-横向Swipe照片
-```
-
-但不做全屏短视频风。
-
----
-
-# 第七十四章 用户详情隐私
-
-禁止显示:
-
-```text
-真实姓名
-手机号
-微信号
-单位精确名称(除非用户主动公开且合规)
-详细地址
-身份证
-```
-
----
-
-# 第七十五章 用户详情底部操作
-
-固定:
-
-```text
-[不合适] [喜欢]
-```
-
-若已经Like:
-
-```text
-已喜欢
-```
-
----
-
-# 第七十六章 Mutual Success 页面
-
-双方喜欢后:
-
-避免过度庆祝动画。
-
-建议:
-
-```text
-你们互相喜欢
-
-可以开始认识彼此了
-
-[打个招呼]
-[稍后再说]
-```
-
----
-
-# 第七十七章 消息页 U23
-
-继续采用:
-
-> 接近微信熟悉结构。
-
-顶部:
-
-```text
-聊天 | 系统通知
-```
-
----
-
-# 第七十八章 聊天列表
-
-每行:
-
-```text
-头像
-名称
-最后一条消息
-时间
-未读点
-```
-
----
-
-# 第七十九章 系统通知
-
-卡片分:
-
-```text
-匹配
-审核
-活动
-红娘
-咨询
-安全
-```
-
-图标轻量区分。
-
----
-
-# 第八十章 聊天页 U24
-
-顶部:
-
-```text
-< 王女士
-```
-
-右侧:
-
-```text
-...
-```
-
-更多内:
-
-```text
-举报
-解除匹配
-拉黑
-```
-
----
-
-# 第八十一章 Chat 风险提示
-
-首次Chat顶部可以显示一次:
-
-```text
-请谨慎涉及借款、投资及个人隐私
-```
-
-可关闭。
-
-不每次出现。
-
----
-
-# 第八十二章 聊天输入区
-
-V1.1:
-
-```text
-文字输入
-图片
-Emoji
-发送
-```
-
-不显示:
-
-- 语音
-- 视频
-- 位置
-- 红包
-
----
-
-# 第八十三章 活动首页 U27
-
-顶部:
-
-```text
-公益活动
-```
-
-分类水平Tab:
-
-```text
-全部
-交友
-兴趣
-课堂
-辅导
-公益
-```
-
----
-
-# 第八十四章 活动首页Banner
-
-不建议再增加大型Banner。
-
-首页已经有运营Banner。
-
-活动页顶部只可有:
-
-> 一张小型重点活动卡。
-
-避免重复。
-
----
-
-# 第八十五章 活动详情 U28
-
-首屏:
-
-```text
-活动封面
-活动标题
-类型
-时间
-地点
-公益免费
-```
-
----
-
-# 第八十六章 活动详情正文
-
-顺序:
-
-```text
-活动介绍
-适合人群
-报名要求
-活动流程
-注意事项
-主办/执行
-```
-
-底部:
-
-```text
-[立即报名]
-```
-
----
-
-# 第八十七章 活动报名 U29
-
-尽量无长表。
-
-页面显示:
-
-```text
-将使用以下资料报名
-
-年龄 32
-区域 丹阳
-实名 已完成
-资料审核 已完成
-
-[确认报名]
-```
-
----
-
-# 第八十八章 活动签到 U31
-
-页面突出:
-
-> 二维码。
-
-```text
-我的签到码
-
-[QR]
-
-活动名称
-签到时间
-```
-
-不要显示身份证信息。
-
----
-
-# 第八十九章 活动反馈 U32
-
-避免一次十几题。
-
-核心:
-
-```text
-总体体验
-组织体验
-是否愿意参加类似活动
-意见
-```
-
-交友型活动:
-
-> 单独进入“活动后互选”。
-
----
-
-# 第九十章 活动互选页面
-
-标题:
-
-```text
-想继续了解谁?
-```
-
-说明:
-
-```text
-你的选择只有在对方也选择你时才会被双方知道。
-```
-
-这是必须高亮的隐私说明。
-
----
-
-# 第九十一章 双向互选结果
-
-不能直接写:
-
-> 匹配成功。
-
-使用:
-
-```text
-你们在活动中互有好感
-```
-
-按钮:
-
-```text
-[愿意开启线上沟通]
-[暂时不了]
-```
-
----
-
-# 第九十二章 双方确认后
-
-显示:
-
-```text
-你们都愿意进一步了解
-
-现在可以在善缘丹阳开始聊天了
-
-[开始聊天]
-```
-
----
-
-# 第九十三章 公益红娘首页 U33
-
-首屏:
-
-```text
-公益红娘
-
-如果自己找了很久仍没有遇到合适的人,
-可以申请公益红娘帮助。
-```
-
----
-
-# 第九十四章 红娘服务卡
-
-显示:
-
-```text
-帮我推荐合适的人
-帮我看看择偶条件
-帮我联系意向对象
-想参加活动
-```
-
----
-
-# 第九十五章 已有红娘服务
-
-首页改为:
-
-```text
-我的公益红娘
-
-王老师
-乐活公益
-
-服务中
-
-下一步:
-等待查看红娘推荐
-```
-
----
-
-# 第九十六章 红娘推荐页面 U36
-
-外观与普通推荐一致。
-
-顶部明确:
-
-```text
-公益红娘推荐
-```
-
-可以显示:
-
-```text
-红娘推荐理由
-```
-
-但仍不能出现:
-
-> “红娘担保”。
-
----
-
-# 第九十七章 婚恋咨询介绍 U55
-
-页面风格:
-
-> 服务介绍,不像医疗预约。
-
-结构:
-
-```text
-婚恋咨询
-↓
-你可以获得哪些帮助
-↓
-适合哪些情况
-↓
-服务方式
-↓
-隐私说明
-↓
-申请服务
-```
-
----
-
-# 第九十八章 服务帮助卡
-
-例如:
-
-```text
-择偶困惑
-不知道什么样的人更适合自己
-
-沟通相处
-不知道如何表达和沟通
-
-婚恋焦虑
-面对婚恋问题有压力
-```
-
-避免诊断型标签。
-
----
-
-# 第九十九章 婚恋咨询申请 U56
-
-采用单页简表。
-
-```text
-我希望得到哪方面帮助?
-[择偶困惑]
-[沟通相处]
-[情感困惑]
-[婚恋焦虑]
-[其他]
-
-希望服务方式
-○ 线下
-○ 电话
-○ 其他
-
-希望时间
-
-简单说说你的需求
-```
-
----
-
-# 第一百章 咨询申请隐私提示
-
-表单底部:
-
-```text
-请只填写完成服务所必要的信息,
-不建议上传完整聊天记录或敏感资料。
-```
-
----
-
-# 第一百零一章 我的咨询 U57
-
-采用:
-
-> 服务卡列表。
-
-```text
-公益婚恋咨询
-已预约
-
-09月18日 14:00
-线下服务
-
-[查看详情]
-```
-
----
-
-# 第一百零二章 婚前辅导 U58
-
-视觉可以比婚恋咨询:
-
-> 更温暖、更成熟。
-
-不使用:
-
-> 婚礼摄影大片。
-
----
-
-# 第一百零三章 婚前辅导内容
-
-模块:
-
-```text
-关系沟通
-家庭责任
-财务与生活规划
-家庭边界
-冲突处理
-文明婚嫁
-```
-
----
-
-# 第一百零四章 婚恋反诈中心 U60
-
-顶部Banner式轻卡:
-
-```text
-婚恋交友,也要保护好自己
-```
-
-下方:
-
-```text
-常见骗局
-借款风险
-投资理财
-虚假身份
-线下见面安全
-隐私保护
-```
-
----
-
-# 第一百零五章 反诈内容图标
-
-使用:
-
-> Shield、Wallet Alert、ID、Location。
-
-不使用:
-
-> 恐怖警示图。
-
-避免用户焦虑。
-
----
-
-# 第一百零六章 反诈举报CTA
-
-页面底部:
-
-```text
-遇到可疑情况?
-
-[我要举报]
-```
-
----
-
-# 第一百零七章 婚恋课堂 U53
-
-顶部分类:
-
-```text
-全部
-择偶
-沟通
-关系
-婚前
-婚俗
-反诈
-```
-
----
-
-# 第一百零八章 内容列表
-
-使用:
-
-```text
-图 + 标题 + 摘要 + 阅读时间
-```
-
-不显示:
-
-- 阅读量排名
-- 点赞量
-- 热搜
-
----
-
-# 第一百零九章 内容详情 U54
-
-正文宽度:
-
-> 全屏减32px。
-
-字号:
-
-```text
-16px
-```
-
-行高:
-
-```text
-1.75
-```
-
-适合长期阅读。
-
----
-
-# 第一百一十章 内容尾部关联服务
-
-例如婚恋沟通文章:
-
-```text
-如果你需要进一步帮助
-
-[申请婚恋咨询]
-```
-
-反诈文章:
-
-```text
-遇到可疑情况
-[我要举报]
-```
-
----
-
-# 第一百一十一章 善缘服务站 U50
-
-视觉目标:
-
-> 真实线下服务点。
-
-首屏:
-
-```text
-[服务站实景图]
-
-善缘丹阳公益服务站
-万善公园婚姻登记处
-```
-
----
-
-# 第一百一十二章 服务站信息卡
-
-```text
-📍 地址
-🕘 服务时间
-☎ 联系电话
-🧭 导航
-```
-
-按钮:
-
-```text
-[地图导航]
-```
-
----
-
-# 第一百一十三章 服务站服务项目
-
-使用四张小卡:
-
-```text
-公益红娘
-婚恋咨询
-婚前辅导
-活动服务
-```
-
----
-
-# 第一百一十四章 服务站预约
-
-底部:
-
-```text
-[预约公益服务]
-```
-
-进入 U51。
-
----
-
-# 第一百一十五章 服务预约 U51
-
-采用:
-
-> Step-by-Step。
-
-Step 1:
-
-```text
-你需要什么服务?
-```
-
-Step 2:
-
-```text
-希望什么时候?
-```
-
-Step 3:
-
-```text
-补充说明
-```
-
-Step 4:
-
-```text
-确认预约
-```
-
----
-
-# 第一百一十六章 预约成功页
-
-```text
-预约已提交
-
-工作人员确认后,
-我们会通过系统通知告诉你。
-
-[查看我的预约]
-```
-
-避免:
-
-> “预约成功”造成已经确认时间的误解。
-
----
-
-# 第一百一十七章 我的预约 U52
-
-状态标签:
-
-```text
-待确认
-已确认
-已完成
-已取消
-```
-
----
-
-# 第一百一十八章 本地资格说明 U62
-
-不要像行政审核页面。
-
-使用:
-
-```text
-为什么需要确认本地资格?
-```
-
-解释:
-
-> 善缘丹阳主要服务在丹阳工作、居住或拥有丹阳户籍的单身人士。
-
----
-
-# 第一百一十九章 本地资格选择
-
-大按钮:
-
-```text
-○ 丹阳户籍
-○ 在丹阳工作
-○ 在丹阳长期居住
-○ 其他符合项目服务条件
-```
-
----
-
-# 第一百二十章 需要补充材料 U63
-
-文案:
-
-```text
-为了完成本地资格核验,
-请补充一项能够说明你在丹阳工作或居住的材料。
-```
-
-避免:
-
-> “你被怀疑”。
-
----
-
-# 第一百二十一章 上传证明
-
-上传卡:
-
-```text
-+ 上传佐证
-```
-
-下面明确:
-
-```text
-仅用于资格审核,不对其他用户展示。
-```
-
----
-
-# 第一百二十二章 我的页面 U37
-
-整体采用分组列表。
-
-顶部:
-
-```text
-[头像]
-展示名
-资料完整度
-
-已实名 | 本地资格 | 资料已审核
-```
-
----
-
-# 第一百二十三章 我的第一组
-
-```text
-我的资料
-择偶条件
-我的缘分
-```
-
----
-
-# 第一百二十四章 我的第二组:公益服务
-
-```text
-我的红娘
-我的咨询
-我的活动
-我的预约
-公益服务记录
-```
-
----
-
-# 第一百二十五章 我的第三组:安全
-
-```text
-隐私设置
-黑名单
-举报与安全
-账号设置
-```
-
----
-
-# 第一百二十六章 我的第四组
-
-```text
-婚恋课堂
-婚恋反诈
-善缘服务站
-关于善缘丹阳
-```
-
----
-
-# 第一百二十七章 公益服务记录 U64
-
-使用时间轴。
-
-例如:
-
-```text
-09月18日
-公益婚恋咨询
-已完成
-
-09月10日
-青年公益联谊会
-已参加
-
-08月25日
-公益红娘服务
-服务中
-```
-
-不展示内部备注。
-
----
-
-# 第一百二十八章 关于善缘丹阳
-
-视觉更偏:
-
-> 公益项目介绍。
-
-模块:
-
-```text
-项目介绍
-公益性质
-服务内容
-服务阵地
-主办/执行信息
-联系我们
-```
-
-不要做领导介绍页面。
-
----
-
-# 第一百二十九章 未登录/未准入状态设计
-
-即使不能找对象,也不要整个平台只剩认证页面。
-
-允许浏览:
-
-```text
-项目介绍
-公开活动
-婚恋课堂
-婚恋反诈
-服务站
-```
-
-具体报名权限服务端判断。
-
----
-
-# 第一百三十章 未完成准入首页
-
-Banner后不展示真实候选。
-
-推荐区域改成:
-
-```text
-完成资料后开始寻找合适的人
-
-✓ 微信登录
-✓ 手机绑定
-✓ 实名认证
-○ 本地资格
-○ 婚恋资料
-○ 人工审核
-
-[继续]
-```
-
----
-
-# 第一百三十一章 审核中首页
-
-显示:
-
-```text
-资料审核中
-
-你可以先看看:
-公益活动
-婚恋课堂
-婚恋反诈
-```
-
----
-
-# 第一百三十二章 无候选首页
-
-不要显示空白。
-
-```text
-暂时没有找到完全符合双方条件的人
-
-你可以:
-[查看择偶条件]
-[申请公益红娘]
-[看看近期活动]
-```
-
----
-
-# 第一百三十三章 网络异常状态
-
-每个模块单独容错。
-
-例如首页:
-
-Banner失败:
-
-> 不影响推荐。
-
-内容失败:
-
-> 不影响找对象。
-
----
-
-# 第一百三十四章 Skeleton
-
-首页:
-
-- Banner Skeleton
-- Quick Entry可立即静态显示
-- 推荐卡 Skeleton
-- 活动 Skeleton
-
-避免:
-
-> 整页大Loading。
-
----
-
-# 第一百三十五章 空状态视觉
-
-统一组件:
-
-```text
-EmptyState
-```
-
-结构:
-
-```text
-简单插画
-一句说明
-一个主要操作
-```
-
----
-
-# 第一百三十六章 ErrorState
-
-结构:
-
-```text
-暂时没加载成功
-[重新加载]
-```
-
-不要:
-
-```text
-系统异常500
-```
-
----
-
-# 第一百三十七章 Toast
-
-只用于:
-
-- 成功
-- 轻提示
-
-例如:
-
-```text
-已提交
-已保存
-```
-
----
-
-# 第一百三十八章 Dialog
-
-用于:
-
-- Block
-- Unmatch
-- 取消预约
-- 活动取消
-- 退出服务
-
-明确后果。
-
----
-
-# 第一百三十九章 BottomSheet
-
-优先用于:
-
-- Filter
-- Action Menu
-- Picker
-
-减少复杂跳页。
-
----
-
-# 第一百四十章 Disabled按钮
-
-必须说明为什么不可用。
-
-例如:
-
-```text
-[立即报名]
-当前资料审核未完成
-```
-
-不要只是灰色按钮无解释。
-
----
-
-# 第一百四十一章 Accessibility
-
-必须保证:
-
-- 文本对比度
-- 大字体可用
-- 点击区足够
-- 状态不能只靠颜色
-
----
-
-# 第一百四十二章 状态Badge
-
-统一语义:
-
-```text
-成功/通过 绿色
-处理中 暖橙
-暂停 灰
-风险/失败 红色
-普通信息 蓝灰
-```
-
----
-
-# 第一百四十三章 用户隐私Badge
-
-例如:
-
-```text
-已实名
-资料已审核
-```
-
-不使用:
-
-```text
-官方认证
-100%真实
-```
-
----
-
-# 第一百四十四章 后台整体风格
-
-Web后台:
-
-> 简洁、业务效率优先。
-
-不需要沿用用户端大量浪漫元素。
-
----
-
-# 第一百四十五章 后台布局
-
-```text
-左侧导航
-+
-顶部操作栏
-+
-主工作区
-```
-
----
-
-# 第一百四十六章 后台Sidebar
-
-建议:
-
-```text
-220px
-```
-
-折叠可选。
-
----
-
-# 第一百四十七章 后台一级菜单
-
-V1.1:
-
-```text
-工作台
-用户管理
-资料审核
-匹配管理
-公益红娘
-公益咨询
-活动管理
-内容管理
-服务站
-举报风控
-数据统计
-组织人员
-系统设置
-审计安全
-```
-
----
-
-# 第一百四十八章 后台菜单按权限显示
-
-例如 Counselor:
-
-```text
-工作台
-公益咨询
-```
-
-即可。
-
-不展示其他无关功能。
-
----
-
-# 第一百四十九章 Reviewer工作台
-
-第一屏:
-
-```text
-待审核 28
-我已领取 5
-待复审 3
-```
-
-下方直接:
-
-> 待审核列表。
-
----
-
-# 第一百五十章 Matchmaker工作台
-
-第一屏:
-
-```text
-新服务
-今日待跟进
-等待用户
-```
-
-下方:
-
-> 今日任务。
-
----
-
-# 第一百五十一章 Counselor工作台
-
-第一屏:
-
-```text
-新咨询
-今日预约
-待跟进
-```
-
-不要展示整个用户池。
-
----
-
-# 第一百五十二章 Service Station工作台
-
-第一屏:
-
-```text
-今日预约
-待确认
-今日服务
-```
-
-突出:
-
-> 现场执行。
-
----
-
-# 第一百五十三章 Activity Manager工作台
-
-```text
-近期活动
-待审核报名
-今日签到
-```
-
----
-
-# 第一百五十四章 Risk Operator工作台
-
-```text
-高风险
-待处理
-即将超时
-```
-
----
-
-# 第一百五十五章 Banner后台
-
-列表字段:
-
-```text
-预览
-标题
-目标
-受众
-开始
-结束
-状态
-排序
-```
-
----
-
-# 第一百五十六章 Banner编辑页
-
-左侧:
-
-> 表单。
-
-右侧:
-
-> 手机Banner实时预览。
-
-这是很有价值的后台能力。
-
----
-
-# 第一百五十七章 内容后台
-
-列表:
-
-```text
-标题
-分类
-状态
-发布时间
-编辑人
-```
-
----
-
-# 第一百五十八章 内容编辑
-
-编辑区:
-
-```text
-标题
-摘要
-封面
-分类
-正文
-```
-
-右侧:
-
-> 小程序文章预览。
-
----
-
-# 第一百五十九章 咨询后台列表
-
-字段:
-
-```text
-服务编号
-用户
-类型
-状态
-负责人员
-预约时间
-下一步
-```
-
-默认不显示:
-
-> 咨询内容摘要。
-
----
-
-# 第一百六十章 咨询详情
-
-区域:
-
-```text
-用户必要信息
-服务需求
-预约信息
-服务记录
-下一步
-```
-
-敏感内容区域要明显:
-
-> 权限限制。
-
----
-
-# 第一百六十一章 服务站预约后台
-
-桌面列表:
-
-```text
-预约号
-用户
-服务类型
-日期
-状态
-负责人
-```
-
-现场手机视图:
-
-> 卡片化。
-
----
-
-# 第一百六十二章 活动后台
-
-创建活动使用:
-
-> 分区表单。
-
-```text
-基本信息
-报名规则
-容量
-组织
-签到
-活动后互选
-```
-
-避免一页几十字段。
-
----
-
-# 第一百六十三章 ActivityType不同显示不同字段
-
-反诈课堂:
-
-> 隐藏互选设置。
-
-相亲活动:
-
-> 显示互选设置。
-
-这是UI层动态表单。
-
----
-
-# 第一百六十四章 后台敏感字段默认脱敏
-
-例如:
-
-```text
-138****1234
-张**
-```
-
-完整查看:
-
-> 需要单独操作。
-
----
-
-# 第一百六十五章 敏感查看动作
-
-点击:
-
-```text
-查看完整信息
-```
-
-弹:
-
-```text
-请选择查看原因
-```
-
-确认后才显示。
-
----
-
-# 第一百六十六章 后台危险操作
-
-例如:
-
-```text
-封禁
-取消活动
-停用工作人员
-```
-
-不要使用醒目大红主按钮。
-
-放:
-
-> 更多操作。
-
----
-
-# 第一百六十七章 高保真页面优先级
-
-第一批必须先做高保真:
-
-```text
-U18 首页
-U19 找对象
-U21 用户详情
-U23 消息
-U24 Chat
-U27 活动
-U28 活动详情
-U33 公益红娘
-U37 我的
-U50 服务站
-U55 婚恋咨询
-U60 婚恋反诈
-```
-
----
-
-# 第一百六十八章 第二批
-
-```text
-U51 服务预约
-U53 婚恋课堂
-U54 内容详情
-U56 咨询申请
-U57 我的咨询
-U58 婚前辅导
-U62 本地资格
-U64 服务记录
-```
-
----
-
-# 第一百六十九章 首页主要组件
-
-建议组件:
-
-```text
-BrandHeader
-UserStatusStrip
-HomeBannerCarousel
-QuickEntryGrid
-HomeRecommendationSection
-RecommendCardCompact
-ServiceRecommendationCard
-ActivityPreviewCard
-ServiceLocationCard
-ArticleListItem
-SafetyNoticeCard
-```
-
----
-
-# 第一百七十章 新增业务组件
-
-```text
-ServiceTypeCard
-AppointmentCard
-CounselingServiceCard
-ContentCategoryTabs
-LocalEligibilityOption
-EvidenceUploader
-ServiceHistoryItem
-ActivityMutualConsentCard
-```
-
----
-
-# 第一百七十一章 复用原则
-
-不要新页面每次重新写:
-
-- Button
-- Badge
-- Card
-- Empty
-- Modal
-- Uploader
-
-必须复用已有组件库。
-
----
-
-# 第一百七十二章 Design Token新增
-
-建议新增语义Token:
-
-```text
-brand-primary
-brand-soft
-surface-warm
-surface-service
-surface-safety
-
-text-primary
-text-secondary
-text-disabled
-
-status-success
-status-warning
-status-danger
-status-neutral
-```
-
----
-
-# 第一百七十三章 图片资源规范
-
-用户照片:
-
-> 真实用户上传。
-
-Banner/内容封面:
-
-> 运营资源。
-
-服务站:
-
-> 真实场地图片优先。
-
-不要所有页面用AI情侣插画。
-
----
-
-# 第一百七十四章 空状态插画
-
-可以使用:
-
-> 轻量线性公益插画。
-
-但整套风格必须统一。
-
----
-
-# 第一百七十五章 推荐内容视觉红线
-
-用户卡不能突出:
-
-```text
-收入
-资产
-房车
-职位等级
-```
-
-即使数据未来存在也不作为视觉重点。
-
----
-
-# 第一百七十六章 文案语气
-
-统一:
-
-> 温和、平等、尊重。
-
----
-
-# 第一百七十七章 推荐文案
-
-不使用:
-
-```text
-条件优秀
-高质量对象
-热门用户
-```
-
-使用:
-
-```text
-符合你的部分择偶偏好
-双方条件比较合适
-值得进一步了解
-```
-
----
-
-# 第一百七十八章 无匹配文案
-
-不使用:
-
-```text
-你的要求太高
-```
-
-使用:
-
-```text
-按照当前“必须符合”的条件,
-暂时没有找到合适的人。
-```
-
----
-
-# 第一百七十九章 红娘文案
-
-不使用:
-
-```text
-红娘为你安排
-```
-
-使用:
-
-```text
-红娘为你推荐
-```
-
----
-
-# 第一百八十章 咨询文案
-
-不使用:
-
-```text
-情感有问题
-心理问题
-```
-
-使用:
-
-```text
-在婚恋、沟通和关系中遇到困惑
-```
-
----
-
-# 第一百八十一章 Success文案
-
-不使用:
-
-```text
-脱单成功!
-```
-
-推荐:
-
-```text
-祝福你们正在认真了解彼此
-```
-
-更符合公益平台定位。
-
----
-
-# 第一百八十二章 安全文案
-
-不恐吓。
-
-不写:
-
-```text
-骗子很多,请勿相信任何人
-```
-
-使用:
-
-```text
-实名认证和人工审核能够提升信息真实性,
-交往过程中仍请保持必要的安全意识。
-```
-
----
-
-# 第一百八十三章 页面性能要求
-
-首屏:
-
-> Banner、QuickEntry和骨架优先出现。
-
-不要等待全部Home API数据后:
-
-> 一次性白屏→整页出现。
-
----
-
-# 第一百八十四章 首页渐进加载
-
-建议:
-
-```text
-Brand/Entries
-立即渲染
-
-Banner
-缓存/网络
-
-Recommendation
-请求
-
-Activity/Content
-异步
-```
-
----
-
-# 第一百八十五章 图片Lazy Load
-
-用户列表、内容、活动图片:
-
-> 懒加载。
-
----
-
-# 第一百八十六章 低网速体验
-
-图片失败:
-
-> 显示占位。
-
-文字业务仍可操作。
-
----
-
-# 第一百八十七章 前端权限原则
-
-用户端:
-
-> 按 Capability 控制入口。
-
-后台:
-
-> 按 Permission 控制菜单和按钮。
-
-但服务端始终再次校验。
-
----
-
-# 第一百八十八章 入口Disabled
-
-例如用户未完成审核点击“找对象”:
-
-不要跳错误页面。
-
-显示:
-
-```text
-完成资料审核后即可使用找对象服务
-
-[查看审核状态]
-```
-
----
-
-# 第一百八十九章 服务型功能开放策略
-
-未审核用户仍可:
-
-```text
-婚恋课堂
-反诈
-服务站
-部分公益活动
-```
-
-匹配类能力:
-
-> 按准入状态限制。
-
----
-
-# 第一百九十章 首页状态适配矩阵
-
-| 用户状态 | Banner | 找对象 | 推荐 | 红娘 | 活动 | 咨询 | 内容 |
-|---|---|---|---|---|---|---|---|
-| 未登录 | 是 | 引导登录 | 否 | 介绍 | 公开活动 | 介绍 | 是 |
-| 未实名 | 是 | 引导实名 | 否 | 介绍 | 按规则 | 可介绍 | 是 |
-| 审核中 | 是 | 不可 | 否 | 可介绍 | 按规则 | 可申请 | 是 |
-| Searching | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
-| Paused | 是 | 可恢复 | 否 | 是 | 是 | 是 | 是 |
-| Successful | 是 | 弱化 | 否 | 弱化 | 是 | 是 | 是 |
-
----
-
-# 第一百九十一章 首页高保真验收
-
-必须做到:
-
-```text
-5秒知道平台是什么
-5秒看到主要入口
-5秒找到“找对象”
-Banner不压住核心入口
-推荐仍然是首页视觉核心之一
-首页没有商业广告感
-```
-
----
-
-# 第一百九十二章 新服务高保真验收
-
-婚恋咨询:
-
-> 不能像医院挂号系统。
-
-服务站:
-
-> 不能像地图黄页。
-
-婚前辅导:
-
-> 不能像婚庆销售。
-
-婚恋课堂:
-
-> 不能像新闻门户。
-
----
-
-# 第一百九十三章 活动高保真验收
-
-相亲活动:
-
-> 温暖、轻松。
-
-课堂:
-
-> 专业、清爽。
-
-反诈:
-
-> 安全、可信。
-
-同一Activity框架但不同内容视觉。
-
----
-
-# 第一百九十四章 后台高保真验收
-
-角色进入后台第一屏:
-
-> 知道今天做什么。
-
-不能:
-
-> 先看十几个数据图。
-
----
-
-# 第一百九十五章 前端开发交付要求
-
-Codex前端必须实现:
-
-```text
-Design Tokens
-基础组件
-业务组件
-页面
-状态
-Skeleton
-Empty
-Error
-Permission
-Responsive
-```
-
----
-
-# 第一百九十六章 不接受的实现
-
-不接受:
-
-```text
-页面全是硬编码颜色
-组件复制粘贴
-不同页面按钮风格不同
-状态只靠文字
-无Loading
-无Empty
-无Error
-```
-
----
-
-# 第一百九十七章 高保真原型建议设备
-
-主要小程序参考:
-
-```text
-375 × 812
-```
-
-同时验收:
-
-```text
-320
-390
-430
-```
-
----
-
-# 第一百九十八章 Web后台基准
-
-主要:
-
-```text
-1440 × 900
-```
-
-兼容:
-
-```text
-1366 × 768
-```
-
----
-
-# 第一百九十九章 用户端最终视觉架构
-
-```text
-善缘丹阳品牌
- │
- ↓
-公益可信感
- │
- ┌──────┼───────┐
- ↓ ↓ ↓
-找对象 人工服务 公益赋能
- ↓ ↓ ↓
-推荐 红娘 课堂
-Match 活动 反诈
-Chat 咨询 婚前辅导
- 服务站 婚俗新风
-```
-
----
-
-# 第二百章 最终UI原则
-
-> **Banner有运营感,但不能有广告感。**
-
-> **核心入口明显,但不能像超级App九宫格。**
-
-> **推荐对象重要,但不能只看脸。**
-
-> **公益服务丰富,但不能增加用户学习成本。**
-
-> **线下服务真实存在,因此服务站应有真实空间感。**
-
-> **婚恋咨询专业但不医疗化。**
-
-> **婚前辅导温暖但不婚庆化。**
-
-> **婚恋反诈持续提醒但不制造恐惧。**
-
-> **后台功能丰富但工作人员只看到与自己工作有关的内容。**
-
----
-
-# 第二百零一章 最终首页定稿结构
-
-```text
-┌─────────────────────────────┐
-│ 善缘丹阳 🔔 │
-│ 丹阳公益婚恋服务平台 │
-│ 真实 · 公益 · 本地 · 安全 │
-├─────────────────────────────┤
-│ 用户状态 │
-├─────────────────────────────┤
-│ │
-│ Banner Carousel │
-│ │
-├─────────────────────────────┤
-│ 找对象 | 红娘 | 活动 | 咨询 │
-│ 课堂 | 婚前 | 反诈 | 服务站 │
-├─────────────────────────────┤
-│ 今日推荐 更多 │
-│ [推荐卡] │
-│ [推荐卡] │
-├─────────────────────────────┤
-│ 善缘公益服务 │
-│ [状态相关服务建议] │
-├─────────────────────────────┤
-│ 近期公益活动 更多 │
-│ [活动卡] │
-├─────────────────────────────┤
-│ 善缘丹阳公益服务站 │
-│ [查看服务站] │
-├─────────────────────────────┤
-│ 婚恋课堂 更多 │
-│ 内容1 │
-│ 内容2 │
-├─────────────────────────────┤
-│ 🛡 善缘提醒 │
-│ 婚恋反诈指南 > │
-└─────────────────────────────┘
-
-首页 | 找对象 | 消息 | 活动 | 我的
-```
-
----
-
-# 第二百零二章 最终结论
-
-V1.1 前端视觉升级后,“善缘丹阳”必须让用户同时感受到三件事:
-
-第一:
-
-> **这是一个可信的丹阳本地公益婚恋平台。**
-
-第二:
-
-> **我可以非常容易地找到对象、红娘、活动和婚恋咨询。**
-
-第三:
-
-> **这不是一个只负责“配对”的App,在婚恋过程中需要帮助时,我还能找到真实的公益服务。**
-
-因此前端设计最终形成:
-
-```text
-品牌信任
-+
-Banner运营
-+
-核心入口
-+
-精准推荐
-+
-人工公益服务
-+
-线下服务阵地
-+
-婚恋赋能
-+
-持续安全保护
-```
-
-而整个系统依然保持:
-
-> **页面简单、按钮清楚、状态易懂、普通用户不需要学习。**
\ No newline at end of file
diff --git a/docs/善缘丹阳 V1.1 客户需求基线增量开发与修复计划.md b/docs/善缘丹阳 V1.1 客户需求基线增量开发与修复计划.md
index 235fad7..34ec5c8 100644
--- a/docs/善缘丹阳 V1.1 客户需求基线增量开发与修复计划.md
+++ b/docs/善缘丹阳 V1.1 客户需求基线增量开发与修复计划.md
@@ -8,12 +8,12 @@
**Tech Stack:** Java 21、Spring Boot 3.x、Spring Security、MyBatis-Plus、Flyway、PostgreSQL、Redis、WebSocket、S3-Compatible Private Object Storage、Vue 3、TypeScript、Vite、Pinia、Element Plus、微信原生小程序、Docker Compose、Nginx。
-**Spec:** `docs/善缘丹阳 V1.1 Codex最终主启动提示词(整合版).md`、`docs/善缘丹阳 V1.1 前端 UI-UX 高保真原型修订说明.md`、`docs/善缘丹阳 V1.1 数据库与API增量设计.md`、`docs/善缘丹阳 V1.1 页面级功能清单与交互流程修订版.md`、`docs/善缘丹阳 V1.1 Codex 开发执行计划修订版.md`、`docs/善缘丹阳 V1.1 Codex-Jira 最终开发任务增量清单.md`。
+**Spec:** `docs/善缘丹阳 V1.1 Codex最终主启动提示词(整合版).md`、`docs/superpowers/specs/2026-09-13-reference-driven-dual-client-ui-redesign-design.md`、`docs/善缘丹阳 V1.1 数据库与API增量设计.md`、`docs/善缘丹阳 V1.1 页面级功能清单与交互流程修订版.md`、`docs/善缘丹阳 V1.1 Codex 开发执行计划修订版.md`、`docs/善缘丹阳 V1.1 Codex-Jira 最终开发任务增量清单.md`。
## Global Constraints
- 这六份客户修订文档共同构成 V1.1 需求基线,不能以其中一份覆盖其余文档的专业域要求。
-- 主启动提示词负责执行纪律和不变量;页面清单负责功能与交互;UI/UX 文档负责视觉和状态;数据库/API 文档负责数据契约;执行计划和 Jira 增量清单负责 Phase、任务与依赖。
+- 主启动提示词负责执行纪律和不变量;页面清单负责功能与交互;2026-09-13 参考图重设计规格是唯一视觉和状态基线;数据库/API 文档负责数据契约;执行计划和 Jira 增量清单负责 Phase、任务与依赖。
- 文档中的“✅、已完成、已部署、MVP完成”属于历史进度声明,不属于客户需求;必须由当前代码、自动化测试和人工流程重新证明。
- V1.0 正确核心按 KEEP 处理,不重新开发;但每个受影响 Phase 必须执行回归门禁。
- V001~V027 已应用迁移不得改写;数据结构修复只能新增向前迁移。
@@ -128,9 +128,9 @@
**Files:** verification 模块、`miniapp/pages/verification/**`、FeatureFlag 配置。
-- [ ] 验证 V1.0 实名、年龄、加密/hash 和状态流转回归。
-- [ ] 保留 liveness/provider/verification_level 预留;人脸首发未确认前不实现自研识别、不保存 face embedding。
-- [ ] 删除任何“官方婚姻状态认证、100%真实”的前端文案。
+- [x] 验证 V1.0 实名、年龄、加密/hash 和状态流转回归。
+- [x] 保留 liveness/provider/verification_level 预留;人脸首发未确认前不实现自研识别、不保存 face embedding。
+- [x] 删除任何“官方婚姻状态认证、100%真实”的前端文案。
**Gate:** 实名状态来自数据库而非首页硬编码;人脸 Flag 关闭时流程可正常完成。
@@ -138,44 +138,46 @@
**Files:** `local_eligibility/**`、profile/status/capability 服务、`miniapp/pages/local-eligibility/**`、`miniapp/pages/local-eligibility-supplement/**`。
-- [ ] 保留 V1.0 Profile/Preference,补齐本地资格声明、按需补证、提交、状态查询和 `/me/status`。
-- [ ] 用户 API 的 userId 只能来自认证主体;佐证文件进入私有存储,先鉴权再签名。
-- [ ] 将本地资格佐证触发规则、数量、大小、类型和保留期限全部配置化。
-- [ ] 把 U62/U63 接入首次准入与“我的”,并覆盖未提交、声明完成、待补充、审核中、已核验、未通过状态。
+- [x] 保留 V1.0 Profile/Preference,补齐本地资格声明、按需补证、提交、状态查询和 `/me/status`。
+- [x] 用户 API 的 userId 只能来自认证主体;佐证文件进入私有存储,先鉴权再签名。
+- [x] 将本地资格佐证触发规则、数量、大小、类型和保留期限全部配置化。
+- [x] 把 U62/U63 接入首次准入与“我的”,并覆盖未提交、声明完成、待补充、审核中、已核验、未通过状态。
**Gate:** 本地资格与身份表独立;非本人和无特殊权限人员不能读取佐证。
-### Phase 05:统一审核扩展 — EXTEND
+### Phase 05:统一审核扩展 — EXTEND(2026-09-12 已完成)
**Files:** review 模块、local eligibility service、`admin-web/src/modules/review/ReviewView.vue`。
-- [ ] 复用现有 ReviewTask,增加 local_eligibility 类型,不建第二套审核引擎。
-- [ ] 验证 Claim 原子性、Need Evidence、Approve、Reject 与本地资格状态联动。
-- [ ] 每次查看敏感佐证记录 purpose、operator、target、timestamp、result。
+- [x] 复用现有 ReviewTask,增加 local_eligibility 类型,不建第二套审核引擎。
+- [x] 验证 Claim 原子性、Need Evidence、Approve、Reject 与本地资格状态联动。
+- [x] 每次查看敏感佐证记录 purpose、operator、target、timestamp、result。
**Gate:** 两名审核员不能同时 claim;审核通过/拒绝与前台状态一致。
-### Phase 06:Match Eligibility 增量 — KEEP/EXTEND
+### Phase 06:Match Eligibility 增量 — KEEP/EXTEND(2026-09-12 已完成)
**Files:** `match/service/MatchEligibilityService.java`、`RecommendationEngineService.java`、对应测试。
-- [ ] 先跑 V1.0 双向 Required、Block、Paused、Successful 和隐私回归,不重写正确算法。
-- [ ] 仅在配置要求时把本地资格接入 eligibility;不得自动放宽 Required。
-- [ ] 确认首页推荐仍调用正式 Match Engine,推荐数量、阈值、冷却均配置化。
+- [x] 先跑 V1.0 双向 Required、Block、Paused、Successful 和隐私回归,不重写正确算法。
+- [x] 仅在配置要求时把本地资格接入 eligibility;不得自动放宽 Required。
+- [x] 确认首页推荐仍调用正式 Match Engine,推荐数量、阈值、冷却均配置化。
**Gate:** 双方任一 Required 不满足时永不入选;前台不显示数字匹配率。
-### Phase 07:V1.1 首页唯一实现 + 找对象 — REPLACE
+### Phase 07:V1.1 首页唯一实现 + 找对象 — 业务证据保留,UI REOPENED(2026-09-13)
+
+> 后端聚合、Capability、8 入口及推荐规则的专项证据保留;旧页面视觉已被用户否决。当前 UI 实施入口仅为 `docs/superpowers/plans/2026-09-13-reference-driven-dual-client-ui-redesign.md`,不得按本节历史完成标记恢复旧设计。
**Files:** `home/**`、banner 读取服务、`miniapp/pages/index/**`、`miniapp/pages/discover/**`、首页组件、`miniapp/app.json`、Design Token。
-- [ ] 为 HomeApplicationService 写聚合契约测试,确保它调用正式 status、match、activity、location、content、capability 服务,不复制规则。
-- [ ] 修复硬编码 verified、空 recommendations/articles、固定服务站和错误入口路由。
-- [ ] 固定首页顺序:品牌、状态、Banner、8 入口、推荐、公益服务、活动、服务站、课堂、安全提醒。
-- [ ] 固定 8 入口顺序并分别路由到真实页面;未开放时展示服务端 Capability 返回的 Disabled 原因。
-- [ ] 统一 TypeScript 为唯一源,配置小程序 TypeScript 编译;移除同页手写 `.ts`/`.js` 逻辑漂移。
-- [ ] 落实未登录、未实名、审核中、Searching、Paused、Successful、空数据、网络错误、Skeleton 状态矩阵。
-- [ ] 迁移完成后删除旧首页运行逻辑,不保留 `/home-old`。
+- [x] 为 HomeApplicationService 写聚合契约测试,确保它调用正式 status、match、activity、location、content、capability 服务,不复制规则。
+- [x] 修复硬编码 verified、空 recommendations/articles、固定服务站和错误入口路由。
+- [x] 固定首页顺序:品牌、状态、Banner、8 入口、推荐、公益服务、活动、服务站、课堂、安全提醒。
+- [x] 固定 8 入口顺序并分别路由到真实页面;未开放时展示服务端 Capability 返回的 Disabled 原因。
+- [x] 统一 TypeScript 为唯一源,配置小程序 TypeScript 编译;移除同页手写 `.ts`/`.js` 逻辑漂移。
+- [x] 落实未登录、未实名、审核中、Searching、Paused、Successful、空数据、网络错误、Skeleton 状态矩阵。
+- [x] 迁移完成后删除旧首页运行逻辑,不保留 `/home-old`。
**Gate:** 首页 5 秒识别品牌和主要入口;Banner 仅内部目标;首页真实聚合数据可用;小程序 TS 检查和开发者工具构建通过。
diff --git a/docs/善缘丹阳 V1.1 当前进度校正与严格Phase修复计划.md b/docs/善缘丹阳 V1.1 当前进度校正与严格Phase修复计划.md
index b3ea595..dc4f05f 100644
--- a/docs/善缘丹阳 V1.1 当前进度校正与严格Phase修复计划.md
+++ b/docs/善缘丹阳 V1.1 当前进度校正与严格Phase修复计划.md
@@ -1,5 +1,7 @@
# 善缘丹阳 V1.1 当前进度校正与严格 Phase 修复 Implementation Plan
+> **2026-09-13 UI 状态覆盖:** Phase 07 的业务专项证据保留,但旧视觉结果已被用户否决。当前 UI 唯一规格为 `docs/superpowers/specs/2026-09-13-reference-driven-dual-client-ui-redesign-design.md`,唯一总计划为 `docs/superpowers/plans/2026-09-13-reference-driven-dual-client-ui-redesign.md`;先完成清理门禁,不得从本文件恢复旧视觉实现。
+
> **已被纠正并取代(2026-09-09):** 本文件错误地把客户修订文档解释为“全部 Phase 重开”,且对页面缺失范围判断不准确。当前唯一开发修复计划为 [善缘丹阳 V1.1 客户需求基线增量开发与修复计划.md](善缘丹阳%20V1.1%20客户需求基线增量开发与修复计划.md)。本文件只保留审查历史,不再作为执行依据。
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
@@ -247,7 +249,7 @@ Set-Location ..; python -m pytest -q tests/invariants
**Exit Gate:** INV-001 有真实正反例,任何一方 Required 不满足都不会进入推荐。输出报告并停止。
-## Phase 07:V1.1 首页 + 找对象整体替换
+## Phase 07:V1.1 首页 + 找对象整体替换(业务证据保留,UI 已重新打开)
**Current status:** Failed。
diff --git a/ui-tests/admin-redesign-contracts.mjs b/ui-tests/admin-redesign-contracts.mjs
deleted file mode 100644
index de70141..0000000
--- a/ui-tests/admin-redesign-contracts.mjs
+++ /dev/null
@@ -1,47 +0,0 @@
-import assert from 'node:assert/strict'
-import { readFileSync } from 'node:fs'
-import { resolve } from 'node:path'
-
-const root = resolve(import.meta.dirname, '..')
-const read = (file) => readFileSync(resolve(root, file), 'utf8')
-const theme = read('admin-web/src/theme/index.css')
-const layout = read('admin-web/src/layouts/MainLayout.vue')
-
-for (const token of ['--admin-sidebar-bg', '--admin-page-bg', '--admin-primary', '--admin-card-radius']) {
- assert.ok(theme.includes(token), `缺少管理端令牌 ${token}`)
-}
-
-for (const group of [
- '工作台',
- '用户与资料审核',
- '匹配与活动服务',
- '公益咨询与转介',
- '服务站、预约与专项服务',
- 'Banner 与内容运营',
- '举报、申诉与审计',
- '组织、人员与权限',
- '数据统计',
-]) {
- assert.ok(layout.includes(group), `缺少菜单组 ${group}`)
-}
-
-assert.ok(layout.includes('/brand/logo-mark.png'), '管理端未使用正式品牌标志')
-assert.ok(layout.includes('globalSearch'), '管理端顶部搜索没有可操作状态')
-assert.ok(layout.includes('showNotifications'), '管理端通知入口没有可操作反馈')
-
-for (const file of [
- 'admin-web/src/views/LoginView.vue',
- 'admin-web/src/views/DashboardView.vue',
- 'admin-web/src/modules/user/UserManagementView.vue',
- 'admin-web/src/modules/user/UserDetailView.vue',
- 'admin-web/src/modules/review/ReviewView.vue',
-]) {
- const source = read(file)
- assert.ok(
- source.includes('page-shell') || source.includes('login-shell'),
- `${file} 未接入样板布局`,
- )
- assert.doesNotMatch(source, /[\u{1F300}-\u{1FAFF}]/u, `${file} 仍包含 Emoji`)
-}
-
-console.log('Admin redesign contracts passed')
diff --git a/ui-tests/ui-contracts.mjs b/ui-tests/ui-contracts.mjs
index 2854915..0877d3f 100644
--- a/ui-tests/ui-contracts.mjs
+++ b/ui-tests/ui-contracts.mjs
@@ -18,10 +18,14 @@ function assertInOrder(source, labels, scope) {
const appConfig = JSON.parse(read('miniapp/app.json'))
assert.equal(appConfig.pages.length, 63, '小程序页面清单必须完整覆盖 63 页')
const redesignMatrix = read('docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md')
-for (const page of appConfig.pages) {
- assert.ok(redesignMatrix.includes(`\`/${page}\``), `页面矩阵遗漏 /${page}`)
+for (const page of [
+ 'pages/index/index', 'pages/discover/discover', 'pages/messages/messages',
+ 'pages/activity/activity', 'pages/mine/mine', 'pages/matchmaker/matchmaker',
+ 'pages/counseling-intro/counseling-intro', 'pages/premarital-intro/premarital-intro',
+ 'pages/content/content', 'pages/anti-fraud/anti-fraud', 'pages/service-station/service-station',
+]) {
+ assert.ok(redesignMatrix.includes(`\`/${page}\``), `首批页面矩阵遗漏 /${page}`)
}
-assert.equal(appConfig.window.backgroundColor.toUpperCase(), '#FAFAF8', '小程序页面背景必须为暖白 #FAFAF8')
assert.deepEqual(
appConfig.tabBar.list.map((item) => item.text),
['首页', '找对象', '消息', '活动', '我的'],
@@ -41,26 +45,22 @@ const requiredPages = [
]
for (const page of requiredPages) {
assert.ok(appConfig.pages.includes(page), `小程序未注册页面 ${page}`)
- for (const extension of ['js', 'json', 'wxml', 'wxss']) {
+ for (const extension of ['json', 'wxml', 'wxss']) {
assert.ok(existsSync(resolve(root, `miniapp/${page}.${extension}`)), `小程序页面文件缺失:${page}.${extension}`)
}
+ assert.ok(
+ existsSync(resolve(root, `miniapp/${page}.ts`)) || existsSync(resolve(root, `miniapp/${page}.js`)),
+ `小程序页面缺少 TypeScript 或 JavaScript 逻辑源:${page}`,
+ )
}
-const appStyle = read('miniapp/app.wxss')
-assert.match(appStyle, /--color-bg-page:\s*#FAFAF8/i, '全局背景令牌必须为 #FAFAF8')
-assert.match(appStyle, /--spacing-section:\s*48rpx/i, '模块间距必须为 24px(48rpx)')
-
const sharedServiceStyle = read('miniapp/styles/service-page.wxss')
assert.doesNotMatch(sharedServiceStyle, /@import\s+["']\.\.\/\.\.\/app\.wxss["']/, '共享页面样式不能错误导入 ../../app.wxss')
const homeMarkup = read('miniapp/pages/index/index.wxml')
assert.doesNotMatch(homeMarkup, /<[^>]+wx:elif="\{\{recommendations\.length\}\}"[^>]+wx:for=/, '推荐条件分支与循环必须分离,避免 wx:else 失联')
-assert.match(homeMarkup, //, '推荐列表必须使用 block 条件分支')
-assertInOrder(homeMarkup, [
- '品牌区', '用户状态条', 'Banner 轮播', '8个核心入口', '今日推荐',
- '善缘公益服务', '近期公益活动', '善缘服务站', '婚恋课堂', '安全提醒',
-], '首页')
+assert.match(homeMarkup, /wx:elif="\{\{recommendations\.length\}\}"/, '推荐列表必须有独立条件分支')
-const homeLogic = read('miniapp/pages/index/index.js')
+const homeLogic = read('miniapp/pages/index/index.ts')
assertInOrder(homeLogic, [
"label: '找对象'", "label: '公益红娘'", "label: '公益活动'", "label: '婚恋咨询'",
"label: '婚恋课堂'", "label: '婚前辅导'", "label: '婚恋反诈'", "label: '善缘服务站'",
@@ -72,13 +72,8 @@ assert.doesNotMatch(activityDetailMarkup, /页面:\s*activity-detail/, '活动
assert.match(activityDetailMarkup, /活动信息/, '活动详情页必须展示活动信息')
assert.match(activityDetailMarkup, /报名须知/, '活动详情页必须展示报名须知')
-const adminTheme = read('admin-web/src/theme/index.css')
-assert.match(adminTheme, /--sidebar-width:\s*220px/, '管理后台侧栏展开宽度必须为 220px')
-assert.match(adminTheme, /--color-bg-page:\s*#FAFAF8/i, '管理后台页面背景必须使用暖白体系')
-
const adminLayout = read('admin-web/src/layouts/MainLayout.vue')
assert.match(adminLayout, /善缘丹阳/, '后台品牌名称必须为善缘丹阳')
-assert.doesNotMatch(adminLayout, /#304156/i, '后台不得继续使用旧式深蓝侧栏')
const adminApiContracts = [
['admin-web/src/modules/banner/BannerManagementView.vue', '/operator/banners'],
diff --git a/ui-tests/ui-document-baseline-contracts.mjs b/ui-tests/ui-document-baseline-contracts.mjs
new file mode 100644
index 0000000..c3afcc0
--- /dev/null
+++ b/ui-tests/ui-document-baseline-contracts.mjs
@@ -0,0 +1,56 @@
+import assert from 'node:assert/strict'
+import { existsSync, readFileSync } from 'node:fs'
+import { resolve } from 'node:path'
+
+const root = resolve(import.meta.dirname, '..')
+const read = (path) => readFileSync(resolve(root, path), 'utf8')
+const spec = 'docs/superpowers/specs/2026-09-13-reference-driven-dual-client-ui-redesign-design.md'
+
+const obsolete = [
+ 'docs/superpowers/specs/2026-09-10-ui-v11-fidelity-design.md',
+ 'docs/superpowers/specs/2026-09-11-codex-baseline-cleanup-design.md',
+ 'docs/superpowers/specs/2026-09-11-dual-client-full-ui-redesign-design.md',
+ 'docs/superpowers/plans/2026-09-10-ui-v11-fidelity.md',
+ 'docs/superpowers/plans/2026-09-11-codex-baseline-cleanup.md',
+ 'docs/superpowers/plans/2026-09-11-admin-full-ui-redesign.md',
+ 'docs/superpowers/plans/2026-09-11-miniapp-full-ui-redesign.md',
+ 'docs/superpowers/plans/2026-09-11-ui-foundation-and-pilot.md',
+ 'docs/UI-V11-Visual-Acceptance-2026-09-10.md',
+ 'docs/善缘丹阳 V1.1 前端 UI-UX 高保真原型修订说明.md',
+ 'design-qa.md',
+ 'artifacts/phase07-miniapp-home.png',
+ 'artifacts/phase07-miniapp-discover.png',
+ 'artifacts/phase07-home-comparison.png',
+ 'artifacts/phase07-discover-comparison.png',
+ 'artifacts/ui-v11/admin-counselor-1366.png',
+ 'artifacts/ui-v11/admin-dashboard-1440.png',
+ 'artifacts/ui-v11/admin-station-1366.png',
+ 'artifacts/ui-v11/miniapp-home-320.png',
+ 'artifacts/ui-v11/miniapp-home-375.png',
+ 'artifacts/ui-v11/miniapp-home-390.png',
+ 'artifacts/ui-v11/miniapp-home-430.png',
+ 'artifacts/ui-v11/miniapp-home-preview.html',
+ 'artifacts/tabbar-icons-preview.png',
+ 'ui-tests/admin-redesign-contracts.mjs',
+ 'ui-tests/miniapp-redesign-contracts.mjs',
+]
+
+const agents = read('AGENTS.md')
+assert.ok(agents.includes(spec), 'AGENTS.md 未指向唯一视觉规格')
+assert.doesNotMatch(agents, /善缘丹阳 V1\.1 前端 UI-UX 高保真原型修订说明\.md/, 'AGENTS.md 仍引用旧高保真规范')
+for (const file of obsolete) {
+ assert.equal(existsSync(resolve(root, file)), false, `旧视觉入口仍存在: ${file}`)
+}
+
+const status = read('docs/STATUS.md')
+const backlog = read('docs/JIRA_BACKLOG.md')
+const phase07 = read('docs/Phase-07-V11-Recovery-Completion-Report-2026-09-13.md')
+const matrix = read('docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md')
+
+assert.match(status, /Phase 07[^\n]*(视觉否决|视觉待重新实现|UI 待重新实现)/, 'STATUS 未标记 Phase 07 视觉失效')
+assert.match(backlog, /Phase 07[^\n]*(视觉否决|重新打开|REOPENED)/, 'JIRA 未重新打开 Phase 07 UI')
+assert.match(phase07, /视觉结论已失效/, 'Phase 07 报告未保留业务证据并撤销视觉结论')
+assert.match(matrix, /小程序首批 11 个核心页面/, '页面矩阵未切换到当前首批范围')
+assert.doesNotMatch(matrix, /63 个页面.*(全部|全量).*重构/, '页面矩阵仍要求本批全量重构')
+
+console.log('UI document baseline contracts passed')