-- ============================================================ -- 02_sections.sql -- 页面区块系统:Section 区块、特性列表、步骤列表、数据指标、参数规格 -- 对应 proposal.md 第 3.1、4.3 节 -- ============================================================ -- ----------------------------------------------------------- -- Section 区块(通用,支持多种页面类型) -- page_type: homepage / product / about / support -- 首页和产品详情页可自由增删区块;关于我们/技术支持为固定布局 -- ----------------------------------------------------------- CREATE TABLE IF NOT EXISTS `www_section_blocks` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, `page_type` VARCHAR(20) NOT NULL COMMENT '所属页面: homepage / product / about / support', `product_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '关联产品 ID(page_type=product 时)', `layout` VARCHAR(30) NOT NULL COMMENT '布局类型: hero_split / hero_center / image_text / two_column / feature_grid / spec_showcase / video_showcase / scroll_narrative / cta_banner / spec_table', `theme` VARCHAR(10) NOT NULL DEFAULT 'light' COMMENT '主题: light / dark', `overline_color` VARCHAR(20) NOT NULL DEFAULT '' COMMENT 'Overline 自定义颜色(空=跟随主题默认色)', `title_color` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '标题自定义颜色(空=跟随主题默认色)', `body_color` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '副标题/正文自定义颜色(空=跟随主题默认色)', `bg_type` VARCHAR(10) NOT NULL DEFAULT 'color' COMMENT '背景类型: color / image / video', `bg_value` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '背景值(颜色值 或 素材路径)', `overline_zh` VARCHAR(100) NOT NULL DEFAULT '' COMMENT 'Overline 文本(中文)', `overline_en` VARCHAR(100) NOT NULL DEFAULT '' COMMENT 'Overline 文本(英文)', `title_zh` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '标题(中文)', `title_en` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '标题(英文)', `subtitle_zh` VARCHAR(300) NOT NULL DEFAULT '' COMMENT '副标题(中文)', `subtitle_en` VARCHAR(300) NOT NULL DEFAULT '' COMMENT '副标题(英文)', `content_zh` TEXT COMMENT '正文内容(中文,富文本)', `content_en` TEXT COMMENT '正文内容(英文,富文本)', `cta_primary_zh` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '主 CTA 文案(中文)', `cta_primary_en` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '主 CTA 文案(英文)', `cta_primary_url` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '主 CTA 链接', `cta_secondary_zh` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '次 CTA 文案(中文)', `cta_secondary_en` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '次 CTA 文案(英文)', `cta_secondary_url` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '次 CTA 链接', `media_url_zh` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '图片/媒体路径(中文)', `media_url_en` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '图片/媒体路径(英文)', `video_url` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '视频地址(Video Showcase 专用)', `config` JSON COMMENT '布局扩展配置(JSON),Feature Grid / Steps / Data Metrics 等', `is_visible` TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否显示', `sort_order` INT NOT NULL DEFAULT 0 COMMENT '排序(同页面内)', `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `idx_page_type` (`page_type`, `sort_order`), KEY `idx_product_id` (`product_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='页面 Section 区块'; -- ----------------------------------------------------------- -- config 字段 JSON 结构说明(不在数据库中约束,应用层校验) -- -- Feature Grid (layout=feature_grid): -- { -- "features": [ -- { "icon": "...", "title_zh": "...", "title_en": "...", -- "desc_zh": "...", "desc_en": "..." } -- ] -- } -- -- Data Metrics (layout=spec_showcase): -- { -- "metrics": [ -- { "value": "≥129.5", "unit": "dB", "label_zh": "信噪比", "label_en": "SNR" } -- ] -- } -- -- Steps (layout=scroll_narrative): -- { -- "steps": [ -- { "title_zh": "...", "title_en": "...", -- "desc_zh": "...", "desc_en": "...", -- "media_url": "..." } -- ] -- } -- ----------------------------------------------------------- -- ----------------------------------------------------------- -- 4.3 产品参数规格(Spec Table 布局子表) -- 参数分组,挂载在 section_blocks 上 -- ----------------------------------------------------------- CREATE TABLE IF NOT EXISTS `www_spec_groups` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, `section_block_id` BIGINT UNSIGNED NOT NULL COMMENT '所属 Section 区块 ID', `title_zh` VARCHAR(100) NOT NULL COMMENT '分组标题(中文)', `title_en` VARCHAR(100) NOT NULL COMMENT '分组标题(英文)', `sort_order` INT NOT NULL DEFAULT 0 COMMENT '分组排序', `default_visible` INT NOT NULL DEFAULT 5 COMMENT '收起状态下默认显示项数', PRIMARY KEY (`id`), KEY `idx_section_block` (`section_block_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='产品参数规格分组'; -- ----------------------------------------------------------- -- 参数项,挂载在 spec_groups 上 -- ----------------------------------------------------------- CREATE TABLE IF NOT EXISTS `www_spec_items` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, `spec_group_id` BIGINT UNSIGNED NOT NULL COMMENT '所属参数分组 ID', `name_zh` VARCHAR(100) NOT NULL COMMENT '参数名称(中文)', `name_en` VARCHAR(100) NOT NULL COMMENT '参数名称(英文)', `value_zh` VARCHAR(500) NOT NULL COMMENT '参数值(中文)', `value_en` VARCHAR(500) NOT NULL COMMENT '参数值(英文)', `sort_order` INT NOT NULL DEFAULT 0 COMMENT '参数排序', PRIMARY KEY (`id`), KEY `idx_spec_group` (`spec_group_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='产品参数规格项';