-- ============================================================
-- 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='产品参数规格项';
