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
This commit is contained in:
@@ -233,17 +233,19 @@ const solutionFields: FieldDefinition[] = [
|
||||
|
||||
const heroBannerFields: FieldDefinition[] = [
|
||||
{
|
||||
name: 'heading',
|
||||
name: 'headingTop',
|
||||
type: 'text',
|
||||
label: '主标题',
|
||||
label: '顶部小标题',
|
||||
required: true,
|
||||
description: '显示在主标题上方的引导语',
|
||||
ui: { width: 'full' },
|
||||
},
|
||||
{
|
||||
name: 'subheading',
|
||||
type: 'textarea',
|
||||
label: '副标题',
|
||||
name: 'headingBottom',
|
||||
type: 'text',
|
||||
label: '主标题',
|
||||
required: true,
|
||||
description: 'Hero 区核心大标题',
|
||||
ui: { width: 'full' },
|
||||
},
|
||||
{
|
||||
@@ -252,36 +254,48 @@ const heroBannerFields: FieldDefinition[] = [
|
||||
label: '描述文本',
|
||||
},
|
||||
{
|
||||
name: 'primaryCtaText',
|
||||
name: 'ctaLabel',
|
||||
type: 'text',
|
||||
label: '主按钮文案',
|
||||
defaultValue: '了解更多',
|
||||
defaultValue: '预约咨询',
|
||||
},
|
||||
{
|
||||
name: 'primaryCtaLink',
|
||||
name: 'ctaHref',
|
||||
type: 'text',
|
||||
label: '主按钮链接',
|
||||
defaultValue: '/solutions',
|
||||
},
|
||||
{
|
||||
name: 'secondaryCtaText',
|
||||
type: 'text',
|
||||
label: '副按钮文案',
|
||||
defaultValue: '联系我们',
|
||||
},
|
||||
{
|
||||
name: 'secondaryCtaLink',
|
||||
type: 'text',
|
||||
label: '副按钮链接',
|
||||
defaultValue: '/contact',
|
||||
},
|
||||
{
|
||||
name: 'statValue',
|
||||
type: 'text',
|
||||
label: '统计数值',
|
||||
description: 'Hero 区右侧可选数据指标,如「500+」',
|
||||
},
|
||||
{
|
||||
name: 'statSubtext',
|
||||
type: 'text',
|
||||
label: '统计说明',
|
||||
description: '与统计数值配套的说明文字',
|
||||
},
|
||||
{
|
||||
name: 'ctaTitleLine1',
|
||||
type: 'text',
|
||||
label: 'CTA 标题第一行',
|
||||
description: '底部 CTA 区域第一行标题',
|
||||
},
|
||||
{
|
||||
name: 'ctaTitleLine2',
|
||||
type: 'text',
|
||||
label: 'CTA 标题第二行',
|
||||
description: '底部 CTA 区域第二行标题(通常使用品牌红色)',
|
||||
},
|
||||
{
|
||||
name: 'theme',
|
||||
type: 'text',
|
||||
label: '主题风格',
|
||||
defaultValue: 'brand',
|
||||
options: [
|
||||
{ label: '品牌绿', value: 'brand' },
|
||||
{ label: '品牌红', value: 'brand' },
|
||||
{ label: '蓝', value: 'blue' },
|
||||
{ label: '青', value: 'teal' },
|
||||
{ label: '琥珀', value: 'amber' },
|
||||
|
||||
@@ -14,6 +14,11 @@ export interface CaseStudyData {
|
||||
testimonial?: CaseTestimonial;
|
||||
color: 'brand' | 'blue' | 'teal' | 'amber' | 'purple';
|
||||
featured?: boolean;
|
||||
projectDuration?: string;
|
||||
departments?: string[];
|
||||
dataScale?: string;
|
||||
businessProblem?: string;
|
||||
verified?: boolean;
|
||||
}
|
||||
|
||||
export type FieldType =
|
||||
|
||||
Reference in New Issue
Block a user