chore(qa): 验收台账与证据入库 + 构建/部署配置同步

- docs/acceptance/qa-tracker.md:跨周期缺陷单一真源台账(§7=第五轮)。
- 周期 1/2 + iPhone SE/axe 验收证据目录、ACCEPTANCE_REVIEW 快照入库。
- 同步 README/CONTEXT/CLAUDE/DESIGN/testing/deployment/lessons-learned 口径;
  next.config/Dockerfile/nginx/Jenkinsfile/docker-compose/sentry/prisma 对齐
  standalone 产物装配与部署形态。
This commit is contained in:
2026-09-28 10:48:09 +08:00
parent 6bb7c557ee
commit a0328a623f
128 changed files with 22455 additions and 504 deletions
@@ -0,0 +1,404 @@
# check:contrast 与 check:headings —— 空闲机器复跑(无并发 E2E/Lighthouse)
# 生成于 2026-09-21T21:51:32Z
## npm run check:contrast
> ruixin-website-react@1.0.0-phase1 check:contrast
> tsx scripts/utils/check-color-contrast.ts
🎨 LIGHT 主题(:root,246 个令牌)
正文层级 × 页面底色
✅ --color-text-primary on --color-bg-primary — 19.34:1
✅ --color-text-primary on --color-bg-secondary — 18.48:1
✅ --color-text-primary on --color-bg-tertiary — 17.65:1
✅ --color-text-secondary on --color-bg-primary — 10.35:1
✅ --color-text-secondary on --color-bg-secondary — 9.90:1
✅ --color-text-tertiary on --color-bg-primary — 7.58:1
✅ --color-text-muted on --color-bg-primary — 4.76:1
品牌红文字通道(text-brand-ink 及 hover 档)
✅ --color-brand-ink on --color-bg-primary — 5.84:1
✅ --color-brand-ink on --color-bg-secondary — 5.58:1
✅ --color-brand-ink on --color-brand-bg — 5.35:1
✅ --color-brand-ink-hover on --color-bg-primary — 7.87:1
✅ --color-brand-ink-hover on --color-brand-bg — 7.20:1
✅ #FFFFFF on --color-brand — 5.84:1
alpha 修饰正文(带 /80 等修饰类的正文)
✅ --color-text-secondary on --color-bg-primary @80% — 5.74:1
大号装饰文本(text-text-hint)× 各级卡片底色
✅ --color-text-hint on --color-bg-primary — 3.41:1
✅ --color-text-hint on --color-bg-secondary — 3.26:1
✅ --color-text-hint on --color-bg-tertiary — 3.12:1
✅ --color-text-hint on --color-bg-elevated — 3.41:1
深色区块(不随主题翻转的独立 token)
✅ --color-dark-text-primary on --color-dark-bg — 18.48:1
✅ --color-dark-text-secondary on --color-dark-bg — 13.03:1
✅ --color-dark-text-muted on --color-dark-bg — 7.54:1
✅ --color-brand-section-text on --color-brand-section — 8.93:1
🎨 DARK 主题(html[data-theme='dark'],246 个令牌)
正文层级 × 页面底色
✅ --color-text-primary on --color-bg-primary — 18.48:1
✅ --color-text-primary on --color-bg-secondary — 17.69:1
✅ --color-text-primary on --color-bg-tertiary — 16.55:1
✅ --color-text-secondary on --color-bg-primary — 13.03:1
✅ --color-text-secondary on --color-bg-secondary — 12.47:1
✅ --color-text-tertiary on --color-bg-primary — 7.54:1
✅ --color-text-muted on --color-bg-primary — 7.54:1
品牌红文字通道(text-brand-ink 及 hover 档)
✅ --color-brand-ink on --color-bg-primary — 6.99:1
✅ --color-brand-ink on --color-bg-secondary — 6.69:1
✅ --color-brand-ink on --color-brand-bg — 6.27:1
✅ --color-brand-ink-hover on --color-bg-primary — 10.19:1
✅ --color-brand-ink-hover on --color-brand-bg — 9.13:1
✅ #FFFFFF on --color-brand — 5.84:1
alpha 修饰正文(带 /80 等修饰类的正文)
✅ --color-text-secondary on --color-bg-primary @80% — 8.52:1
大号装饰文本(text-text-hint)× 各级卡片底色
✅ --color-text-hint on --color-bg-primary — 7.54:1
✅ --color-text-hint on --color-bg-secondary — 7.22:1
✅ --color-text-hint on --color-bg-tertiary — 6.75:1
✅ --color-text-hint on --color-bg-elevated — 6.75:1
深色区块(不随主题翻转的独立 token)
✅ --color-dark-text-primary on --color-dark-bg — 18.48:1
✅ --color-dark-text-secondary on --color-dark-bg — 13.03:1
✅ --color-dark-text-muted on --color-dark-bg — 7.54:1
✅ --color-brand-section-text on --color-brand-section — 8.93:1
📊 合计 44 组:✅ 44 / ❌ 0 不达标 / ⚠️ 0 令牌缺失
✅ 全部令牌配对满足 WCAG 2.1 AA
## npm run check:headings
> ruixin-website-react@1.0.0-phase1 check:headings
> tsx scripts/utils/check-heading-hierarchy.ts
🚀 启动预览服务...
(node:52518) [DEP0190] DeprecationWarning: Passing args to a child process with shell option true can lead to security vulnerabilities, as the arguments are not escaped, only concatenated.
(Use `node --trace-deprecation ...` to show where the warning was created)
🔍 检查页面标题层级...
✅ 首页 (0 个问题)
✅ 关于我们 (0 个问题)
✅ 产品中心 (0 个问题)
✅ 产品详情-ERP (0 个问题)
✅ 解决方案 (0 个问题)
✅ 解决方案详情-制造 (0 个问题)
✅ 服务列表 (0 个问题)
✅ 服务详情-软件开发 (0 个问题)
✅ 新闻列表 (0 个问题)
✅ 联系我们 (0 个问题)
📊 检查摘要
扫描页面: 10
通过页面: 10
失败页面: 0
问题总数: 0
📝 详细报告已保存: /Users/zhangxiang/Codes/Novalon/novalon-website/heading-hierarchy-report.json
# check:contrast 与 check:headings —— 最终树空闲复跑
# 生成于 2026-09-21T22:47:59Z
## npm run check:contrast
> ruixin-website-react@1.0.0-phase1 check:contrast
> tsx scripts/utils/check-color-contrast.ts
🎨 LIGHT 主题(:root,246 个令牌)
正文层级 × 页面底色
✅ --color-text-primary on --color-bg-primary — 19.34:1
✅ --color-text-primary on --color-bg-secondary — 18.48:1
✅ --color-text-primary on --color-bg-tertiary — 17.65:1
✅ --color-text-secondary on --color-bg-primary — 10.35:1
✅ --color-text-secondary on --color-bg-secondary — 9.90:1
✅ --color-text-tertiary on --color-bg-primary — 7.58:1
✅ --color-text-muted on --color-bg-primary — 4.76:1
品牌红文字通道(text-brand-ink 及 hover 档)
✅ --color-brand-ink on --color-bg-primary — 5.84:1
✅ --color-brand-ink on --color-bg-secondary — 5.58:1
✅ --color-brand-ink on --color-brand-bg — 5.35:1
✅ --color-brand-ink-hover on --color-bg-primary — 7.87:1
✅ --color-brand-ink-hover on --color-brand-bg — 7.20:1
✅ #FFFFFF on --color-brand — 5.84:1
alpha 修饰正文(带 /80 等修饰类的正文)
✅ --color-text-secondary on --color-bg-primary @80% — 5.74:1
大号装饰文本(text-text-hint)× 各级卡片底色
✅ --color-text-hint on --color-bg-primary — 3.41:1
✅ --color-text-hint on --color-bg-secondary — 3.26:1
✅ --color-text-hint on --color-bg-tertiary — 3.12:1
✅ --color-text-hint on --color-bg-elevated — 3.41:1
深色区块(不随主题翻转的独立 token)
✅ --color-dark-text-primary on --color-dark-bg — 18.48:1
✅ --color-dark-text-secondary on --color-dark-bg — 13.03:1
✅ --color-dark-text-muted on --color-dark-bg — 7.54:1
✅ --color-brand-section-text on --color-brand-section — 8.93:1
🎨 DARK 主题(html[data-theme='dark'],246 个令牌)
正文层级 × 页面底色
✅ --color-text-primary on --color-bg-primary — 18.48:1
✅ --color-text-primary on --color-bg-secondary — 17.69:1
✅ --color-text-primary on --color-bg-tertiary — 16.55:1
✅ --color-text-secondary on --color-bg-primary — 13.03:1
✅ --color-text-secondary on --color-bg-secondary — 12.47:1
✅ --color-text-tertiary on --color-bg-primary — 7.54:1
✅ --color-text-muted on --color-bg-primary — 7.54:1
品牌红文字通道(text-brand-ink 及 hover 档)
✅ --color-brand-ink on --color-bg-primary — 6.99:1
✅ --color-brand-ink on --color-bg-secondary — 6.69:1
✅ --color-brand-ink on --color-brand-bg — 6.27:1
✅ --color-brand-ink-hover on --color-bg-primary — 10.19:1
✅ --color-brand-ink-hover on --color-brand-bg — 9.13:1
✅ #FFFFFF on --color-brand — 5.84:1
alpha 修饰正文(带 /80 等修饰类的正文)
✅ --color-text-secondary on --color-bg-primary @80% — 8.52:1
大号装饰文本(text-text-hint)× 各级卡片底色
✅ --color-text-hint on --color-bg-primary — 7.54:1
✅ --color-text-hint on --color-bg-secondary — 7.22:1
✅ --color-text-hint on --color-bg-tertiary — 6.75:1
✅ --color-text-hint on --color-bg-elevated — 6.75:1
深色区块(不随主题翻转的独立 token)
✅ --color-dark-text-primary on --color-dark-bg — 18.48:1
✅ --color-dark-text-secondary on --color-dark-bg — 13.03:1
✅ --color-dark-text-muted on --color-dark-bg — 7.54:1
✅ --color-brand-section-text on --color-brand-section — 8.93:1
📊 合计 44 组:✅ 44 / ❌ 0 不达标 / ⚠️ 0 令牌缺失
✅ 全部令牌配对满足 WCAG 2.1 AA
## npm run check:headings
> ruixin-website-react@1.0.0-phase1 check:headings
> tsx scripts/utils/check-heading-hierarchy.ts
🚀 启动预览服务...
(node:61061) [DEP0190] DeprecationWarning: Passing args to a child process with shell option true can lead to security vulnerabilities, as the arguments are not escaped, only concatenated.
(Use `node --trace-deprecation ...` to show where the warning was created)
🔍 检查页面标题层级...
✅ 首页 (0 个问题)
✅ 关于我们 (0 个问题)
✅ 产品中心 (0 个问题)
✅ 产品详情-ERP (0 个问题)
✅ 解决方案 (0 个问题)
✅ 解决方案详情-制造 (0 个问题)
✅ 服务列表 (0 个问题)
✅ 服务详情-软件开发 (0 个问题)
✅ 新闻列表 (0 个问题)
✅ 联系我们 (0 个问题)
📊 检查摘要
扫描页面: 10
通过页面: 10
失败页面: 0
问题总数: 0
📝 详细报告已保存: /Users/zhangxiang/Codes/Novalon/novalon-website/heading-hierarchy-report.json
## npm run check:brand-token
> ruixin-website-react@1.0.0-phase1 check:brand-token
> tsx scripts/utils/check-brand-text-token.ts
🔴 Two-Channel Red Rule 检查 — 文字通道禁用 --color-brand
📊 检查摘要
扫描目录: src
扫描文件: 414
违规处数: 0
✅ 文字通道全部使用 --color-brand-ink,双通道契约未被违反!
# ===== 最终树空闲复跑(chain3,含门禁脚本进程回收修复后)2026-09-22T02:42:16Z =====
## npm run check:contrast (EXIT=0)
✅ --color-brand-ink on --color-bg-primary — 6.99:1
✅ --color-brand-ink on --color-bg-secondary — 6.69:1
✅ --color-brand-ink on --color-brand-bg — 6.27:1
✅ --color-brand-ink-hover on --color-bg-primary — 10.19:1
✅ --color-brand-ink-hover on --color-brand-bg — 9.13:1
✅ #FFFFFF on --color-brand — 5.84:1
alpha 修饰正文(带 /80 等修饰类的正文)
✅ --color-text-secondary on --color-bg-primary @80% — 8.52:1
大号装饰文本(text-text-hint)× 各级卡片底色
✅ --color-text-hint on --color-bg-primary — 7.54:1
✅ --color-text-hint on --color-bg-secondary — 7.22:1
✅ --color-text-hint on --color-bg-tertiary — 6.75:1
✅ --color-text-hint on --color-bg-elevated — 6.75:1
深色区块(不随主题翻转的独立 token)
✅ --color-dark-text-primary on --color-dark-bg — 18.48:1
✅ --color-dark-text-secondary on --color-dark-bg — 13.03:1
✅ --color-dark-text-muted on --color-dark-bg — 7.54:1
✅ --color-brand-section-text on --color-brand-section — 8.93:1
📊 合计 44 组:✅ 44 / ❌ 0 不达标 / ⚠️ 0 令牌缺失
✅ 全部令牌配对满足 WCAG 2.1 AA
## npm run check:headings (EXIT=0)
(node:58761) [DEP0190] DeprecationWarning: Passing args to a child process with shell option true can lead to security vulnerabilities, as the arguments are not escaped, only concatenated.
(Use `node --trace-deprecation ...` to show where the warning was created)
🔍 检查页面标题层级...
✅ 首页 (0 个问题)
✅ 关于我们 (0 个问题)
✅ 产品中心 (0 个问题)
✅ 产品详情-ERP (0 个问题)
✅ 解决方案 (0 个问题)
✅ 解决方案详情-制造 (0 个问题)
✅ 服务列表 (0 个问题)
✅ 服务详情-软件开发 (0 个问题)
✅ 新闻列表 (0 个问题)
✅ 联系我们 (0 个问题)
📊 检查摘要
扫描页面: 10
通过页面: 10
失败页面: 0
问题总数: 0
📝 详细报告已保存: /Users/zhangxiang/Codes/Novalon/novalon-website/heading-hierarchy-report.json
## npm run check:brand-token (EXIT=0)
> ruixin-website-react@1.0.0-phase1 check:brand-token
> tsx scripts/utils/check-brand-text-token.ts
🔴 Two-Channel Red Rule 检查 — 文字通道禁用 --color-brand
📊 检查摘要
扫描目录: src
扫描文件: 414
违规处数: 0
✅ 文字通道全部使用 --color-brand-ink,双通道契约未被违反!
# ===== 最终树复跑(chain4:404 水印 /80 + global-error 兜底页修复后)2026-09-22T03:19:50Z =====
## npm run check:contrast (EXIT=0)
✅ --color-brand-ink on --color-bg-primary — 6.99:1
✅ --color-brand-ink on --color-bg-secondary — 6.69:1
✅ --color-brand-ink on --color-brand-bg — 6.27:1
✅ --color-brand-ink-hover on --color-bg-primary — 10.19:1
✅ --color-brand-ink-hover on --color-brand-bg — 9.13:1
✅ #FFFFFF on --color-brand — 5.84:1
alpha 修饰正文(带 /80 等修饰类的正文)
✅ --color-text-secondary on --color-bg-primary @80% — 8.52:1
大号装饰文本(text-text-hint)× 各级卡片底色
✅ --color-text-hint on --color-bg-primary — 7.54:1
✅ --color-text-hint on --color-bg-secondary — 7.22:1
✅ --color-text-hint on --color-bg-tertiary — 6.75:1
✅ --color-text-hint on --color-bg-elevated — 6.75:1
深色区块(不随主题翻转的独立 token)
✅ --color-dark-text-primary on --color-dark-bg — 18.48:1
✅ --color-dark-text-secondary on --color-dark-bg — 13.03:1
✅ --color-dark-text-muted on --color-dark-bg — 7.54:1
✅ --color-brand-section-text on --color-brand-section — 8.93:1
📊 合计 44 组:✅ 44 / ❌ 0 不达标 / ⚠️ 0 令牌缺失
✅ 全部令牌配对满足 WCAG 2.1 AA
## npm run check:brand-token (EXIT=0)
> ruixin-website-react@1.0.0-phase1 check:brand-token
> tsx scripts/utils/check-brand-text-token.ts
🔴 Two-Channel Red Rule 检查 — 文字通道禁用 --color-brand
📊 检查摘要
扫描目录: src
扫描文件: 416
违规处数: 0
✅ 文字通道全部使用 --color-brand-ink,双通道契约未被违反!
## npm run check:headings (EXIT=0)
(node:41979) [DEP0190] DeprecationWarning: Passing args to a child process with shell option true can lead to security vulnerabilities, as the arguments are not escaped, only concatenated.
(Use `node --trace-deprecation ...` to show where the warning was created)
🔍 检查页面标题层级...
✅ 首页 (0 个问题)
✅ 关于我们 (0 个问题)
✅ 产品中心 (0 个问题)
✅ 产品详情-ERP (0 个问题)
✅ 解决方案 (0 个问题)
✅ 解决方案详情-制造 (0 个问题)
✅ 服务列表 (0 个问题)
✅ 服务详情-软件开发 (0 个问题)
✅ 新闻列表 (0 个问题)
✅ 联系我们 (0 个问题)
📊 检查摘要
扫描页面: 10
通过页面: 10
失败页面: 0
问题总数: 0
📝 详细报告已保存: /Users/zhangxiang/Codes/Novalon/novalon-website/heading-hierarchy-report.json
# ===== 最终树复跑(chain6:header 函数式 setState + 移动端性能计时修复后)2026-09-22T03:51:41Z =====
## npm run check:contrast (EXIT=0)
✅ --color-brand-ink-hover on --color-brand-bg — 9.13:1
✅ #FFFFFF on --color-brand — 5.84:1
alpha 修饰正文(带 /80 等修饰类的正文)
✅ --color-text-secondary on --color-bg-primary @80% — 8.52:1
大号装饰文本(text-text-hint)× 各级卡片底色
✅ --color-text-hint on --color-bg-primary — 7.54:1
✅ --color-text-hint on --color-bg-secondary — 7.22:1
✅ --color-text-hint on --color-bg-tertiary — 6.75:1
✅ --color-text-hint on --color-bg-elevated — 6.75:1
深色区块(不随主题翻转的独立 token)
✅ --color-dark-text-primary on --color-dark-bg — 18.48:1
✅ --color-dark-text-secondary on --color-dark-bg — 13.03:1
✅ --color-dark-text-muted on --color-dark-bg — 7.54:1
✅ --color-brand-section-text on --color-brand-section — 8.93:1
📊 合计 44 组:✅ 44 / ❌ 0 不达标 / ⚠️ 0 令牌缺失
✅ 全部令牌配对满足 WCAG 2.1 AA
## npm run check:brand-token (EXIT=0)
> ruixin-website-react@1.0.0-phase1 check:brand-token
> tsx scripts/utils/check-brand-text-token.ts
🔴 Two-Channel Red Rule 检查 — 文字通道禁用 --color-brand
📊 检查摘要
扫描目录: src
扫描文件: 416
违规处数: 0
✅ 文字通道全部使用 --color-brand-ink,双通道契约未被违反!
## npm run check:headings (EXIT=0)
✅ 首页 (0 个问题)
✅ 关于我们 (0 个问题)
✅ 产品中心 (0 个问题)
✅ 产品详情-ERP (0 个问题)
✅ 解决方案 (0 个问题)
✅ 解决方案详情-制造 (0 个问题)
✅ 服务列表 (0 个问题)
✅ 服务详情-软件开发 (0 个问题)
✅ 新闻列表 (0 个问题)
✅ 联系我们 (0 个问题)
📊 检查摘要
扫描页面: 10
通过页面: 10
失败页面: 0
问题总数: 0
📝 详细报告已保存: /Users/zhangxiang/Codes/Novalon/novalon-website/heading-hierarchy-report.json