feat(ui): 营销站 UI/UE/UX 治理 P0→P3 收官

复评(impeccable critique)全部 Priority Issues 与 Minor Observations 落地:
- P0 数字口径:MetricsBasisNote 单一真源 + metrics-basis.test fs 防线,接入
  products/solutions/services/home/about;纯渲染端加角注,不动 DB/seed 值
- P1 转化断头路:敬请期待态 + 404 语境出口 + services 空态双出口
- P1 首页并卡:TrustSection 早鸟横幅并入 CasesSection 单张深色共创卡
- P2 CTA 治理:CONSULT_CTA_ALLOWLIST 白名单 + 逐字符扫描器,/contact CTA 全归一
- P3 polish:footer 补 服务/公司列、contact 死三元/空槽/toast、GlobalErrorTracker 幂等日志
- 文档同源:PRODUCT/CONTEXT 动效带统一 180–280ms;DESIGN.md 立 The 10px Floor;
  font-floor.test 守卫禁止再引入 <10px(保留 10/11px 有意 Bain 微标签)

Gates: type-check 0 · jest 1581/132 · lint 0e/126w · contrast 7/7 · headings 10/10
This commit is contained in:
2026-09-20 11:50:58 +08:00
parent dcf8ed6f20
commit f8917d4fda
66 changed files with 1448 additions and 1313 deletions
+4 -3
View File
@@ -27,9 +27,10 @@ NEXT_PUBLIC_GA_MEASUREMENT_ID=G-LGTLCR15KM
文件位置: `src/components/analytics/GoogleAnalytics.tsx`
**功能:**
- 自动初始化 GA4
- 配置全局追踪
- 在所有页面启用追踪
- 单次初始化 GA4inline snippet 内唯一一次 `gtag('config')` 负责首屏 pageview(含 consent default
- SPA 路由追踪:仅当 pathname/searchParams 变化且 URL 与上次不同时,effect 再发 `config`Google SPA 文档口径)
- 禁止在 snippet 与 effect 中重复 config(复评曾检出「GA4 初始化 2 次」,勿回退;有单测防线)
- 在所有页面启用追踪(根布局 `GoogleAnalyticsWrapper` 动态挂载,SSR 关闭)
### 3. 根布局集成
-1
View File
@@ -103,7 +103,6 @@ src/components/
├── layout/ # 布局组件
│ ├── header.tsx # 页头导航
│ ├── footer.tsx # 页脚
│ ├── mobile-menu.tsx # 移动端菜单
│ ├── mobile-tab-bar.tsx # 移动端底部导航
│ └── breadcrumb.tsx # 面包屑
-8
View File
@@ -184,14 +184,6 @@ import { Footer } from '@/components/layout/footer';
- 联系方式
- 微信公众号二维码
#### MobileMenu 移动端菜单
```tsx
import { MobileMenu } from '@/components/layout/mobile-menu';
// 由 Header 内部调用
```
#### MobileTabBar 移动端底部导航
```tsx
+3 -3
View File
@@ -26,7 +26,7 @@
| `src/lib/analytics.ts` | **新建** | Analytics 核心模块,包含所有追踪函数 |
| `src/components/analytics/GlobalErrorTracker.tsx` | **新建** | 全局错误追踪器组件 |
| `src/app/layout.tsx` | **修改** | 集成 GlobalErrorTracker |
| `src/app/test-error-tracking/page.tsx` | **新建** | 错误监控测试页面 |
| `src/app/test-error-tracking/page.tsx` | **新建** | 错误监控测试页面(后于 2026-09-19 polish 删除) |
### 辅助文件
| 文件 | 操作 | 说明 |
@@ -93,7 +93,7 @@ componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {
npm run dev
```
2. **访问测试页面**
2. **访问测试页面**(⚠️ `/test-error-tracking` 调试路由已于 2026-09-19 polish 批次删除,本地验证可临时自建同名路由或用控制台 `throw` 触发)
```
http://localhost:3000/test-error-tracking
```
@@ -330,7 +330,7 @@ A: GA4 免费版每个属性每月最多 1000 万次事件。如果超出:
✅ **已完成**:GA4 错误监控完全集成
✅ **已验证**TypeScript 检查通过,构建成功
✅ **可测试**:提供专用测试页面 `/test-error-tracking`
✅ **可测试**提供专用测试页面 `/test-error-tracking`2026-09-19 polish 已删除,防线上暴露)
**可扩展**:支持自定义错误过滤和上下文
**零成本**:利用现有 GA4 账户,无需额外费用