Files
danyang-match/docs/superpowers/specs/2026-09-13-reference-driven-dual-client-ui-redesign-design.md

357 lines
15 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 善缘丹阳 V1.1 双端参考图驱动 UI 重设计规格
日期:2026-09-13
状态:用户已确认,可编写并执行实施计划
适用范围:管理端全局框架与工作台;小程序首批 11 个核心页面;旧 UI 代码与冲突文档治理
## 1. 目标
以用户确认的两张参考图为唯一视觉基准,在不改变现有业务接口、权限边界和核心业务不变量的前提下:
1. 安全清理管理端和小程序端冗余、无用、废弃的旧 UI 代码;
2. 清理或修订与本规格冲突的设计、规范、计划、进度和验收文档;
3. 第一批严格重构管理端全局框架与工作台;
4. 第一批严格重构小程序 11 个核心页面;
5. 建立后续页面必须复用的单一设计基线和视觉验收门禁。
## 2. 唯一视觉来源与优先级
### 2.1 参考图
- 管理端:`ChatGPT Image 2026年9月11日 10_34_34 (1).png`
- 小程序端:`ChatGPT Image 2026年9月11日 12_46_40.png`
参考图决定色彩关系、布局层级、卡片形态、信息密度、图片风格、图标语言和整体氛围。
### 2.2 冲突裁决
后续 UI 开发按以下顺序裁决:
1. 用户最新明确指令;
2. 本规格及上述两张参考图;
3. `AGENTS.md` 中仍有效的产品红线、权限规则和业务不变量;
4. 页面功能、API、数据库和业务流程文档中的非视觉契约;
5. 当前代码行为。
任何旧文档中的暖白小程序首页、浅色管理侧栏、通用 Element Plus 后台、旧 Phase 07 视觉验收结论、全量 63/64 页一次性重构要求,均不得覆盖本规格。
## 3. 已确认范围
### 3.1 管理端第一批
- 页面外层公益主题背景;
- 中央大圆角管理系统容器;
- 深灰蓝侧栏与权限菜单;
- 顶部搜索、通知和管理员区域;
- 工作台欢迎区;
- 六项指标卡;
- 今日待办事项;
- 近期公益活动;
- 服务数据概览;
- 项目服务成效;
- `1366×768` 与 `1920×1080` 响应式适配。
管理端其他业务页面本批次不进行逐页高保真重构,但必须继续在新框架中可用,且不得破坏路由、权限和操作流程。
### 3.2 小程序第一批
1. 首页;
2. 找对象;
3. 消息;
4. 公益活动;
5. 我的;
6. 公益红娘;
7. 婚恋咨询;
8. 婚前辅导;
9. 婚恋课堂;
10. 婚恋反诈;
11. 善缘服务站。
其余页面不在第一批逐屏重构范围内,只处理会阻塞编译、路由或公共主题迁移的问题。
### 3.3 首页入口裁决
参考图首页展示 4 个快捷入口,但正式业务要求 8 个固定入口。用户已确认采用两行四列,并保持以下顺序:
第一行:找对象、公益红娘、公益活动、婚恋咨询。
第二行:婚恋课堂、婚前辅导、婚恋反诈、善缘服务站。
## 4. 非目标
- 不重写后端、数据库或 API;
- 不改变现有角色、权限与 DataScope;
- 不迁移 Vue 3、Element Plus 或微信原生小程序技术栈;
- 不在第一批重构管理端所有业务页面;
- 不在第一批重构小程序其余约 53 个页面;
- 不增加付费、会员、外链 Banner 或参考图之外的新业务;
- 不用虚构数据冒充接口成功;
- 不以整目录覆盖、强制回滚或无引用证据的批量删除完成清理。
## 5. 核心业务不变量
视觉重构不得改变以下行为:
- 用户永久免费;
- Required 条件不可自动放宽;
- Mutual Match 后才能聊天;
- Block 双向优先于推荐、搜索、互动与聊天;
- 红娘只能辅助推荐,不能替用户 Like;
- 活动单向意向保密;
- 活动互选必须经过双方分别确认后才能创建或复用 Match;
- Counselor 只能访问 Assigned Service;
- Content Editor 不得访问用户婚恋数据;
- Service Station Operator 不得浏览全用户库;
- 用户端入口由服务端 Capability 决定;
- 敏感数据权限和审计逻辑保持不变。
## 6. 旧代码清理设计
### 6.1 清理分类
所有候选文件必须进入以下一种状态:
- `KEEP`:仍被运行时、构建、路由或业务流程使用;
- `REFACTOR`:仍有效,但需迁入新设计系统;
- `DELETE`:能够证明无引用、已被替代或属于失败视觉实现;
- `REVIEW`:证据不足,暂不删除。
### 6.2 清理顺序
1. 建立路由、页面、组件、样式、素材和脚本引用图;
2. 处理同名 `.ts/.js` 页面漂移,确认 TypeScript 是唯一手写源;
3. 删除无路由、无配置、无 import 或无模板引用的页面与组件;
4. 删除被新设计系统完全替代的局部样式和主题变量;
5. 删除无引用图片、图标、字体、截图和临时预览产物;
6. 每一批删除后立即执行对应静态检查、构建和页面启动验证。
### 6.3 删除门禁
删除必须同时满足:
- 已完成全文引用、路由配置、组件注册和构建入口检查;
- 替代实现覆盖原有有效行为;
- 删除后构建与核心页面检查不退化;
- Git 能单独展示删除范围并可恢复;
- 不包含用户未授权清理的后端业务、数据库迁移或运维数据。
## 7. 文档治理与防偏航设计
### 7.1 单一事实源
完成文档治理后:
- `AGENTS.md` 必须将本规格列为唯一有效 UI 视觉基线;
- `docs/STATUS.md` 只记录当前可验证状态;
- `docs/JIRA_BACKLOG.md` 的 UI 任务状态与本轮实际验收一致;
- 后续实现计划只能引用本规格,不能引用旧 UI 计划;
- 文档中的“已完成”不能替代构建、截图和人工视觉验收。
### 7.2 直接删除的冲突文档
以下文件属于已被本规格替代的旧 UI 方向或执行计划,实施清理时直接删除,由 Git 历史保留追溯能力:
- `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`
- 根目录 `design-qa.md`
旧 Phase 07 对比截图和被否决的验收产物同步删除,不能继续作为视觉正确性的证据:
- `artifacts/phase07-miniapp-home.png`
- `artifacts/phase07-miniapp-discover.png`
- `artifacts/phase07-home-comparison.png`
- `artifacts/phase07-discover-comparison.png`
### 7.3 修订而非删除的文档
以下文件包含仍有效的业务或审计信息,必须修订,不能简单删除:
- `AGENTS.md`:替换旧 UI 文档入口,写入本规格优先级和首批范围;
- `docs/STATUS.md`:将旧 Phase 07 视觉结果改为“已否决,待重新实现”;
- `docs/JIRA_BACKLOG.md`:重新打开对应 UI 任务,并拆分管理端第一批与小程序 11 页;
- `docs/Phase-07-V11-Recovery-Completion-Report-2026-09-13.md`:保留业务测试证据,但明确视觉验收结论已失效;
- `docs/UI_REDESIGN_PAGE_MATRIX_V1.1.md`:缩减为当前第一批范围,其他页面标为后续批次;
- `docs/善缘丹阳 V1.1 客户需求基线增量开发与修复计划.md`:更新 UI 阶段入口,不保留“旧 Phase 07 视觉已完成”的表述;
- `docs/善缘丹阳 V1.1 当前进度校正与严格Phase修复计划.md`:同步当前暂停点与新 UI 重构门禁。
### 7.4 旧高保真规范处理
`docs/善缘丹阳 V1.1 前端 UI-UX 高保真原型修订说明.md` 含有大量旧视觉处方,继续保留为活动规范会造成偏航。执行时必须:
1. 将仍有效的业务状态、权限、页面流程和可访问性要求迁移到对应业务文档或本规格;
2. 完成迁移核对后删除该旧高保真文件;
3. 在 `AGENTS.md` 中移除对它的正式基线引用;
4. 不创建带同等权威但内容重复的新旧双份规范。
其他需求、API、数据库、安全和运维文档只清理与本轮视觉结论直接冲突的段落,不得因 UI 重构删除有效业务契约。
### 7.5 文档验收门禁
- `rg` 搜索旧规格文件名时,只允许在删除记录或新规格的治理清单中出现;
- 有效文档不得再把旧 Phase 07 截图标记为 passed;
- 有效 UI 计划不得再要求一次性改造全部 63/64 页;
- `AGENTS.md`、`STATUS.md`、`JIRA_BACKLOG.md` 与本规格的范围、优先级和状态一致;
- 所有活动 Markdown 文件必须为 UTF-8 且中文可正常读取。
## 8. 管理端设计
### 8.1 视觉语言
- 外层为浅粉公益主题背景,包含低对比丹阳城市、塔、桥、爱心和人物剪影;
- 主系统为居中的暖白大圆角容器;
- 侧栏使用深灰蓝,当前菜单使用珊瑚红渐变或同色高亮;
- 内容卡片使用暖白底、细边框、柔和阴影和统一圆角;
- KPI 状态色使用低饱和粉、橙、蓝、绿、紫;
- 字体使用本地系统中文字体栈,不依赖境外字体或运行时 CDN。
### 8.2 信息架构
侧栏按参考图保持一层清晰入口,并继续由权限控制可见性:工作台、用户管理、资料审核、匹配管理、公益红娘、公益咨询、活动管理、内容管理、善缘服务站、举报风控、数据统计、组织人员、系统设置。
同一业务域存在多个现有路由时,可在进入模块后使用页面内标签或二级导航承载,不删除功能。
### 8.3 工作台
工作台必须呈现:欢迎信息、六项核心指标、今日待办、近期公益活动、服务数据概览和项目服务成效。所有数字来自现有 API;无数据时显示正式空状态,不使用参考图中的演示数字。
### 8.4 响应式
- `1920×1080`:完整展示背景氛围与工作台两列布局;
- `1366×768`:保证侧栏、六项指标和首屏核心待办可读;
- 窄于管理端支持宽度时允许侧栏收起和内容纵向重排,不采用整体缩放。
## 9. 小程序设计
### 9.1 全局视觉
- 深靛蓝与紫色夜景作为顶部和品牌氛围;
- 珊瑚粉用于主操作、当前 Tab、未读和重点提示;
- 内容区使用白色或浅色卡片,正文保持高对比;
- 图片、Logo、头像、活动封面和服务站封面使用正式本地资源或真实业务数据;
- 不使用 Emoji、字符图标、CSS 拼图或临时占位图冒充正式资产;
- 适配微信胶囊按钮、状态栏和底部安全区。
### 9.2 底部导航
固定为:首页、找对象、消息、活动、我的。五项均提供统一的普通态和选中态图标,不改变现有 Tab 路由语义。
### 9.3 十一个页面
- 首页:品牌状态、夜景 Banner、8 入口、今日推荐、公益服务、近期活动、服务站、课堂和安全提醒;
- 找对象:顶部搜索与筛选、人物卡片、认证和兴趣信息、真实推荐状态;
- 消息:新朋友、互动喜欢、我的关注、系统通知和会话列表;
- 公益活动:分类、日历、活动大图卡、人数和报名状态;
- 我的:个人摘要、统计、公益身份卡、红娘/咨询/活动/预约/设置入口;
- 公益红娘:公益服务说明、申请、进度、红娘与服务记录;
- 婚恋咨询:分类、预约、服务说明、预约记录与授权状态;
- 婚前辅导:沟通、责任、财务、冲突等主题与预约状态;
- 婚恋课堂:分类、内容列表、封面、发布时间与加载状态;
- 婚恋反诈:风险类型、安全提醒、举报与求助入口;
- 善缘服务站:站点封面、地址、电话、开放时间、服务项目、定位与预约。
## 10. 状态、数据与错误处理
所有页面必须使用真实接口或现有开发态数据适配层,并具备:
- 加载与骨架状态;
- 空数据状态;
- 网络失败与重试;
- 未登录引导;
- 无权限与 Capability 禁用原因;
- 提交中、成功和失败反馈;
- Block、Unmatch、审核中、服务不可用等业务状态。
视觉层只消费后端权限和关系事实,不在前端自行推导或修改事实。
## 11. 实施阶段与门禁
### Stage 0:可恢复基线
记录 Git 状态,运行双端现有检查,建立代码和文档引用清单。
门禁:基线报告完整,用户改动与本轮候选清理项可区分。
### Stage 1:旧代码与冲突文档清理
按第 6、7 章执行,先列清单,再分批删除或修订。
门禁:构建不退化;有效文档只剩一个视觉事实源;输出清理报告后暂停等待用户确认。
### Stage 2:双端设计基础
建立管理端与小程序端 Token、基础组件、图标与正式素材。
门禁:组件状态齐全,无境外运行时依赖,用户确认视觉样板。
### Stage 3:管理端第一批
依次实现全局框架、侧栏、顶部栏和工作台。
门禁:两种目标分辨率截图通过人工验收,权限和路由回归通过。
### Stage 4:小程序公共框架
实现全局主题、五项 Tab、安全区、公共卡片和状态组件。
门禁:五项 Tab 可达,八个入口顺序与 Capability 行为正确。
### Stage 5:小程序 11 页
- A 组:首页、找对象、消息、活动、我的;
- B 组:公益红娘、婚恋咨询、婚前辅导;
- C 组:婚恋课堂、婚恋反诈、善缘服务站。
每组完成真实数据映射、状态处理、交互检查、截图对比和回归测试,验收后再进入下一组。
### Stage 6:最终验收
完成双端截图矩阵、功能回归、静态检查、构建和受影响后端测试。
门禁:无旧主题混用、无无响应入口、无业务不变量回归,并输出剩余差异说明。
## 12. 测试与验收
### 12.1 管理端
- TypeScript 类型检查;
- Vite 生产构建;
- 路由与权限菜单检查;
- 搜索、通知、管理员菜单和退出登录检查;
- `1366×768`、`1920×1080` 实际页面截图;
- 工作台与参考图并排视觉检查。
### 12.2 小程序
- 项目现有 TypeScript 和静态契约检查;
- 微信开发者工具编译;
- 五项 Tab、八入口和 11 页主要操作检查;
- 常见设备宽度和安全区截图;
- 未登录、空数据、网络失败、无权限、Block 等状态检查;
- 每个页面与参考图对应区域并排视觉检查。
### 12.3 后端
执行受影响的首页聚合、权限、推荐、关系、消息、活动、咨询和服务站测试。Docker 仅用于联调,不删除或重建现有数据库卷。
## 13. 完成定义
只有同时满足以下条件,第一批重设计才完成:
1. 管理端框架与工作台达到参考图的视觉语言和信息密度;
2. 小程序 11 页达到参考图的统一紫蓝粉视觉语言;
3. 首页保留固定 8 入口与正式模块顺序;
4. 当前代码和有效文档中不存在会把开发引回旧视觉的入口;
5. 所有主要入口有真实交互反馈;
6. 业务不变量和权限边界无回归;
7. 双端构建、检查和受影响测试通过;
8. 用户完成最终截图验收。