zhangxiang
152eef9da0
fix(a11y,ui): resolve 29 P1 issues found by dogfood UI/UX/UE audit
...
Dogfood 审计(31 路由 × 多视口,Playwright 9 维探针)发现的阻断级问题全部闭环:
P1 29 → 0,对比度违规页 29 → 0。
对比度
- footer: text-gray-500 硬编码 → text-text-hint 令牌(#6B7280 在 #0A0E14 上仅
4:1,需 4.5:1),1 行改动全站 29 页生效
- brand-content / team-content 副文案 text-text-secondary/70 → /80
(4.35:1 → 5.74:1,视觉几乎无变化)
- brand-content 里程碑标签在 bg-tertiary 上 text-text-muted → text-text-secondary
(4.34:1 → 9.45:1)
装饰元素豁免
- 大号服务编号(about 01-03、team 01-05 等)加 aria-hidden="true",WCAG 1.4.3
对装饰内容不适用,无需强行提亮
- 同时补修 product-detail / solution-detail 的客户名首字占位(同类
text-text-muted/10,因容器为渐变背景属探针盲区、从未报出)
- 副文案与里程碑标签属真实语义内容,走提对比度而非 aria-hidden —— 隐藏它们
等于把公司简介与成立年份从屏幕阅读器中删除
移动端布局
- MobileTabBar 为 fixed bottom-0 高 64px,给 main / [role="main"] / footer
补 calc(64px + env(safe-area-inset-bottom)) 安全区,解决正文与页脚被遮挡
- 注意 marketing layout 使用 div[role="main"] 而非真 <main> 元素,选择器须
同时匹配两者
触控与令牌
- ERP 专题链接加 py-0.5(23px → 27px,达 WCAG 2.2 AA 2.5.8 的 24px)
- solution-service-card: shadow-blue-500/20 → shadow-brand(纳入 --shadow-* 令牌)
Refs: UI_UX_UE_AUDIT_2026-09-01.md
2026-09-01 16:12:45 +08:00
zhangxiang
5c1b883abf
feat(ui): CTAButton 可复用组件 + P5 全站 CTA 签名切换(17 页面 27 处)
...
feat(ui): 抽离 CTAButton 为 src/components/ui/cta-button.tsx
- 4 variant 覆盖全站 CTA 场景:
* primary:品牌红填充 pill(hero 主行动 / 底部大 CTA)
* secondary:描边墨色 pill(浅色 section 次行动)
* dark:描边浅色 pill(深色区块 bg-dark-bg 内次行动,如 brand/team 底部 CTA)
* inline:透明 + 小箭头(卡片内次行动)
- 品牌箭头签名化:内置 ArrowRight + hover translate-x 微交互
- 200-300ms transition,对齐项目动效四原则
- data-testid 透传避免破坏既有测试
style(cta): P5 全站 CTA 签名切换(17 页面 27 处)
- home V15 / news×3 / products×4(含 erp)/ cases / services×2 / solutions×2
- brand / methodology / team(hero 2 + L4 2 = 4 处,含 dark variant)
- error / not-found(保留 onClick 功能按钮与卡片式导航 StaticLink)
- 清理:StaticLink / Button / ArrowRight / ChevronRight unused import
test(marketing): services/solutions lucide-react mock 补 ArrowRight
- CTAButton 内部用 ArrowRight,原 mock 漏导导致渲染崩(4 测试失败已修)
- 对齐 home-content-v15.test.tsx 既有 mock 范式
2026-08-31 17:25:08 +08:00
zhangxiang
88578a7433
style(cta): 全站 CTA Pill 化(Button 组件 + 11 个营销页内联按钮 rounded-full 对齐签名化)
2026-08-31 16:17:42 +08:00
zhangxiang
628a0f1a2b
fix: align startup copy with 2026 founding and deploy hybrid rendering
...
- Replace fabricated 12-year/500+/8+ team experience claims with
2026 founding, first-client co-creation, professional team wording
- Remove fake case studies and unverified certifications from seeds,
cases page, products and ERP upgrade page
- Enable Next.js standalone output and production hybrid deployment
(Dockerfile.prod, docker-compose.server.yml, Nginx nextjs upstream)
- Add linux-musl Prisma engine target and production crypto key build
- Sync production CMS database with cleaned seed content
2026-08-17 20:21:39 +08:00
张翔
10404dbb36
chore: sync marketing pages, CMS extensions, tests and project docs
...
同步工作区剩余变更,主要包括:
- 营销页面组件与布局持续优化(about/news/services/solutions/team 等)
- 详情页四层叙事组件、布局组件、UI 组件调整
- CMS 数据模型、API 路由、权限、工作流、站内通知、媒体管理扩展
- 新增/补充单元测试与 E2E 测试(cms-workflow.spec.ts 等)
- ESLint 9 迁移、jest/tsconfig 配置更新、依赖调整
- 新增 ADR、CMS 评估文档、Release Review / Acceptance 报告
- 移除水墨装饰组件与大体积未使用字体文件
2026-07-25 08:04:01 +08:00
张翔
b5245f9aa2
feat(cms): 添加 CMS 内容管理系统与 Admin 管理后台
...
- 新增 Prisma + SQLite 数据库模型 (Category, Content, Media, User 等)
- 新增 Admin 管理后台 (认证、内容管理、媒体管理)
- 新增 CMS API 路由 (CRUD, 草稿/发布, 重新验证)
- 新增 CMS 内容版本的历史归档页面
- 新增 components/cms 内容渲染组件
- 新增 components/admin 管理后台 UI 组件
- 更新 Contact API 路由
2026-07-07 06:53:58 +08:00