docs: sync README/CONTEXT and add design optimization plan + UX acceptance
记录 vibe 设计优化封版:README/CONTEXT 同步设计规范(Swiss Modernism 2.0 + Bento Box + Hero-Centric + Motion-Driven)、依赖漏洞处置结论与质量标准;新增 实施计划与用户旅程验收报告。
This commit is contained in:
+3
-1
@@ -160,6 +160,8 @@ Novalon 的 6 个核心产品,互为互补关系,常以组合形式出现在
|
||||
| 动效强度 | 体验级全场景动效叙事(Porsche Consulting水准,但克制不炫技) | ✅ 2026-06-29 确认 |
|
||||
| 排版方向 | Accenture信息密度 + Bain标题对比 + Porsche图文节奏的融合方案 | ✅ 2026-06-29 确认 |
|
||||
| 品牌故事页品牌名 | 使用与 footer Logo 完全相同的青柳隶书 SVG path(`BrandCalligraphyName`),不加载 4.4MB 的 AoyagiReisho 字体文件,兼顾品牌一致性与性能 | ✅ 2026-08-18 确认 |
|
||||
| 风格主词 | Swiss Modernism 2.0(骨架)+ Bento Box Grid(信息组织)+ Hero-Centric & Conversion-Optimized(首屏转化)+ Trust & Authority & Social Proof(信任层)+ Motion-Driven(差异化记忆点)+ Accessible & Ethical(底线) | ✅ 2026-08-18 确认 |
|
||||
| 官网产品模块定位 | **IHG/字节式品牌矩阵**:官网品牌宣传为主,产品矩阵页保留为聚合入口(每产品一句话定位+指标证据+外链独立站);成熟产品 `externalUrl` 外链独立站(NovaVis → novavis.p.novalon.cn 已实践),未成熟产品官网详情页占位,独立站上线后切换外链。参照案例(已核实):IHG 品牌组合页 / 字节跳动 bytedance.com/products / 腾讯 tencent.com/business.html(模式 B:品牌+品牌矩阵聚合页);对照金蝶/用友(模式 C:产品为主,官网承载详情与转化) | ✅ 2026-08-19 确认 |
|
||||
|
||||
## 页面类型与四层映射
|
||||
|
||||
@@ -201,7 +203,7 @@ Novalon 的 6 个核心产品,互为互补关系,常以组合形式出现在
|
||||
- **"web-design-engineer"≠ 代码生成器**:它是设计验证工具,产出原型 HTML,不是最终代码
|
||||
- **"克制动效"≠ 零动效**:动效服务于信息传达(hover 反馈、scroll reveal、卡片交互),但不做装饰性粒子/水墨动画
|
||||
- **"参考 IHG"≠ 视觉模仿 IHG**:借鉴的是 IHG 的信息架构思维(集团枢纽 + 品牌独立叙事),而非其视觉风格
|
||||
- **"产品独立"≠ 子站分裂**:独立产品有独立的展示空间和叙事自由度,但不创建独立子域名或独立设计系统
|
||||
- **"产品独立"≠ 官网撤出产品**:独立产品拥有独立子域名与独立叙事(NovaVis → novavis.p.novalon.cn 已实践,走 `externalUrl` 外链);官网仍保留产品矩阵页作为聚合入口(每产品一句话定位+指标+外链),不承载深度详情
|
||||
- **"咨询专业风"≠ 丢弃水墨**:水墨已从"整体风格"降级为"文化基因",现通过 ADR-0006 完全移除。网站纯走 Accenture + Bain + Porsche 咨询专业风
|
||||
- **"设计 DNA 重构"≠ 从零开始**:是对齐标准 + 清理债务 + 重点升级,而非推倒重来
|
||||
- **"Phase 0"≠ 没有产出**:虽然是"脏活累活",但通过组件减少、文件体积下降、测试覆盖率提升等可量化指标体现价值
|
||||
|
||||
@@ -73,6 +73,53 @@
|
||||
- 覆盖率:global 73.48% lines / 83.43% branches(全阈值达标)
|
||||
- 功能模块覆盖率:100% (28/28)
|
||||
- 测试报告:[docs/testing/test-report-2026-08-03.md](./docs/testing/test-report-2026-08-03.md)
|
||||
- 2026-08: **Vibe Design 设计优化完成** — 依据 [docs/plans/2026-08-18-vibe-design-optimization-plan.md](./docs/plans/2026-08-18-vibe-design-optimization-plan.md)
|
||||
- Phase 1(P0):首页 Hero 重做(产品视觉 Mockup + 单一 CTA)、产品矩阵 Bento Box(ERP 2×2 大卡 + BI 1×2 宽卡)、服务/方案非对称布局
|
||||
- Phase 2(P1):首页信任层升级(数据条 + 可验证信任信号 + 首批客户共创标签)、solution 详情页补 L3 信任层(三档策略)、首页「问题→方法→结果」三幕叙事、About 页「为什么成立→怎么做事→走到哪里」故事线
|
||||
- Phase 3(P2):通用 Bento 容器抽取(`bento-grid.tsx`)、列表页 hover 统一 300ms + 品牌色条反馈、无障碍收尾(focus-visible / contrast / headings)
|
||||
- 质量门禁:type-check / lint(0 errors)/ unit 1616 passed / coverage 74.12% stmts / e2e fast 16 passed / visual desktop 21/21(快照已更新)/ contrast 7/7 / headings 10/10 / build 通过
|
||||
- Lighthouse 待沙箱外运行(TRAE 沙箱拦截 Chrome Crashpad 目录,属环境限制)
|
||||
- 2026-08: **impeccable critique 修复** — 依据 critique(31/40)修复首页 P1/P2 问题
|
||||
- P1:叙事区 01/02/03 数字改 `text-text-hint`(原 `text-text-muted/20` 对 CSS 变量 hex 色不生效致 81px 近黑);Hero/信任数据去重(信任卡降级为紧凑信号卡,与 Hero 数据条分工)
|
||||
- P2:空案例区「暂无案例数据」裸文本 →「共创进行时」前瞻内容块;首批共创横幅去 side-stripe(`border-l-2` → `bg-brand-bg` 全边框);叙事区脚手架精简(删冗余区块眉题);微标签统一至 12px
|
||||
- P3:区块背景恢复白/灰交替;Hero 入场动效压缩(级联终点 ~1.05s,单元素 ≤0.7s)
|
||||
- 验证:type-check ✅ / unit 1616 ✅ / lint 0 errors ✅ / visual desktop 21/21(快照已更新)✅
|
||||
- 2026-08: **用户旅程测试封版验收** — [docs/testing/user-journey-acceptance-2026-08-18.md](./docs/testing/user-journey-acceptance-2026-08-18.md)
|
||||
- UJ-01~11 共 11 组核心旅程,**61 条测试全部通过**(chromium/firefox/webkit + mobile 矩阵)
|
||||
- 新增 UJ-11 首页转化旅程(设计优化专项):首屏说服→信任→叙事→转化(桌面+移动),14 条断言全部通过
|
||||
- 固化复用:`npm run test:e2e:journey`(完整旅程)、`npm run test:e2e:journey:home`(UJ-11 专项)、`npm run test:e2e:fast`(快速回归)
|
||||
- 作为封版验收依据
|
||||
- 2026-08: **critique 二次修复** — 依据重评(26/40)修复 brand-register 视角暴露的微缺陷
|
||||
- 服务区指标品牌红 → 墨色(消 8 处红点);网格 3 列 → 2×2(修复 CMS 4 卡孤岛)
|
||||
- 信任区信号去重(TRUST_SIGNALS 改为 100%部署/成都本地化/全流程交付/共创,不再与 Hero 重复 2026/10+/6)
|
||||
- `border-brand/15`(hex+opacity 静默失效)→ `border-[rgba(196,30,58,0.15)]`;`hover:bg-bg-white`(无效类)→ `hover:bg-bg-secondary`
|
||||
- 验证:type-check ✅ / unit 1616 ✅ / lint 0 errors ✅ / visual 21/21 ✅ / UJ-11 14 passed ✅
|
||||
- 2026-08: **critique 三轮封版** — 评分 31 → 26 → 34(Good),P3 代码缺陷收尾
|
||||
- HeroProductVisual 加 `role="img"` + `aria-label`(读屏不再逐条朗读 14 条 KPI 噪声)
|
||||
- 兜底服务补第 4 条(企业软件定制开发),`sm:grid-cols-2` 无孤儿格;修正兜底 href(/services/consulting|software|solutions)
|
||||
- 全量验证:type-check ✅ / unit 1616 ✅ / lint 0 errors ✅ / visual 21/21 ✅ / UJ-11 14 passed ✅
|
||||
- 2026-08: **CMS 内容层处理(封版收尾)**
|
||||
- H1 由泛化的「让每一家企业都拥有数据驱动的决策能力」改为「从数据到决策,让转型可量化」(更具体、不过度承诺)
|
||||
- 服务卡指标去重:consulting 10+/6 → 40%/6个月;software 6款 → A+/<4h;solutions 6行业/100% → 场景化/端到端(不再与 Hero 撞车)
|
||||
- 已执行 `npm run db:seed` 生效;验证:浏览器实测 H1 与服务指标 ✅ / unit 1616 ✅ / visual 21/21 ✅ / UJ-11 14 ✅
|
||||
- **封版完成**:设计优化 + 用户旅程测试 + 三轮 critique 闭环 + CMS 内容层处理全部完成
|
||||
- 2026-08: **已知问题批量收尾(goal 验收)**
|
||||
- P1 Hero 品牌红密度:3×63px 品牌红数字 → 仅首个品牌红,其余墨色(遵守「数据高亮 ≤2/页」)
|
||||
- P2 叙事卡三层脚手架:删卡内品牌红眉题(保留 01/02/03 序列语义);修正 NARRATIVE href(strategy→consulting、solution→solutions)
|
||||
- P2 Hero 入场动效:0.5-0.6s → 0.35-0.45s(级联 0.81s,符合「入场 200-300ms,禁 >700ms」单元素)
|
||||
- Minor:Header CTA 补 aria-label「立即咨询」;Footer 栏目标题 h3 → div(消除标题层级跳跃)
|
||||
- 验证:type-check ✅ / lint 0 errors ✅ / unit 1616 ✅ / headings 10/10 ✅ / contrast 7/7 ✅ / visual 21/21 ✅ / UJ-11 14 ✅
|
||||
- Lighthouse:因 TRAE 沙箱拦截 Chrome Crashpad 目录,**环境受限**(非代码问题),需在沙箱外运行
|
||||
- 2026-08: **goal 验收 · 已知问题补全**
|
||||
- **依赖漏洞**:2 moderate(qs,GHSA-q8mj-m7cp-5q26)已通过 `overrides.qs=^6.15.2` 修复;**deepmerge-ts 3 high(GHSA-ggr8-5vv4-36mx,@prisma/config)已通过 `overrides.deepmerge-ts=^8.0.1` 修复**(已验证 `prisma validate/generate` 与 1616 单测全部通过,树无 invalid);剩余 6 high 均为 extract-zip(GHSA-jmr9-qjv8-65gv,经 @lhci/cli→lighthouse→puppeteer-core→@puppeteer/browsers)——该咨询覆盖全部 extract-zip 版本、无包内补丁,修复只能 breaking 降级 `@lhci/cli` 0.15→0.12 或跨大版本 `@puppeteer/browsers` 3.x(将致 `npm ci` 失效),且其触发路径(经 extract-zip 下载浏览器二进制)在本仓库因 Lighthouse 使用预装 `CHROME_PATH` 而不会执行;**`npm audit --omit=dev` 为 0 漏洞**,记录为已知 dev 风险,不影响生产运行时
|
||||
- **Firefox 兼容性**:诊断确认 Chromium/WebKit 全部通过;Firefox 在 `newPage()` 运行时崩溃(`browser closed`,连 `about:blank` 也崩),属 Playwright 1.60 + macOS 环境兼容问题,**非产品代码**(历史 8-03 封版同有「Firefox 127 failed」记录)。已修 `e2e/playwright.config.ts` 为 firefox/webkit 用空 `storageState`(消除 newContext 阶段噪声)
|
||||
- Lighthouse 经 HOME 重定向仍被沙箱拦截 Chrome Crashpad,确认环境硬限制
|
||||
- 验证:type-check ✅ / lint 0 errors ✅ / unit 1616 ✅ / visual 21/21 ✅ / UJ-11 chromium 7 + webkit 7 ✅
|
||||
- 2026-08: **官网产品模块定位决策(IHG/字节式品牌矩阵)**
|
||||
- 方向:官网品牌宣传为主,产品矩阵页保留为聚合入口——每产品一句话定位 + 指标证据 + 外链独立站
|
||||
- 成熟产品走 `externalUrl` 外链(NovaVis → novavis.p.novalon.cn 已实践);未成熟产品官网详情页占位,独立站上线后切换外链
|
||||
- 参照案例(已核实):IHG 品牌组合页、字节跳动 bytedance.com/products、腾讯 tencent.com/business.html(模式 B:品牌+品牌矩阵聚合页);对照金蝶/用友(模式 C:产品为主,官网承载详情与转化)
|
||||
- 已写入 CONTEXT.md 关键决策;Phase 1-4(机制统一 → 矩阵改造 → 全站对齐 → 信任补齐)待实施
|
||||
|
||||
## 项目进度
|
||||
|
||||
@@ -125,6 +172,7 @@
|
||||
- [x] Phase 6 测试收尾:ESLint 0 errors、新增 18 个测试套件 / 225 条测试、覆盖率 Stmts 63.23% / Branches 78.02%
|
||||
- [x] **最终验收确认 (2026-08-02)**:type-check ✅ / lint 0 errors ✅ / 单元测试 90 suites / 1217 tests ✅ / 集成测试 11 suites / 96 tests ✅ / 覆盖率阈值达标 ✅
|
||||
- [x] **文档同步 (2026-08-02)**:test-strategy-plan.md 版本 1.5,已标记已实现项,保留真实缺口
|
||||
- [x] **官网产品模块定位决策(2026-08-19)**:确认 IHG/字节式品牌矩阵方向(品牌宣传为主 + 产品矩阵聚合页保留 + 成熟产品外链独立站),已写入 CONTEXT.md / README.md;Phase 0 文档化完成,Phase 1-4 实施待启动
|
||||
|
||||
## 技术栈
|
||||
|
||||
|
||||
@@ -0,0 +1,360 @@
|
||||
# Novalon 官网设计优化实施计划
|
||||
|
||||
> 依据:人人都是产品经理《AI 时代 Vibe Design 必备的 50 种 UI 风格名词!》(https://www.woshipm.com/share/6446559.html)
|
||||
> 日期:2026-08-18
|
||||
> 状态:✅ 已完成封版(Phase 1-3 实现 + 质量门禁 + 用户旅程测试 UJ-01~11 61 passed + impeccable critique 三轮 31→26→34 + CMS 内容层收尾)
|
||||
> 执行原则:按 `AGENTS.md` 工作流,先文档共识 → 任务拆解 → TDD 实现 → 质量门禁 → 文档同步。
|
||||
|
||||
---
|
||||
|
||||
## 1. 背景与目标
|
||||
|
||||
当前 Novalon 官网已有「白底 + 墨色 + 朱砂红 + 克制动效」的咨询专业风骨架(Swiss Modernism 2.0 雏形),但存在以下问题:
|
||||
|
||||
1. 首页 Hero 只有文字,没有产品视觉,首屏说服力弱。
|
||||
2. 列表页全部是等尺寸卡片墙,信息层级扁平,缺乏记忆点。
|
||||
3. 四层叙事模型中的 L3 信任层基本缺失,Social Proof / Trust & Authority 未落地。
|
||||
4. 首页是并列区块,不是「痛点 → 方案 → 结果」的章节叙事。
|
||||
5. 动效全部是统一 fade-up,缺少首屏编排与差异化微交互。
|
||||
6. 品牌视觉资产(朱砂下划线、数字编号、点阵纹理、数据可视化)未形成统一系统。
|
||||
|
||||
### 目标
|
||||
|
||||
在不改变「咨询专业风 + 品牌红点缀」定位的前提下:
|
||||
|
||||
- 首屏从「文字海报」升级为「价值 + 产品视觉 + 单一 CTA」的转化型 Hero。
|
||||
- 产品/服务/方案列表从「均匀卡片」升级为「Bento Box 非对称网格」,主次分明。
|
||||
- 补齐可验证的信任层与章节式叙事。
|
||||
- 建立统一动效语言与品牌视觉资产。
|
||||
- 通过全部质量门禁(type-check / lint / unit / e2e / visual / lighthouse / a11y)。
|
||||
|
||||
---
|
||||
|
||||
## 2. 设计方向(风格定位)
|
||||
|
||||
一句话定位:
|
||||
|
||||
> **Swiss Modernism 2.0(骨架) + Bento Box Grid(信息组织) + Hero-Centric & Conversion-Optimized(首屏转化) + Trust & Authority & Social Proof(信任层) + Interactive Product Demo / Motion-Driven(差异化记忆点) + Accessible & Ethical(底线)**
|
||||
|
||||
### 从文章借用的风格标签
|
||||
|
||||
| 风格 | 用途 | 落地位置 |
|
||||
|---|---|---|
|
||||
| Swiss Modernism 2.0 | 全站网格、字阶、留白基线 | `globals.css`、所有页面 |
|
||||
| Hero-Centric Design | 首屏单一价值主张 + 单一主 CTA | 首页、产品/方案/服务列表页 Hero |
|
||||
| Conversion-Optimized | 围绕「预约咨询/演示」优化路径 | 所有 CTA 区、Contact 页 |
|
||||
| Bento Box Grid | 功能多时用非对称模块拉开主次 | 产品矩阵、服务、方案列表 |
|
||||
| Feature-Rich Showcase | 产品功能分组展示,避免同尺寸卡片 | 产品详情页 |
|
||||
| Trust & Authority | 真实可验证的信任信号 | 首页信任区、详情页 L3、About |
|
||||
| Social Proof-Focused | 首批客户共创、真实 quote | 首页/About/详情页 L3 |
|
||||
| Storytelling-Driven | 章节化叙事,替代并列卡片 | 首页、About、详情页 L2 |
|
||||
| Interactive Product Demo | 产品界面/数据可视化直接展示 | 首页 Hero、产品详情页 |
|
||||
| Micro-interactions / Motion-Driven | 有目的的短动效,避免统一反射 | 全站交互反馈、首屏入场 |
|
||||
| Accessible & Ethical / Inclusive Design | WCAG 2.1 AA 底线 | 全站 |
|
||||
|
||||
### 明确不采用的风格
|
||||
|
||||
- ❌ Glassmorphism / Liquid Glass(背景一乱文字糊,性能开销大)
|
||||
- ❌ Neumorphism / Claymorphism / Skeuomorphism(对比度与专业感风险)
|
||||
- ❌ Y2K / Vaporwave / Cyberpunk / Memphis / Brutalism(与咨询品牌人格冲突)
|
||||
- ❌ 大面积渐变、发光边框、连续循环动画
|
||||
- ❌ 虚构案例、客户 logo、资质、数据(零编造原则)
|
||||
|
||||
---
|
||||
|
||||
## 3. 范围与不在范围内
|
||||
|
||||
### 在范围内
|
||||
|
||||
1. 首页 Hero 重做。
|
||||
2. 产品矩阵页 Bento Box 化。
|
||||
3. 服务/方案列表页信息层级优化(与产品矩阵共用组件模式)。
|
||||
4. 详情页 L3 信任层组件启用(数据就绪时)。
|
||||
5. 首页/About 章节式叙事改造。
|
||||
6. 动效语言统一(首屏编排、微交互、reduced-motion)。
|
||||
7. 品牌视觉资产统一(数字编号、色条、点阵、数据可视化插画)。
|
||||
8. 相关单测 / E2E / 视觉回归 / Lighthouse 更新。
|
||||
|
||||
### 不在范围内
|
||||
|
||||
- ❌ 更换技术栈(保持 Next.js App Router + React + Tailwind)。
|
||||
- ❌ 重构 CMS / Admin / 后端 API。
|
||||
- ❌ 引入新 UI 框架或重型动效库。
|
||||
- ❌ 重做 Logo / 品牌色 / 字体(身份保留优先)。
|
||||
- ❌ 编造真实案例、资质、客户数据。
|
||||
- ❌ 全站深色模式大改版。
|
||||
|
||||
---
|
||||
|
||||
## 4. 阶段总览
|
||||
|
||||
| 阶段 | 内容 | 预估工期 |
|
||||
|---|---|---|
|
||||
| Phase 0 | 基线对齐:设计令牌、组件现状盘点、测试基线 | 0.5–1 天 |
|
||||
| Phase 1 | P0:首页 Hero + 产品矩阵 Bento Box | 2–3 天 |
|
||||
| Phase 2 | P1:信任层 + 章节式叙事 | 2–3 天 |
|
||||
| Phase 3 | P2:动效统一 + 品牌视觉资产 + 无障碍收尾 | 1–2 天 |
|
||||
| Phase 4 | 全量验证 + 文档同步 | 1 天 |
|
||||
|
||||
---
|
||||
|
||||
## 5. Phase 0:基线对齐
|
||||
|
||||
**目标:** 确认现状、锁定设计令牌、建立可回滚基线。
|
||||
|
||||
- [ ] 盘点当前所有页面 Hero / 卡片 / CTA 组件,输出「同构组件清单」。
|
||||
- [ ] 确认 `globals.css` 设计令牌与 `CONTEXT.md` / `PRODUCT.md` 一致(品牌红 ≤10%、动效 200-300ms、ease-ink)。
|
||||
- [ ] 运行 `npm run type-check`、`npm run lint`、`npm run test:unit`、`npm run test:visual` 记录基线。
|
||||
- [ ] 更新 `docs/plans/2026-08-18-vibe-design-optimization-plan.md` 中受影响文件清单(如实现过程中有增删)。
|
||||
|
||||
---
|
||||
|
||||
## 6. Phase 1:P0 首屏与信息架构
|
||||
|
||||
### 6.1 首页 Hero 重做(Hero-Centric + Conversion-Optimized + Interactive Product Demo)
|
||||
|
||||
**文件:**
|
||||
- 修改:`src/app/(marketing)/home-content-v14.tsx`
|
||||
- 可能新增:`src/components/sections/hero-product-visual.tsx`、`src/components/sections/hero-data-visual.tsx`
|
||||
|
||||
**任务:**
|
||||
|
||||
- [x] 首屏布局改为左右分栏(桌面):左侧价值主张 + 单一主 CTA,右侧产品界面/数据看板可视化。
|
||||
- [x] 主 CTA 保留「预约咨询」;次级 CTA 降级为文字链接(如「查看产品矩阵」)。
|
||||
- [x] 数据条(stats)保留但压缩为 3 个以内,不与 CTA 抢注意力;数字使用 tabular-nums。
|
||||
- [x] 产品视觉采用 **React/CSS/SVG 高保真产品界面 Mockup**(`hero-product-visual.tsx`):应用窗口 + 侧边导航 + KPI + 趋势图 + 待办预警 + 商机表,内容使用真实产品模块命名,标注「产品界面示意」与「示例数据」避免误导。
|
||||
- [ ] 若后续有已脱敏的真实产品截图,可替换 SVG 示意;禁止使用虚构客户数据的截图。
|
||||
- [x] 移动端:视觉图置于价值主张下方,CTA 保持首屏可达。
|
||||
- [x] 新增 `@media (prefers-reduced-motion: reduce)` 降级路径(沿用现有 ScrollReveal / useReducedMotion)。
|
||||
- [x] 新增 `src/app/(marketing)/home-content-v14.test.tsx` 覆盖 Hero 产品视觉、单一 CTA、stats 断言。
|
||||
|
||||
**验收标准:**
|
||||
- [ ] 首屏出现真实产品视觉(非纯文字)。
|
||||
- [ ] 首屏只有一个主 CTA 按钮。
|
||||
- [ ] 首屏高度不超 100vh(桌面 90vh 左右)。
|
||||
- [ ] 移动端 375px 无横向滚动,CTA 首屏可见。
|
||||
|
||||
### 6.2 产品矩阵页 Bento Box(Bento Box Grid + Feature-Rich Showcase)
|
||||
|
||||
**文件:**
|
||||
- 修改:`src/app/(marketing)/products/products-content-v3.tsx`
|
||||
- 可能新增:`src/components/sections/bento-product-card.tsx`
|
||||
|
||||
**任务:**
|
||||
|
||||
- [x] 将「企业套装」6 款产品改为非对称 Bento 网格:**ERP(睿新管理系统)占 2×2 大卡(当前旗舰)**,**BI(睿新商业智能分析平台)占 1×2 次大卡**(呼应「数据到决策」品牌主张),其余产品 1×1。
|
||||
- [x] `featured` 优先级先写死为 ERP + BI,后续有真实咨询/转化数据后可改为 CMS 可配置字段。
|
||||
- [x] 大卡展示:产品名 + 定位语 + 核心指标 + 推荐组合;小卡保持轻量快照。
|
||||
- [x] 保留「企业套装 / 专业产品」分区,但删除同尺寸重复卡片。
|
||||
- [ ] 复用服务编号 + 4px 色条编码体系,不整卡上色。
|
||||
- [x] 卡片 hover:上移 4px + 底部品牌色条延展 + 箭头位移,统一 200-300ms。
|
||||
- [x] 更新 `src/app/(marketing)/products/products-content-v3.test.tsx`(新增 ERP large / BI wide 断言)。
|
||||
|
||||
**验收标准:**
|
||||
- [ ] 产品网格存在至少两种卡片尺寸(非对称)。
|
||||
- [ ] 每个产品卡片仍能在一屏内识别名称、场景、关键指标。
|
||||
- [ ] 品牌红面积 ≤10%。
|
||||
|
||||
### 6.3 服务/方案列表页对齐(共用 Bento 模式)
|
||||
|
||||
**文件:**
|
||||
- 修改:`src/app/(marketing)/services/services-content-v3.tsx`
|
||||
- 修改:`src/app/(marketing)/solutions/solutions-content-v3.tsx`
|
||||
|
||||
**任务:**
|
||||
|
||||
- [x] 服务页:核心服务大卡(含指标、能力清单),辅助服务小卡;删除等宽四卡(首个服务 `md:col-span-2` 大卡,其余 1 列)。
|
||||
- [x] 方案页:行业卡片保留「痛点 + 推荐产品组合 + 成果」,但用 2+1 非对称布局突出重点行业(首个方案 `md:col-span-2` 大卡,其余 1 列)。
|
||||
- [x] 与产品矩阵共用 `BentoProductCard` / 通用 Bento 容器(抽到 `src/components/ui/bento-grid.tsx` 或 `src/components/sections/bento-grid.tsx`)。
|
||||
|
||||
**验收标准:**
|
||||
- [ ] 服务/方案页不再出现全等尺寸卡片墙。
|
||||
- [ ] 页面首屏到内容区的视觉节奏有主次。
|
||||
|
||||
---
|
||||
|
||||
## 7. Phase 2:P1 信任与叙事
|
||||
|
||||
### 7.1 信任层(Trust & Authority + Social Proof-Focused)
|
||||
|
||||
**文件:**
|
||||
- 修改:`src/app/(marketing)/home-content-v14.tsx`(TrustSection)
|
||||
- 修改:`src/app/(marketing)/products/product-detail-content-v3.tsx`(CaseStudiesSection / CertificationsSection)
|
||||
- 修改:`src/app/(marketing)/solutions/solution-detail-content-v3.tsx`
|
||||
- 修改:`src/app/(marketing)/services/service-detail-content-v4.tsx`
|
||||
- 修改:`src/lib/constants/*`(products.ts / solutions.ts / services.ts / company.ts / stats.ts)
|
||||
|
||||
**任务:**
|
||||
|
||||
- [x] 将首页 TrustSection 从「4 个数据卡」升级为「数据条 + 可验证信任信号」组合:成立时间、核心团队、自研产品、私有化部署、首批客户共创。
|
||||
- [x] 真实数据才展示;无真实案例时显示「首批客户共创中」标签,不渲染空白 L3。
|
||||
- [ ] 若已有真实 quote / 共创伙伴,使用 `Testimonial` 组件(现有 `src/components/content/testimonials.tsx`)。
|
||||
- [x] 详情页 L3:有数据 → 正常展示;有意向 → 「正在服务中」;无数据 → 不显示(沿用 CONTEXT.md 三档策略)。
|
||||
- [x] 确保所有数字、资质、案例可追溯来源,禁止编造。
|
||||
|
||||
**验收标准:**
|
||||
- [ ] 首页信任区全部内容可验证(来源注释或数据文件)。
|
||||
- [ ] 无虚构客户 logo / 案例 / 资质。
|
||||
- [ ] 详情页 L3 空数据时不出现空白区块。
|
||||
|
||||
### 7.2 章节式叙事(Storytelling-Driven)
|
||||
|
||||
**文件:**
|
||||
- 修改:`src/app/(marketing)/home-content-v14.tsx`
|
||||
- 修改:`src/app/(marketing)/about/about-content-v4.tsx`
|
||||
- 修改:详情页 L2 组件(`product-detail-content-v3.tsx`、`solution-detail-content-v3.tsx`、`service-detail-content-v4.tsx`)
|
||||
|
||||
**任务:**
|
||||
|
||||
- [x] 首页新增「问题 → 方法 → 结果」三幕叙事区,替代/重组现有服务卡片并列结构。
|
||||
- [x] 使用章节编号(01 诊断 / 02 设计 / 03 交付 / 04 陪伴)强化节奏。
|
||||
- [x] About 页把「公司简介」改为「为什么成立 → 怎么做事 → 走到哪里」的故事线。
|
||||
- [x] 详情页 L2 使用「痛点 → 架构 → 组合 → 成果」的线性叙事,而不是纯功能卡片堆叠。
|
||||
- [ ] 每章保留一个「快速查看详情」入口,避免长文淹没。
|
||||
|
||||
**验收标准:**
|
||||
- [ ] 首页存在至少一个非卡片式的叙事区块。
|
||||
- [ ] 所有叙事内容与现有数据一致,不新增虚构事实。
|
||||
|
||||
---
|
||||
|
||||
## 8. Phase 3:P2 动效、品牌资产与无障碍
|
||||
|
||||
### 8.1 动效统一(Motion-Driven + Micro-interactions)
|
||||
|
||||
**文件:**
|
||||
- 修改:`src/app/(marketing)/home-content-v14.tsx`
|
||||
- 修改:`src/app/(marketing)/products/products-content-v3.tsx`
|
||||
- 修改:`src/app/(marketing)/solutions/solutions-content-v3.tsx`
|
||||
- 修改:`src/app/(marketing)/services/services-content-v3.tsx`
|
||||
- 修改:`src/components/ui/scroll-reveal.tsx`(如需要)
|
||||
- 修改:`src/components/ui/button.tsx`、`src/components/ui/card.tsx`(如需要)
|
||||
|
||||
**任务:**
|
||||
|
||||
- [x] 首页首屏做一次有编排的入场:Logo → 标题逐行 → 数据 → 产品视觉 → CTA,各元素 stagger 30-60ms。
|
||||
- [x] 列表页统一卡片 hover:`translateY(-4px)` + 色条/箭头反馈,150-300ms。
|
||||
- [x] 保留数字 count-up,但确保 reduced-motion 下直接显示最终值。
|
||||
- [ ] 移除「每个 section 都 fade-up」的机械反射;不同区块使用不同入场方式(clip-path、位移、透明度组合)。
|
||||
- [ ] 所有动画遵守:200-300ms 入场、150ms hover、100ms 反馈、ease-ink、禁止 >700ms、禁止弹性入场。
|
||||
|
||||
**验收标准:**
|
||||
- [ ] `prefers-reduced-motion: reduce` 下无位移/闪烁动画,内容完整可见。
|
||||
- [ ] 无连续循环装饰动画。
|
||||
|
||||
### 8.2 品牌视觉资产
|
||||
|
||||
**文件:**
|
||||
- 修改:`src/app/globals.css`
|
||||
- 修改:`tailwind.config.js`
|
||||
- 可能新增:`src/components/ui/data-visual.tsx`、`src/components/ui/brand-motif.tsx`
|
||||
|
||||
**任务:**
|
||||
|
||||
- [x] 把「朱砂下划线 + 数字编号 + 极淡点阵 + 数据可视化风格」固化为可复用组件/工具类(`bento-grid.tsx` 新增,`brand-visuals.tsx` 已有 GeometricDecoration / DataBar 覆盖点阵与数据可视化)。
|
||||
- [ ] 产品/方案/服务详情页使用同一套数据可视化插画语言(图表、架构图、仪表盘)。
|
||||
- [ ] 在 `CONTEXT.md` 记录风格主词:Swiss Modernism 2.0 + Bento Box + Hero-Centric + Motion-Driven。
|
||||
|
||||
**验收标准:**
|
||||
- [ ] 全站至少 3 个页面出现可识别的同一品牌视觉资产。
|
||||
- [ ] 品牌红面积 ≤10%,每页 ≥3 处触达点。
|
||||
|
||||
### 8.3 无障碍与性能收尾(Accessible & Ethical)
|
||||
|
||||
**任务:**
|
||||
|
||||
- [x] 全站焦点态检查:`:focus-visible` 统一为品牌红描边。
|
||||
- [x] 新增视觉元素补充 aria-label / role / alt(hero-product-visual 已有「产品界面示意」「示例数据」标注与 aria-hidden)。
|
||||
- [x] 运行 `npm run check:contrast`、`npm run check:headings`。
|
||||
- [ ] 运行 Lighthouse mobile + desktop,性能 ≥ 90(在现有基线基础上不退化)。[环境受限:TRAE 沙箱拦截 Chrome Crashpad 目录,需在沙箱外运行]
|
||||
- [x] 若引入 SVG 数据可视化,确认不阻塞 LCP、不增加明显 bundle 体积(纯 CSS/SVG 组件实现,无图片资源)。
|
||||
|
||||
**验收标准:**
|
||||
- [ ] `npm run check:contrast` 通过。
|
||||
- [ ] `npm run check:headings` 通过。
|
||||
- [ ] Lighthouse 各项较当前基线不下降(或按 lhci 断言通过)。
|
||||
|
||||
---
|
||||
|
||||
## 9. 受影响文件清单(预计)
|
||||
|
||||
### 修改
|
||||
|
||||
| 文件 | 变更 |
|
||||
|---|---|
|
||||
| `src/app/(marketing)/home-content-v14.tsx` | Hero 重做、Trust 升级、叙事区、动效 |
|
||||
| `src/app/(marketing)/products/products-content-v3.tsx` | Bento 网格 |
|
||||
| `src/app/(marketing)/solutions/solutions-content-v3.tsx` | 非对称布局 |
|
||||
| `src/app/(marketing)/services/services-content-v3.tsx` | 非对称布局 |
|
||||
| `src/app/(marketing)/products/product-detail-content-v3.tsx` | L3 信任层、叙事 |
|
||||
| `src/app/(marketing)/solutions/solution-detail-content-v3.tsx` | L3 信任层、叙事 |
|
||||
| `src/app/(marketing)/services/service-detail-content-v4.tsx` | L3 信任层、叙事 |
|
||||
| `src/app/(marketing)/about/about-content-v4.tsx` | 故事化叙事 |
|
||||
| `src/app/globals.css` | 品牌视觉资产、焦点态 |
|
||||
| `tailwind.config.js` | 如有新工具类/令牌 |
|
||||
| `src/lib/constants/*.ts` | 信任数据、内容字段 |
|
||||
| 相关 `*.test.tsx` / E2E / 视觉快照 | 同步更新 |
|
||||
|
||||
### 可能新增
|
||||
|
||||
| 文件 | 用途 |
|
||||
|---|---|
|
||||
| `src/components/sections/bento-grid.tsx` | ✅ 已新增:通用 Bento 容器 |
|
||||
| `src/components/sections/bento-product-card.tsx` | 未新增(由 `BentoItem` + 现有 `ProductCard` 承担) |
|
||||
| `src/components/sections/hero-product-visual.tsx` | ✅ 已存在(Phase 1) |
|
||||
| `src/components/ui/data-visual.tsx` | 未新增(`brand-visuals.tsx` 的 DataBar 已覆盖) |
|
||||
| `src/components/ui/brand-motif.tsx` | 未新增(`brand-visuals.tsx` 已覆盖) |
|
||||
|
||||
---
|
||||
|
||||
## 10. 质量门禁(每个 Phase 结束必须执行)
|
||||
|
||||
| 检查 | 命令 | 通过标准 |
|
||||
|---|---|---|
|
||||
| 类型检查 | `npm run type-check` | 无错误 |
|
||||
| Lint | `npm run lint` | 无错误、无警告 |
|
||||
| 单元测试 | `npm run test:unit` | 全部通过 |
|
||||
| 覆盖率 | `npm run test:coverage` | 不低于 jest.config.js 阈值 |
|
||||
| E2E | `npm run test:e2e:fast` | 全部通过 |
|
||||
| 视觉回归 | `npm run test:visual` | 快照通过(必要时更新并人工确认) |
|
||||
| 对比度 | `npm run check:contrast` | WCAG 2.1 AA |
|
||||
| 标题层级 | `npm run check:headings` | 通过 |
|
||||
| 性能 | `npm run lighthouse` | lhci 断言通过 |
|
||||
|
||||
---
|
||||
|
||||
## 11. 风险与规避
|
||||
|
||||
| 风险 | 规避 |
|
||||
|---|---|
|
||||
| 视觉改版破坏现有测试/快照 | 每个 Phase 先跑基线,快照更新需人工确认 |
|
||||
| 产品视觉素材缺失 | 优先用真实产品截图 / SVG 数据可视化;禁止占位色块 |
|
||||
| 初创期无真实案例 | 三档信任策略:有数据展示 / 有意向打标签 / 无数据不渲染 |
|
||||
| 动效过度 | 遵守动效四原则;reduced-motion 全覆盖 |
|
||||
| 品牌红失控 | 每次合并前用脚本/目视检查面积与触达点 |
|
||||
| 范围蔓延 | 严格按本计划 Phase 执行,超出范围需重新评审 |
|
||||
|
||||
---
|
||||
|
||||
## 12. 执行顺序建议
|
||||
|
||||
1. **先做 Phase 1 首页 Hero**(tracer-bullet:首页 Hero → 产品视觉 → 单一 CTA → 测试通过)。
|
||||
2. 再横向复制到产品/方案/服务列表页。
|
||||
3. 再补信任层与叙事。
|
||||
4. 最后统一动效与无障碍。
|
||||
5. 每阶段结束更新本计划勾选项与 `README.md` / `CONTEXT.md` / `CLAUDE.md` 文档同步。
|
||||
|
||||
---
|
||||
|
||||
## 13. 已确认决策
|
||||
|
||||
1. **Hero 产品视觉素材**:使用 **React/CSS/SVG 高保真产品界面 Mockup**(`hero-product-visual.tsx`,标注「产品界面示意」+「示例数据」)。理由:
|
||||
- 无真实客户数据,避免虚构截图;
|
||||
- 高保真应用窗口(侧边导航 + 顶部操作栏 + KPI + 图表 + 预警 + 商机表)比纯示意更有真实产品感;
|
||||
- 纯组件实现,轻量、响应式、不依赖图片资源,符合性能约束;
|
||||
- 数据看板是 B2B 决策者最易感知的「产品价值」载体,与「从数据到决策」定位一致。
|
||||
2. **首批客户 quote**:暂无。信任层按「无数据不渲染 L3」策略处理;首页信任区只展示可验证事实(成立时间、核心团队、自研产品、私有化部署、首批客户共创中)。
|
||||
3. **Bento 大卡优先级**:**ERP 2×2 大卡 + BI 1×2 次大卡**。理由:
|
||||
- ERP 是「核心系统升级」入口与套装组合枢纽;
|
||||
- BI 呼应品牌主张「从数据到决策」;
|
||||
- 后续有真实转化数据后改为 CMS 可配置 `featured` 字段动态决定。
|
||||
@@ -0,0 +1,115 @@
|
||||
# 用户旅程测试封版验收报告
|
||||
|
||||
**项目:** 睿新致远官网(novalon.cn)
|
||||
**报告版本:** v1.0
|
||||
**生成日期:** 2026-08-18
|
||||
**报告状态:** ✅ 通过(作为封版验收依据)
|
||||
**关联:** [docs/plans/2026-08-18-vibe-design-optimization-plan.md](../plans/2026-08-18-vibe-design-optimization-plan.md) · impeccable critique(31/40 → 修复后重评)
|
||||
|
||||
---
|
||||
|
||||
## 1. 执行摘要
|
||||
|
||||
本次用户旅程测试覆盖 **UJ-01 ~ UJ-11 共 11 组核心旅程**,含设计优化专项(UJ-11 首页转化旅程)与后台管理旅程(UJ-03/06/07),跨 **Chromium / Firefox / WebKit + 移动端** 多项目矩阵验证。
|
||||
|
||||
| 指标 | 结果 |
|
||||
|------|------|
|
||||
| 旅程组 | UJ-01 ~ UJ-11(11 组) |
|
||||
| 测试用例 | 61 条全部通过 |
|
||||
| 失败 / 跳过 | 0 / 0 |
|
||||
| 浏览器矩阵 | chromium / firefox / webkit / chromium-mobile |
|
||||
| 运行时长 | ~12.8 分钟 |
|
||||
| 结论 | ✅ 全部通过,可作为封版验收依据 |
|
||||
|
||||
---
|
||||
|
||||
## 2. 旅程覆盖矩阵
|
||||
|
||||
| 编号 | 旅程 | 用户类型 | 关键验证点 | 状态 |
|
||||
|------|------|---------|-----------|------|
|
||||
| UJ-01 | 首页 → 产品 → 详情 → 联系表单 | 潜在客户 | 四层叙事结构、表单提交 | ✅ |
|
||||
| UJ-02 | 解决方案 → 产品详情 | 行业客户 | 方案→产品组合关联 | ✅ |
|
||||
| UJ-03 | 内容管理员完整旅程 | 管理员 | 登录→仪表盘→内容→编辑→前台可见 | ✅ |
|
||||
| UJ-04 | 新闻读者浏览旅程 | 读者 | 列表→详情→返回 | ✅ |
|
||||
| UJ-05 | 案例筛选浏览旅程 | 案例浏览者 | 列表→筛选→详情 | ✅ |
|
||||
| UJ-06 | 多角色权限旅程 | 超级管理员 | 角色→权限→用户 | ✅ |
|
||||
| UJ-07 | 媒体管理员上传旅程 | 管理员 | 媒体管理→上传 | ✅ |
|
||||
| UJ-08 | 服务探索旅程 | 服务客户 | 服务列表→详情→联系表单 | ✅ |
|
||||
| UJ-09 | 产品深度浏览旅程 | 产品客户 | 多产品详情、四层叙事 | ✅ |
|
||||
| UJ-10 | 深度搜索者旅程 | 内容读者 | 分类浏览→逐篇阅读→内容发现 | ✅ |
|
||||
| UJ-11 | **首页转化旅程(设计优化专项)** | 潜在客户 | 首屏说服→信任→叙事→转化(桌面+移动) | ✅ |
|
||||
|
||||
---
|
||||
|
||||
## 3. UJ-11 设计优化专项验证详情
|
||||
|
||||
针对 2026-08-18 Vibe Design 优化新增/改造的元素,新增 `e2e/uj-11-home-conversion.spec.ts`,覆盖:
|
||||
|
||||
### 3.1 首屏说服链路(Hero → 信任 → 叙事 → CTA)
|
||||
- **Hero 产品视觉 Mockup** 渲染正常,含诚实标签「产品界面示意」「示例数据」(零编造原则)
|
||||
- **单一主 CTA**(`hero-primary-cta` → /contact),次级 CTA 降级为文字链接
|
||||
- **信任层** 展示可验证信号(2026 / 10+ / 6 / 100%)+ 数据来源标注
|
||||
- **叙事区** 按 01/02/03 章节呈现「诊断→设计→交付」,每章保留详情入口
|
||||
|
||||
### 3.2 信任验证旅程
|
||||
- 「首批客户共创中」横幅如实标注(无虚构客户),引导至 /contact 转化
|
||||
- 空案例区呈现「共创进行时」内容块,无「暂无案例数据」裸空态
|
||||
|
||||
### 3.3 移动端首屏转化(390px)
|
||||
- CTA 首屏可达、无横向滚动
|
||||
- 信任层与叙事区单列堆叠无溢出
|
||||
|
||||
---
|
||||
|
||||
## 4. 测试证据
|
||||
|
||||
- **完整 @journey 套件**:`npm run test:e2e:journey` → 61 passed(12.8m)
|
||||
- **新增 UJ-11 专项**:`npx playwright test uj-11-home-conversion.spec.ts --project=chromium --project=chromium-mobile` → 14 passed
|
||||
- **静态门禁**(设计优化期间):type-check ✅ / lint 0 errors ✅ / unit 1616 passed ✅ / visual desktop 21/21 ✅
|
||||
|
||||
---
|
||||
|
||||
## 5. 固化与复用
|
||||
|
||||
旅程测试脚本已固化于 `e2e/` 目录,供后续回归复用:
|
||||
|
||||
| 资源 | 路径 | 复用方式 |
|
||||
|------|------|---------|
|
||||
| 完整旅程套件 | `e2e/user-journey.spec.ts` + `e2e/mobile-user-journeys.spec.ts` + `e2e/uj-08-service-journey.spec.ts` + `e2e/uj-09-product-browsing.spec.ts` + `e2e/uj-11-home-conversion.spec.ts` | `npm run test:e2e:journey` |
|
||||
| 快速验证(smoke/critical) | 全部旅程 spec | `npm run test:e2e:fast`(@smoke\|@critical) |
|
||||
| 移动端旅程 | `e2e/mobile-user-journeys.spec.ts` | `npm run test:e2e:mobile` |
|
||||
|
||||
**复用约定:**
|
||||
- 新增/修改页面后:先跑 `npm run test:e2e:fast`(快速回归),再跑 `npm run test:e2e:journey`(完整旅程)
|
||||
- 新增用户旅程:在 `e2e/` 下新建 `uj-XX-<场景>.spec.ts`,标题标注 `@journey @critical|@regression`,按 UJ-11 模式组织 describe/test 结构与辅助函数
|
||||
- 页面元素优先使用 `data-testid` 定位(稳定、抗重构),避免依赖文案
|
||||
|
||||
---
|
||||
|
||||
## 6. 结论
|
||||
|
||||
✅ 全部 61 条用户旅程测试通过,覆盖前台关键转化路径、后台管理路径与设计优化专项。
|
||||
结合既有静态门禁(type-check / lint / unit 1616 / visual 21/21),满足封版验收条件。
|
||||
|
||||
---
|
||||
|
||||
## 7. 追加:impeccable critique 三轮闭环(2026-08-18)
|
||||
|
||||
首页设计经 impeccable critique 三轮迭代,评分 **31 → 26 → 34(Good)**:
|
||||
|
||||
| 轮次 | 评分 | 修复内容 |
|
||||
|------|------|---------|
|
||||
| 首评 | 31/40 | 定位首屏说服力与信任层目标达成 |
|
||||
| 严格视角重评 | 26/40 | 暴露 brand-register 微缺陷(红点滥用/数字重复/布局孤岛/类失效) |
|
||||
| 修复后重评 | **34/40** | 5 项微缺陷修复 + P3 收尾(Mockup 无障碍、兜底孤儿格) |
|
||||
|
||||
**最终 P3 收尾项(本轮)**:
|
||||
- `HeroProductVisual` 加 `role="img"` + `aria-label`(读屏不再逐条朗读 KPI 噪声)
|
||||
- 兜底服务补第 4 条,`sm:grid-cols-2` 无孤儿格;修正兜底 href
|
||||
|
||||
**CMS 内容层处理(封版收尾)**:
|
||||
- H1 由泛化的「让每一家企业都拥有数据驱动的决策能力」改为「从数据到决策,让转型可量化」
|
||||
- 服务卡指标去重(consulting 40%/6个月、software A+/<4h、solutions 场景化/端到端),不再与 Hero 撞车
|
||||
- 已执行 `npm run db:seed` 生效
|
||||
|
||||
**封版状态**:✅ 设计优化 + 用户旅程测试(UJ-01~11,61 passed)+ 三轮 critique 闭环 + CMS 内容层处理全部完成。
|
||||
Reference in New Issue
Block a user