宇恒一号官网

This commit is contained in:
whm
2026-03-17 00:59:32 +08:00
commit eb56519df7
105 changed files with 10783 additions and 0 deletions

134
sql/init.sql Normal file
View File

@@ -0,0 +1,134 @@
-- yh_web 建表语句MySQL 5.7+ / MariaDB 10.2+
-- 与当前功能及线上已有结构对应,便于迁移或对照。主键使用 VARCHAR(24) 与 MongoDB ObjectID 字符串形式兼容。
SET NAMES utf8mb4;
-- -------------------------------
-- 站点
-- -------------------------------
CREATE TABLE IF NOT EXISTS `sites` (
`id` VARCHAR(24) NOT NULL COMMENT '主键,与 MongoDB ObjectID 字符串一致',
`name` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '站点名称',
`domain` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '域名',
`description` TEXT COMMENT '描述',
`created_at` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='站点表';
-- -------------------------------
-- 网页(属于某站点)
-- -------------------------------
CREATE TABLE IF NOT EXISTS `pages` (
`id` VARCHAR(24) NOT NULL COMMENT '主键',
`site_id` VARCHAR(24) NOT NULL DEFAULT '' COMMENT '站点ID',
`slug` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '路径标识 index, about, ...',
`title` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '标题',
`type` VARCHAR(32) NOT NULL DEFAULT 'page' COMMENT '类型 homepage, page',
`content` LONGTEXT COMMENT 'HTML 或 JSON 字符串',
`updated_at` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_site_slug` (`site_id`, `slug`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='网页表';
-- -------------------------------
-- 站点资源/上传文件
-- -------------------------------
CREATE TABLE IF NOT EXISTS `site_assets` (
`id` VARCHAR(24) NOT NULL COMMENT '主键',
`site_id` VARCHAR(24) NOT NULL DEFAULT '' COMMENT '站点ID',
`name` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '文件名/显示名',
`file_path` VARCHAR(512) NOT NULL DEFAULT '' COMMENT '相对路径',
`size` BIGINT NOT NULL DEFAULT 0 COMMENT '字节数',
`content_type` VARCHAR(128) NOT NULL DEFAULT '' COMMENT 'MIME 类型',
`created_at` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_site_id` (`site_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='站点资源表';
-- -------------------------------
-- 用户
-- -------------------------------
CREATE TABLE IF NOT EXISTS `users` (
`id` VARCHAR(24) NOT NULL COMMENT '主键',
`username` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '用户名',
`mobile` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '手机号',
`email` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '邮箱',
`password` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '密码哈希',
`role` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '角色名',
`role_id` INT NOT NULL DEFAULT 1 COMMENT '9527=超级管理员 1=普通用户',
`is_beta` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否体验用户',
`trial_start_date` VARCHAR(16) NOT NULL DEFAULT '' COMMENT '试用开始日期',
`trial_end_date` VARCHAR(16) NOT NULL DEFAULT '' COMMENT '试用结束日期',
`last_login` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '最后登录时间',
`llm` VARCHAR(64) NOT NULL DEFAULT '' COMMENT 'LLM 配置',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_username` (`username`),
KEY `idx_mobile` (`mobile`),
KEY `idx_email` (`email`),
KEY `idx_role_id` (`role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';
-- -------------------------------
-- 工作空间
-- -------------------------------
CREATE TABLE IF NOT EXISTS `workspaces` (
`id` VARCHAR(24) NOT NULL COMMENT '主键',
`name` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '名称',
`user_id` VARCHAR(24) NOT NULL DEFAULT '' COMMENT '用户ID',
`created_at` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工作空间表';
-- -------------------------------
-- 对话
-- -------------------------------
CREATE TABLE IF NOT EXISTS `conversations` (
`id` VARCHAR(24) NOT NULL COMMENT '主键',
`title` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '标题',
`user_id` VARCHAR(24) NOT NULL DEFAULT '' COMMENT '用户ID',
`workspace_id` VARCHAR(24) NOT NULL DEFAULT '' COMMENT '工作空间ID',
`created_at` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '创建时间',
`updated_at` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_workspace_id` (`workspace_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='对话表';
-- -------------------------------
-- 消息(统计用,功能上若未实现可先建表)
-- -------------------------------
CREATE TABLE IF NOT EXISTS `messages` (
`id` VARCHAR(24) NOT NULL COMMENT '主键',
`conversation_id` VARCHAR(24) NOT NULL DEFAULT '' COMMENT '对话ID',
`role` VARCHAR(16) NOT NULL DEFAULT '' COMMENT 'role: user/assistant/system',
`content` LONGTEXT COMMENT '内容',
`created_at` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_conversation_id` (`conversation_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='消息表';
-- -------------------------------
-- 文件(统计用,功能上若未实现可先建表)
-- -------------------------------
CREATE TABLE IF NOT EXISTS `files` (
`id` VARCHAR(24) NOT NULL COMMENT '主键',
`user_id` VARCHAR(24) NOT NULL DEFAULT '' COMMENT '用户ID',
`name` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '文件名',
`file_path` VARCHAR(512) NOT NULL DEFAULT '' COMMENT '存储路径',
`size` BIGINT NOT NULL DEFAULT 0 COMMENT '字节数',
`created_at` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件表';
-- -------------------------------
-- 系统配置键值_id 为配置键payment / sms_platform
-- -------------------------------
CREATE TABLE IF NOT EXISTS `system_config` (
`id` VARCHAR(64) NOT NULL COMMENT '配置键 payment, sms_platform 等',
`payload` JSON COMMENT '配置内容(支付/短信等)',
`updated_at` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统配置表';