From cc1cc9101035f92ac120b1b8975d810d169e9f28 Mon Sep 17 00:00:00 2001 From: zhangxiang Date: Mon, 31 Aug 2026 18:26:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(theme):=20=E6=9A=97=E9=BB=91=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=20Phase=202=20=E6=89=B9=E6=AC=A1=201=20=E2=80=94=20ab?= =?UTF-8?q?out/brand=20=E6=B5=85=E8=89=B2=E5=8C=BA=E5=9D=97=20token=20?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将 about-content-v4(8 处)与 brand-content(6 处)的浅色 bg-white 全部迁 到 bg-bg-primary,浅色下值完全等价(#FFFFFF)→ 浅色视觉零差异;dark 模式 下随 token 自动反色为 #0A0E14,section 间 bg-bg-secondary 交替保留设计层 次(#0F1419)。 【变更】 - about-content-v4.tsx:Hero×2 + section×2 + 卡片×2 + min-h-screen wrapper×2 - brand-content.tsx:main wrapper + Hero + section×2 + 卡片×2 + hover:bg-white→hover:bg-bg-primary 【验证】 - type-check 0 / lint 0 errors(127 warnings 既有) - jest 128 suites / 1623 passed - 视觉回归 22 passed(含关于我们 /about 全页浅色快照零 diff) - computed-style 一次性脚本验证(已删除): - dark: /about 与 /about/brand 的 html/body/header 背景 → rgb(10,14,20) ✓ - dark: sectionBgs = [#0A0E14, #0F1419, #0A0E14](bg-primary/bg-secondary 交替层次保留,dark 下 secondary → #0F1419 是设计意图) - light: 零深色残留,所有 section 在浅色范围内 【设计确认】 - about/brand 的第二个 section 使用 bg-bg-secondary(#F8FAFC 浅灰)是设计 意图的层次交替,dark 下自动反色为 #0F1419(深一档),无需改动 - 一次性 computed-style 脚本对 'section 全部 #FFFFFF/#0A0E14' 的断言过严 → 修正为'第一个 section 是预期主色 + 所有 section 不在反色范围',覆盖 真正的浅色→深色反色语义 【Phase 2 剩余批次】 - 批次 2:services-content-v3 + service-detail-content-v4 + solution-value - 批次 3:product-detail-content-v3 + products/standalone + detail-hero - 批次 4:admin 全量(login + media + roles + notifications + content + page) --- src/app/(marketing)/about/about-content-v4.tsx | 16 ++++++++-------- .../(marketing)/about/brand/brand-content.tsx | 12 ++++++------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/app/(marketing)/about/about-content-v4.tsx b/src/app/(marketing)/about/about-content-v4.tsx index 5d03bde..711f909 100644 --- a/src/app/(marketing)/about/about-content-v4.tsx +++ b/src/app/(marketing)/about/about-content-v4.tsx @@ -48,7 +48,7 @@ function HeroSection({ data }: { data: AboutData }) { const titleLines = (data.heroTitle || '').split('\n'); return ( -
+
+
+
+
{certifications.length > 0 && ( @@ -359,7 +359,7 @@ function CertificationsSection({ data }: { data: AboutData }) { return (
@@ -390,7 +390,7 @@ function CertificationsSection({ data }: { data: AboutData }) { {partners.map((partner) => (
{partner} @@ -457,14 +457,14 @@ export default function AboutContentV4({ data }: { data: Record // Empty state when no CMS data is available if (!data || Object.keys(data).length === 0) { return ( -
+
内容暂未发布
); } return ( -
+
diff --git a/src/app/(marketing)/about/brand/brand-content.tsx b/src/app/(marketing)/about/brand/brand-content.tsx index 303c816..ae8b7d9 100644 --- a/src/app/(marketing)/about/brand/brand-content.tsx +++ b/src/app/(marketing)/about/brand/brand-content.tsx @@ -66,9 +66,9 @@ const brandStats = [ export default function BrandContent() { return ( -
+
{/* ============ L1: Hero 品牌情感入口 ============ */} -
+
{/* 眉标 */} @@ -161,7 +161,7 @@ export default function BrandContent() {
{brandValues.map((item, i) => ( -
+
@@ -176,7 +176,7 @@ export default function BrandContent() {
{/* 品牌使命与愿景 */} -
+
{/* 使命 */} @@ -299,7 +299,7 @@ export default function BrandContent() {
{/* 品牌实力 */} -
+
@@ -322,7 +322,7 @@ export default function BrandContent() { { icon: Globe, title: '多行业场景', desc: '方法论适配制造、零售、医疗、金融、教育、物流等多行业场景' }, ].map((item, i) => ( -
+