-- ============================================================
-- 01_global_settings.sql
-- 全局配置:站点基础信息、页脚、社交媒体、SEO 默认值、导航栏
-- 对应 proposal.md 第 1、2 节
-- ============================================================
-- -----------------------------------------------------------
-- 1.1 站点基础信息(单行记录)
-- -----------------------------------------------------------
CREATE TABLE IF NOT EXISTS `www_site_settings` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`site_title` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '站点标题,全站
后缀',
`favicon_url` VARCHAR(500) NOT NULL DEFAULT '' COMMENT 'Favicon 素材路径',
`logo_dark_url` VARCHAR(500) NOT NULL DEFAULT '' COMMENT 'Logo 深色版(浅色区块上用)',
`logo_light_url` VARCHAR(500) NOT NULL DEFAULT '' COMMENT 'Logo 浅色版(深色区块上用)',
`updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
COMMENT='站点基础信息(单行)';
-- -----------------------------------------------------------
-- 1.2 页脚配置(单行记录)
-- -----------------------------------------------------------
CREATE TABLE IF NOT EXISTS `www_footer_settings` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`company_name` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '公司名称',
`company_address` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '公司地址',
`contact_phone` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '联系电话',
`contact_email` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '联系邮箱',
`copyright_text` VARCHAR(200) NOT NULL DEFAULT '' COMMENT '版权信息',
`icp_number` VARCHAR(50) NOT NULL DEFAULT '' COMMENT 'ICP 备案号',
`police_number` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '公安备案号',
`updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
COMMENT='页脚配置(单行)';
-- -----------------------------------------------------------
-- 1.3 社交媒体链接
-- -----------------------------------------------------------
CREATE TABLE IF NOT EXISTS `www_social_links` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`platform` VARCHAR(30) NOT NULL COMMENT '平台标识: wechat / weibo / bilibili / youtube / facebook / instagram',
`url` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '主页链接(微信公众号时为空)',
`qrcode_url` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '二维码图片路径(仅微信用)',
`sort_order` INT NOT NULL DEFAULT 0 COMMENT '排序',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_platform` (`platform`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
COMMENT='社交媒体链接';
-- -----------------------------------------------------------
-- 1.4 全站 SEO 默认值(单行记录)
-- -----------------------------------------------------------
CREATE TABLE IF NOT EXISTS `www_seo_defaults` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`meta_description` VARCHAR(160) NOT NULL DEFAULT '' COMMENT '默认 Meta Description',
`meta_keywords` VARCHAR(300) NOT NULL DEFAULT '' COMMENT '默认 Meta Keywords(逗号分隔)',
`og_image_url` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '默认 OG 图片(1200×630px)',
`updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
COMMENT='全站 SEO 默认值(单行)';
-- -----------------------------------------------------------
-- 2.1 导航入口
-- -----------------------------------------------------------
CREATE TABLE IF NOT EXISTS `www_nav_items` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`name_zh` VARCHAR(50) NOT NULL COMMENT '入口名称(中文)',
`name_en` VARCHAR(50) NOT NULL COMMENT '入口名称(英文)',
`link` VARCHAR(500) NOT NULL COMMENT '链接地址(站内路由或外部 URL)',
`is_visible` TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否显示',
`sort_order` INT NOT NULL DEFAULT 0 COMMENT '排列顺序',
`display_mode` VARCHAR(20) NOT NULL DEFAULT 'text' COMMENT '显示形式: text / icon_text / image / image_text',
`icon_name` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '图标名(display_mode 含 icon 时)',
`image_url` VARCHAR(500) NOT NULL DEFAULT '' COMMENT '图片路径(display_mode 含 image 时)',
`open_new_tab` TINYINT(1) 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`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
COMMENT='导航栏入口';
-- -----------------------------------------------------------
-- 2.3 导航栏外观配置(单行记录)
-- -----------------------------------------------------------
CREATE TABLE IF NOT EXISTS `www_nav_appearance` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`homepage_style` VARCHAR(20) NOT NULL DEFAULT 'transparent' COMMENT '首页导航风格: transparent / glass',
`non_homepage_style` VARCHAR(20) NOT NULL DEFAULT 'transparent' COMMENT '非首页导航风格: transparent / glass',
`updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
COMMENT='导航栏外观配置(单行)';