feat(ui): 营销站 UI/UE/UX 治理 P0→P3 + 数字口径 basis 机制 #28

Closed
zhangxiang wants to merge 30 commits from refactor/optimize-ui into dev
7 changed files with 5 additions and 3 deletions
Showing only changes of commit a8eae9606e - Show all commits
Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 175 KiB

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 247 KiB

After

Width:  |  Height:  |  Size: 200 KiB

+1 -1
View File
@@ -957,7 +957,7 @@ async function main() {
{ tag: '共创', title: '首批客户共创计划:与早期客户共同打磨产品', desc: '以真实运营数据验证业务改善,成果在获得客户授权后公开。', date: '2026-06', href: '/contact' },
],
founderQuoteEyebrow: '创始团队观点',
founderQuoteText: '我们相信,数字化不是一次性项目,而是持续迭代的能力建设。每一份投入,都应当经得起衡量。',
founderQuoteText: '我们相信,数字化不是一次性项目,\n而是持续迭代的能力建设。\n每一份投入,都应当经得起衡量。',
founderQuoteName: 'Novalon 创始团队',
founderQuoteRole: '技术咨询 · 数字化转型同行者',
newsEyebrow: '新闻动态',
+4 -2
View File
@@ -112,7 +112,9 @@ const FALLBACK_INSIGHTS = [
// ===== 创始人观点兜底(对标 Accenture CEO Quote,人格化背书)=====
// 零编造原则:不虚构具体人名/原话;姓名职务为空时仅展示观点立场,真实引言可在 CMS page-copy 配置
const FALLBACK_FOUNDER_QUOTE = {
text: '我们相信,数字化不是一次性项目,而是持续迭代的能力建设。每一份投入,都应当经得起衡量。',
// 排版约束:3 行均势(17 / 18 / 13 字),避开"量。"孤儿字。
// 配合 blockquote 的 whitespace-pre-line 渲染换行。
text: '我们相信,数字化不是一次性项目,\n而是持续迭代的能力建设。\n每一份投入,都应当经得起衡量。',
name: 'Novalon 创始团队',
role: '技术咨询 · 数字化转型同行者',
};
@@ -646,7 +648,7 @@ function FounderQuoteSection({ pageCopy }: { pageCopy?: HomePageCopy | null }) {
<div className="w-10 h-px bg-brand/40" />
</div>
<Quote className="w-10 h-10 mx-auto mb-8 text-brand/40" aria-hidden="true" />
<blockquote className="text-2xl sm:text-3xl md:text-4xl font-semibold text-ink leading-snug tracking-tight mb-10 border-l-0 pl-0 m-0">
<blockquote className="text-base sm:text-xl md:text-[28px] font-medium text-ink leading-[1.7] mb-10 border-l-0 pl-0 m-0 max-w-[640px] mx-auto whitespace-pre-line">
{quoteText}
</blockquote>
{(quoteName || quoteRole) && (