zhangxiang and 阿睿
549c151c6a
feat(home): Hero 动态粒子层(入场浮现后静止)
...
新增 hero-particle-field 组件作为 Hero L3 层:品牌红点缀、Canvas + rAF
仅在 ~600ms 入场窗运行后冻结为静态帧,遵守「无持续循环动画」动效铁律;
prefers-reduced-motion 退化为一次性静态帧。固定种子 PRNG 保证视觉快照可复现。
同步更新 home-content-v15 接入与单测、home 视觉基线。
Co-Authored-By: 阿睿 <workbuddy@tencent.com >
2026-09-01 07:57:12 +08:00
zhangxiang
e0828db0cc
test(header): 补充 lucide-react mock 的 Sun/Moon 图标
...
- header 接入 ThemeToggle 后,其测试 mock 的 lucide-react 缺 Sun/Moon
- 导致 theme-toggle 内 <Sun/>/<Moon/> 导入为 undefined,14 例渲染失败
- 补齐后 14 例通过,全量单测 128 suites / 1624 passed
2026-09-01 06:50:59 +08:00
zhangxiang
02fec8a67b
feat(theme): add ThemeToggle and wire into header + admin top bar
...
- Add reusable client ThemeToggle at src/components/theme/theme-toggle.tsx
- Reads/writes novalon-theme localStorage key and toggles data-theme
- Placeholder on first render to avoid hydration mismatch
- Wired into public Header desktop cluster and AdminLayout top bar
2026-08-31 22:05:06 +08:00
zhangxiang
860a7f454a
refactor(admin): 替换硬编码 gray/white 为设计 token(login + layout)
...
- login/page.tsx、admin-layout.tsx 全部 Tailwind gray-* / bg-white / bg-black/50 映射至语义 token
- 深色面板(bg-gray-900/800 激活态、头像、登录按钮)映射 bg-dark-bg / bg-dark-bg-secondary,保持两模式深色
- 深色面板上的文字用 text-dark-text-primary(固定亮色),规避 text-white 在暗黑模式反色为暗的陷阱
- 遮罩 bg-black/50 → bg-overlay/50(独立 token,不随反色)
- 验证: type-check 0 / lint 0 / 产物 CSS 已含全部映射类
2026-08-31 21:38:44 +08:00
zhangxiang
e4bbe3822d
feat(home): hero 信息层重构 — 声明先行,数据指标下沉为独立成果带
...
参考 Accenture Radical Relevance 设计语言(方向 A,用户已决策):
- hero 内数据条移出,主张(副标题)前置,一屏只负责一句话声明 + 一个行动
- 新增 HeroStatsBand 成果带,滚动触发(Glance 层),承接下沉的指标
- H1 字重 900→700,hero 内 KPI 数字同步收敛,对齐「字重 9→3」克制
- 右侧数据看板保持单电压(仅品牌红),hero 内已无辅助色
验证(evidence-first):
- type-check 0 errors / lint 0 errors(127 warnings 均为既有、与本改无关)
- jest 13 passed(含新断言:hero 内不含 hero-stats、数据下沉成果带仍渲染)
- 视觉回归 22 passed(首页浅/深快照已 update;19 个非首页页零 diff,证明改动仅影响首页)
含 docs/design/hero-redesign-proposal.md(设计提案,未改代码)
P0 批次;P1(点阵 token 化 + L2 光标聚光)待续
2026-08-31 21:24:05 +08:00
zhangxiang
dcc2073e1e
feat(theme): 暗黑模式 Phase 2 批次 3 — product-detail/standalone/detail-hero token 化
...
- product-detail-content-v3.tsx: 9 处 bg-white → bg-bg-primary
(Hero / features / benefits / process / cases / certifications / CTA)
- standalone/[id]/client.tsx: 5 处 bg-white → bg-bg-primary
- detail-hero.tsx: 浅色 variant bg-white → bg-bg-primary(共享组件)
- detail.test.tsx: 新增常驻断言——light variant 必须用主题 token,禁止硬编码 bg-white
验证(evidence-first):
- type-check 0 / lint 0 errors
- jest 128 suites / 1624 passed(含新增断言)
- 视觉回归 22 passed(浅色基线零 diff)
- computed-style 一次性验证 4 passed: /products/erp + /products/crm 的 dark 反色
(html/body/header → #0A0E14、section 层次自动反色)+ light 零深色残留;脚本已删
Phase 2 剩余批次: 批次 4 admin 全量(user 决策: admin 也参与)
2026-08-31 18:53:47 +08:00
zhangxiang
80e3c48c5d
feat(theme): 暗黑模式 Phase 2 批次 2 — services/service-detail/solution-value token 化
...
将 services-content-v3(7 处)、service-detail-content-v4(7 处)、
solution-value(1 处)的浅色 bg-white 全部迁移到 bg-bg-primary。
浅色下值完全等价(#FFFFFF)→ 浅色视觉零差异;dark 下随 token 自动
反色为 #0A0E14,section 间 bg-bg-secondary 层次交替保留。
【变更】
- services-content-v3.tsx(7 处):Hero + section + 卡片×3 + main wrapper
(含卡片条件 className 中两个 bg-white 分支)
- service-detail-content-v4.tsx(7 处):Hero + FeaturesSection + 卡片×3 +
CasesSection + main wrapper
- solution-value.tsx(1 处):共享 section 组件
【验证】
- type-check 0 / lint 0 errors(127 warnings 既有)
- jest 128 suites / 1623 passed
- 视觉回归 22 passed(含 /services 与 /services/software 浅色快照零 diff)
- computed-style 一次性脚本验证(已删除):
dark: /services 与 /services/software 的 html/body/header → #0A0E14
section 层次 [primary, secondary, primary, secondary] 自动反色正确
light: 零深色残留
【Phase 2 剩余批次】
- 批次 3:product-detail-content-v3 + products/standalone + detail-hero 共享组件
- 批次 4:admin 全量(user决策:参与暗黑)
2026-08-31 18:31:08 +08:00
zhangxiang
40c6cd612d
feat(theme): 暗黑模式 Phase 1 基础设施 + 首页试点
...
为 html[data-theme='dark'] 添加完整 CSS 变量覆盖块,建立暗黑模式基石。
--color-ink 收窄为'文字/描边跟随主题'语义,深色 UI 元素(卡片/按钮/遮罩/
代码块/页脚)迁到 --color-dark-bg / --color-overlay 独立 token,避免 ink
反色为浅色文字时连带把深色区块变浅(双语义冲突)。
【基础设施】
- globals.css:
* html/body 顶部硬编码 #FFFFFF !important 改 var() 化(保留 !important)
* :root 新增 --color-overlay / --color-overlay-rgb(遮罩/深色叠加层,
永不反色)
* 新增 html[data-theme='dark'] 覆盖块:墨色反色为浅色文字,bg/text/
border 层级反色,link 反色;保留 --color-dark-* / --color-brand-section
* pre 背景 var(--color-ink) → var(--color-dark-bg)
- tailwind.config.js:注册 overlay 色(rgb() 形式,支持 /50 /60 修饰符)
- layout.tsx:head 内联防 FOUC 同步脚本,读 localStorage['novalon-theme']
设置 data-theme(当前无切换 UI,仅作未来挂载点)
【首页试点 + 布局组件】(浅色值完全等价 → 浅色零视觉差异)
- home-content-v15.tsx:7 处 bg-white → bg-bg-primary(narrative/insights/
cases sections 与卡片),2 处 bg-ink → bg-dark-bg(案例卡 bg-dark-bg 不
随反色,保留深色画布)
- header.tsx / mega-dropdown.tsx:bg-white → bg-bg-primary(导航栏/移动
端菜单/下拉面板)
- footer.tsx:bg-[#0A0E14] → bg-dark-bg(语义统一,视觉零差异)
【全局 UI 组件】(深色区块语义统一 + 遮罩固定深色)
- button.tsx:secondary 'bg-ink hover:bg-ink-light' → bg-dark-bg / hover:bg-dark-bg-secondary;
outline 'hover:bg-ink hover:border-ink' → hover:bg-dark-bg / border-dark-bg
- stats-showcase / milestone-timeline:isDark 分支 bg-ink → bg-dark-bg
- metric-card:isDark 分支 bg-ink/50 → bg-overlay/50,hover:bg-ink → hover:bg-overlay
- dialog / alert-dialog:遮罩 bg-ink/60 → bg-overlay/60(永不反色)
- button.test.tsx:断言 bg-ink → bg-dark-bg,注释同步
【验证】
- type-check 0 errors
- lint 0 errors(127 warnings 既有,非本次引入)
- jest 128 suites / 1623 passed(button 断言同步通过)
- 视觉回归先非 update:21 passed(浅色安全门零 diff)+ 1 failed
(仅 theme-dark-main,dark 快照从浅色名义变真正深色 = 语义修复预期)
- update-snapshots:22 passed,仅 theme-dark-main 基线重写
- computed-style 权威验证(一次性脚本,已删除):
dark 7 项断言全过(html/body/hero/导航栏/案例卡→深色 #0A0E14;
body 文字→浅色 #F8FAFC;footer/overlay→保持深色);light 4 项零回归
【未在 Phase 1 范围】(已识别,留待 Phase 2/3 决策)
- service-detail-content-v4.tsx 等营销页 bg-white:Phase 2 批量 token 化
- admin 页面 bg-white + RichTextEditor:admin 边界决策 + Phase 3
- 品牌红 #C41E3A 在深色底对比度复检:Phase 3
2026-08-31 18:15:58 +08:00
zhangxiang
f64e9648ff
refactor(ui): HeroProductVisual 硬编码 bg-white token 化(bg-bg-primary)
...
- 消除暗黑模式 token 反色时的冲突隐患(浅色下视觉零变化,22 passed 确认)
2026-08-31 17:51:28 +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
b65ddd1ff7
fix(a11y): 无障碍与 lint 修复(对比度/alt 属性/触控目标收窄)+ Geist 本地字体系统
2026-08-31 12:03:32 +08:00
zhangxiang
08a020105f
refactor(link): 营销页站内链接统一 StaticLink(静态托管适配)+ 删除 0 引用死代码组件 + QA 页 client/server 拆分
2026-08-31 12:03:12 +08:00
zhangxiang
4c85b3cbdf
fix(tailwind): arbitrary-value 改映射类,消除 ambiguous warnings
2026-08-31 12:03:03 +08:00
zhangxiang
337e1e60c0
feat(cms): 品牌叙事与结构性文案全站 CMS 化并补齐信任证据阶段 0
...
- 品牌叙事内核(价值主张/定位/承诺/三支柱/语气)下沉 site-config,经 SiteConfigProvider 注入全站
- 新增 page-copy 内容模型承载结构性文案(章节标题/眉标/描述/CTA/空状态),覆盖首页+服务/方案/产品/案例/新闻列表页,「CMS 优先 + 硬编码兜底」不白屏
- 首页「首批客户共创计划」板块(earlyAccessTitle/CtaLabel/Status 驱动)替代单行标签,如实呈现共创/内测/授权公开三档状态
- 关于页资质区数据空时如实展示「建设中」空态
- 零编造:不虚构客户/数据/资质
2026-08-20 09:25:12 +08:00
zhangxiang
cbdc7dd0c8
refactor(home): de-productize hero visual to abstract data-driven graphic
...
- 移除「睿新·经营驾驶舱」产品 UI 外壳(窗口头/侧边栏/表格/产品名)
- Hero 视觉改为抽象数据可视化(KPI + 趋势图),眉标「数据驱动 · 让转型可量化」
- 对齐 IHG/字节式品牌矩阵定位:能力表达而非产品展示
- 首页单测 6/6 + 视觉基线三端更新,type-check / lint 0 errors
2026-08-19 16:34:11 +08:00
zhangxiang
713186d552
feat(design): Vibe design optimization — Hero, Bento grids, trust layer, narrative
...
升级全站体验:首页 Hero 改为产品视觉 + 单一 CTA 转化布局;产品矩阵/服务/方案改
为 Bento 非对称网格(ERP 2x2 大卡 + BI 1x2);补齐信任层(可验证信号 + 来源标注)
与「问题→方法→结果」章节式叙事;新增 hero-product-visual 与 bento-grid 可复用组件;
统一动效与品牌视觉资产。新增对应单测、UJ-11 用户旅程测试并更新视觉回归基线快照。
2026-08-19 14:43:27 +08:00
zhangxiang
8d3bd723c3
fix(brand): unify calligraphy logo across header, footer and brand page
...
- logo.svg: remove dark-mode white fill so header/hero calligraphy stays
visible on white backgrounds and matches footer logo-white.svg
- about/brand: replace sans-serif brand title with BrandCalligraphyName,
reusing the same AoyagiReisho SVG paths as the footer logo without
loading the 4.4MB font file
- add unit tests for BrandCalligraphyName and document decision in CONTEXT.md
2026-08-18 12:51:33 +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
zhangxiang
b84ee9515f
fix(products): add externalUrl support for standalone products and fix footer alignment
...
- Add externalUrl field to standalone product content type
- Filter out externalUrl products from generateStaticParams
- Fix email icon vertical alignment in footer
2026-08-13 07:12:17 +08:00
zhangxiang
f3fc969bef
test(mobile): add mobile E2E test suite (53 tests) and fix layout issues
...
Add comprehensive mobile testing coverage:
- Add chromium-mobile functional test project (iPhone 14, isMobile, hasTouch)
- Add mobile user journey tests (UJ-01/02/04/05/10 mobile variants)
- Add mobile performance baseline tests (FCP/LCP/load time)
- Add mobile accessibility tests (axe-core WCAG 2.1 AA, touch targets,
form labels, alt text, contrast)
- Update README with progress and new npm scripts
Fix pre-existing issues:
- Fix footer component layout and test assertions
- Fix admin content page sidebar navigation and breadcrumb
- Fix standalone products page metadata and layout
- Fix product detail/service value sections
- Fix contact form layout on mobile
- Fix navigation constants and products data
- Fix layout.tsx CMS config and theme handling
- Fix erp-upgrade content layout
2026-08-03 18:32:29 +08:00
zhangxiang
f4d8f0a8e9
fix(breadcrumb): add aria-label to news detail breadcrumb for alignment
...
Also accumulates other pre-existing changes:
- refactor(icons): replace deprecated BarChart3 with TrendingUp
- refactor(services): replace emoji icons with LucideIcon components
- refactor(footer): use logo-white for dark background
- cleanup(archive): remove unused archive components
- cleanup(constants): remove unused types and exports
2026-08-03 14:47:20 +08:00
zhangxiang
b262bf0836
fix(admin): auto-expand sidebar navigation group for active child page
...
- Add getExpandedMenusForPath to auto-expand the parent menu group
when navigating to a child page (e.g., /admin/users expands "系统管理")
- Add hasActiveChild highlight on parent menu group button (bg-gray-100)
- Use lazy initialization for expandedMenus state based on current path
- Use useEffect to track pathname changes and auto-expand accordingly
- Replace `path` unused param with `_path` to satisfy TypeScript strict
2026-08-03 11:49:43 +08:00
zhangxiang
602ed6a671
test(hooks): finalize mutation test improvements and release acceptance
...
- Raise use-swipe-gesture mutation score to 66.13% (target 65%+)
- Maintain use-reduced-motion mutation score at 76.32% (target 50%+)
- Fix use-reduced-motion.ts ESLint set-state-in-effect warning
- Add UJ-10 deep searcher journey (category browse → article read → content discovery)
- Add 40 new test files (analytics, detail, sections, ui, lib components)
- Update test-strategy-plan.md to v2.0 (sync test count to 1591)
- Sync README.md with final release metrics
Quality gates: TS 0 errors, ESLint 0 errors, 121 suites / 1591 tests passed
2026-08-02 19:39:27 +08:00
zhangxiang
ad1a522b17
test(hooks): expand focus-trap tests with Tab/Shift+Tab coverage and fix TypeScript errors
...
- Add 33 unit tests for useFocusTrap hook covering all key behaviors
- Add Tab/Shift+Tab focus cycling tests with activeElement mocking attempt
- Add Escape key behavior, state change, and dependency tracking tests
- Fix TypeScript errors in RichTextEditor.test.tsx (unknown types, unused vars)
- Fix ESLint error in use-focus-trap.test.tsx (self-closing component)
- Fix unused variable warnings in use-focus-trap.test.tsx
- All 33 tests passing, 0 TypeScript errors, 0 ESLint errors
2026-08-02 18:12:41 +08:00
zhangxiang
a022a612c5
test(seo): expand structured data tests to cover all 7 schema components
...
- Add 24 new tests for ServiceSchema, ProductSchema, FAQSchema,
BreadcrumbSchema, and LocalBusinessSchema (previously uncovered)
- Raise SEO component coverage from 40.89% → 100% (all metrics)
- Update jest.config.js coverage thresholds to reflect Phase 7实测 values
- Sync test-strategy-plan.md to v1.8 with latest coverage data
- Update README.md progress with 1509 tests / 73.59% stmts / 82.38% branches
2026-08-02 13:36:28 +08:00
zhangxiang
c480772aec
feat(admin): enhance admin dashboard, user management, and content editor UX
...
- Dashboard: add stats API with content status distribution, recent notifications,
and recent content updates; display active users, pending reviews, unread counts
- User management: full CRUD with role assignment, search, pagination, delete dialog
- Notification center: list with unread filter, mark as read, mark all as read,
pagination, and auto-refresh unread count
- Content editor: form validation (required fields, slug format, blur-triggered
errors), auto-save with 3s debounce and status indicator, publish confirmation
dialog, unsaved changes warning on leave
- Admin layout: add navigation links for user management, roles, and notifications
- admin-api: make request() method public for custom API calls
- gitignore: add reports/mutation/ to exclude mutation test output
2026-07-31 23:05:24 +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
张翔
d9c0e5f2c1
fix(cms): resolve admin dogfood findings on auth, content editing, and UX
...
修复 CMS / Admin 后台 dogfood 专项测试发现的阻塞性与体验性问题:
- 登录后无限重定向(Secure Cookie + Edge Runtime JWT 兼容)
- 内容新增/编辑保存 400/500(默认不加密请求体、自动生成唯一 slug)
- 编辑时提交 status 导致验证错误
- 原生 confirm 阻塞自动化测试,改为 AlertDialog
- 表单字段可访问性(id/htmlFor/fieldset)
- JSON 数组标签字段新增 TagInput 组件
- 操作反馈统一使用 Sonner Toast
- 后台隐藏营销 Cookie 横幅
- 媒体库空状态优化
添加 dogfood-cms-regression 与 dogfood-cms-output 报告、截图及工作流路由测试。
2026-07-25 08:03:06 +08:00
张翔
a6ea2cc72c
test(e2e,unit): add navigation edge cases and component coverage
...
- Add missing-paths E2E spec for desktop/mobile navigation and contrast
- Add local Playwright config for dev server testing
- Expand unit tests for CMS data server, products, contact and UI components
- Adjust jest config for new test patterns
2026-07-08 14:47:07 +08:00
张翔
7f36211342
feat(content): deepen Bain differentiation across product, solution and service pages
...
- Replace decorative numbering and side-stripe borders with structured copy
- Add scenario positioning, capability metrics and verifiable dimensions
- Refine service timelines, deliverables and case-study narratives
- Update content constants to support CMS seeding
2026-07-08 14:46:51 +08:00
张翔
f4b98fb730
feat(cms): integrate global layout with CMS and document decision
...
- Move site-config and navigation to CMS-backed SiteConfigProvider
- Keep static constants as fallback for dev and degraded modes
- Add ADR-0005 recording the global layout CMS strategy
Refs ADR-0005
2026-07-08 14:46:14 +08:00
张翔
38be4a19ef
test(core): 补充单元测试,修复 useCountUp 精度问题,新增项目文档
...
- 新增 hooks/components/lib 共 9 个测试文件,覆盖边界条件与异常路径
- 补充 animations.test.tsx 用例(RotatingBorder、CounterWithEffect 等)
- 修复 useCountUp 结束时 toFixed 精度问题
- 调整 jest 覆盖率配置为渐进式阈值,收缩收集范围
- 新增 docs/lessons-learned.md(经验教训汇总)与 docs/troubleshooting.md(问题排查索引)
- 更新 README.md 文档索引
2026-07-07 19:42:50 +08:00
张翔
55381d7012
chore(cms): 清理旧版 CMS 客户端代码,完成 CMS 迁移
...
- 删除已废弃的 CMS 客户端代码:mock-data、registry、client、storage、renderers 等
- 删除已归档的 CMS 页面组件:home-content-cms、news-content-cms、services-content-cms 等
- 删除 CMS Studio 页面
- 将 CaseStudyData 类型移至 types.ts,统一类型定义
- 移除 content-types 对 registry 的依赖,内联 ContentTypeConfig
- 修复测试文件中对已删除 mock-data 的引用
- 添加 site-config 和 navigation 内容模型种子数据
- 更新 revalidate API 路由使用 CONTENT_TYPE_CONFIGS
共修改 34 个文件,+132 / -5993 行
2026-07-07 11:44:56 +08:00
张翔
8def296301
chore(cleanup): 清理废弃组件与旧版本归档
...
- 删除 detail-v2 旧版叙事组件
- 删除 narrative 旧版区块组件
- 删除 theme-toggle 主题切换与 theme-context 上下文
- 删除 detail-data-proof/service-value/solution-value 旧版组件
- 删除 home-content-v2/v3 旧版首页
- 归档旧版营销页面内容至 _archive 目录
2026-07-07 06:54:10 +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
张翔
829d83522c
feat(marketing): 重构营销页面与四层叙事组件体系
...
- 重构 About、Contact、Team 等静态营销页面
- 重构 News 新闻列表与详情页
- 重构 Products 产品目录、详情与独立产品页面
- 重构 Services 与 Solutions 服务/解决方案页面
- 重构 Detail 四层叙事组件 (Hero → Value → Trust → CTA)
- 重构 Sections 页面区块组件 (Hero, CTA, SocialProof, WhyUs 等)
- 新增 SectionHeader、ServiceCard、CaseCard 等可复用组件
2026-07-07 06:53:40 +08:00
张翔
767931202d
feat(layout): 重构布局组件体系与数据层
...
- 重构 Header 导航、Footer 页脚、MobileMenu 移动端菜单
- 新增 MobileTabBar 移动端底部导航栏
- 更新 MegaDropdown 大型下拉导航
- 重构 SEO 结构化数据组件
- 更新数据层常量 (products, services, solutions, navigation 等)
- 新增 useCountUp 数字递增 Hook
- 修复 .gitignore 中 src/lib 被错误忽略的问题
2026-07-07 06:53:13 +08:00
张翔
e78df62cd1
feat(ui): 重构核心 UI 组件库,新增 shadcn/ui 组件
...
- 重构 Button、Card、Badge、Input、Textarea 等基础组件
- 新增 Accordion、Alert、Dialog、Dropdown、Form 等 shadcn/ui 组件
- 新增 AnimatedCounter、StatsShowcase、MetricCard 等数据展示组件
- 新增 ScrollReveal 滚动动画组件
- 重构 Toast 通知系统与 Tooltip 提示组件
- 更新设计令牌系统,对齐新品牌视觉
2026-07-07 06:52:38 +08:00
张翔
415a103a24
style(theme): 更新网站主题色彩方案与字体配置
...
- 调整主色调从 #1C1C1C 至 #1A1A1A,优化视觉层次
- 更新背景色系为暖白色调 (#FAFAF7, #F5F4F0 等)
- 配置中文字体栈,添加 serif 字体支持
- 优化文本颜色梯度,提升可读性
- 调整边框颜色,统一水墨风格
- 添加 Google Search Console 验证码配置项
- 新增桌面应用架构专家代理配置文件
- 重构 E2E 测试等待策略,提升稳定性
- 添加回归测试脚本,增强质量保障
2026-06-17 11:37:25 +08:00
张翔
724a00f582
feat: V2/V3组件体系与水墨雅致视觉改造
...
- 新增detail-v2组件库(HeroV2/V3, TrustSectionV2, CTASectionV2等)
- Hero组件水墨雅致改造:浅色宣纸底/深色墨色文字/墨韵纹理
- 方案卡片添加推荐组合徽标(Package图标)
- 独立产品页从V1组件迁移到V2/V3
- 修复why-us-section未使用导入和ESLint引号转义错误
2026-06-07 16:19:44 +08:00
张翔
f7024b1cf4
feat: 优化全局样式与组件视觉升级
...
- 更新 globals.css 全局样式
- 优化 not-found 404 页面
- 升级 footer, mega-dropdown, mobile-tab-bar 布局组件
- 改进 challenge, cta, hero 等核心 section 组件
- 优化 challenge-card, ink-glow-card, product-card 等 UI 组件
- 更新产品常量配置
2026-05-19 16:35:10 +08:00
张翔
7f6128a6ff
feat: 更新营销页面组件与交互优化
...
- 删除 .impeccable.md
- 新增 detail-swipe-nav, loading-state, skeleton, tooltip 组件
- 新增 use-keyboard-shortcuts, use-swipe-gesture hooks
- 更新 contact, news, products, services, solutions 等页面
- 优化 header, mobile-menu, input, page-transition 组件
- 添加 terms 与错误追踪测试页面
2026-05-14 18:21:54 +08:00
张翔
8840c4398a
feat: downgrade tech stack to stable versions and integrate GA4 error monitoring
...
- Downgrade Next.js 16→14.2, React 19→18.3, Tailwind 4→3.4
- Add comprehensive GA4 error monitoring system
- Create Jenkins CI/CD pipeline with quality gates
- Fix build issues: ESLint, SWC conflict, config format
- Add documentation for deployment and error tracking
2026-05-12 12:45:18 +08:00
张翔
f08874f5c4
feat(ui): optimize CTA buttons with contextual copy and fix static export build issues
...
CTA Optimization:
- Implement scenario-based CTA text across 6 key locations
- Add responsive Header CTA with icon+compact design
- Enhance CTA Section with vision-driven copy
Bug Fixes:
- Fix useSearchParams() build failure with dynamic import wrapper
- Remove useSearchParams() from PageTransition component
- Fix React 19 useEffect lint errors via useSyncExternalStore
UI Enhancements:
- Add ripple effects and gradient animations to Button
- Enhance loading skeleton with branded pulse animation
2026-05-11 19:03:37 +08:00
张翔
c474394237
fix(ui): 全站视觉审查修复 — 深色模式适配与交互优化
...
- 法律页面(条款/隐私) Hero 渐变背景深色模式适配,新增 --color-hero-dark-end 变量
- Badge secondary 变体深色模式下从白底白字改为主题自适应灰底
- 首页 Hero 快速导航图标 strokeWidth 加粗提升可读性 (1.8→2.2)
- 服务详情挑战卡片添加 border + hover 边框变色增强层次感
- 移动端 Tab Bar 激活指示器升级为顶部+底部双信号
2026-05-10 10:37:05 +08:00
张翔
0d517078ad
fix(dark-mode): 修复视觉审查发现的2处硬编码浅色背景
...
- Hero右侧快速导航卡片: bg-white/80 → bg-[var(--color-bg-primary)]/80
- CTA区块: 新增--color-cta-bg变量(浅色#FAFAFA/深色#141414)
- 视觉验证通过: 8页全量截图确认无遗留问题
2026-05-10 10:13:09 +08:00
张翔
27d486d820
feat(dark-mode): 实现深色模式支持
...
- 定义87个CSS变量的深色值([data-theme=dark]选择器)
- 升级ThemeProvider支持light/dark/system三种模式
- 新增ThemeToggle组件(桌面端Header+移动端菜单)
- 添加防FOUC内联脚本(渲染前应用主题)
- Logo根据主题自动切换(logo.svg/logo-white.svg)
- 更新测试用例覆盖主题切换逻辑
2026-05-10 10:00:14 +08:00
张翔
37296b5717
feat(website): 三轮视觉改造与页面过渡动画
...
改造概要(30项):
- 第一轮:Hero重构/Section差异化/SocialProof强化/CTA对比度/About架构
- 第二轮:字体优化/背景交替/Solutions差异化/Footer五列/MegaDropdown修复
- 第三轮:卡片交互/表单层级/CTA统一/时间线标记/连接线/三列布局/移动导航/Button微交互/SEO Schema
- P3-2:template.tsx+Framer Motion页面过渡/loading.tsx加载状态
- 清理:删除未用组件/hooks,修复重复移动导航,清理冗余CSS
2026-05-10 08:20:27 +08:00
张翔
747405dc96
refactor: 移除hero水墨动画,优化全局样式与组件细节
2026-05-04 00:00:19 +08:00