feat():learning后台管理项目初始化

This commit is contained in:
yuj
2025-12-04 16:23:46 +08:00
parent 39886d50d2
commit 88e048f4d1
154 changed files with 28966 additions and 6 deletions

View File

@@ -0,0 +1,11 @@
-- 为 admin_invite_codes 表添加 client_id 字段
-- 日期: 2025-01-29
-- 说明: 添加客户端ID字段用于区分不同客户端观察版/用户版)
-- 添加 client_id 列
ALTER TABLE `admin_invite_codes`
ADD COLUMN `client_id` varchar(64) DEFAULT NULL COMMENT '客户端ID' AFTER `is_used`;
-- 更新现有记录的 client_id 为默认值(用户版)
-- 如果需要保持为 NULL可以注释掉下面这行
UPDATE `admin_invite_codes` SET `client_id` = 'J10f8yxU1XDl1Tn00MXKeA' WHERE `client_id` IS NULL;

View File

@@ -0,0 +1,20 @@
-- 创建邀请码申请表
CREATE TABLE IF NOT EXISTS `admin_invite_code_applications` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`email` VARCHAR(255) NOT NULL COMMENT '申请邮箱',
`reason` TEXT COMMENT '申请理由',
`status` VARCHAR(20) NOT NULL DEFAULT 'pending' COMMENT '申请状态:pending-待处理,approved-已通过,rejected-已拒绝',
`invite_code_id` INT UNSIGNED COMMENT '关联的邀请码ID',
`reject_reason` TEXT COMMENT '拒绝理由',
`approved_at` DATETIME COMMENT '审批时间',
`approved_by` VARCHAR(64) COMMENT '审批人',
`email_sent_at` DATETIME COMMENT '邮件发送时间',
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted_at` DATETIME COMMENT '软删除时间',
PRIMARY KEY (`id`),
INDEX `idx_email` (`email`),
INDEX `idx_status` (`status`),
INDEX `idx_deleted_at` (`deleted_at`),
CONSTRAINT `fk_invite_code_id` FOREIGN KEY (`invite_code_id`) REFERENCES `admin_invite_codes`(`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='邀请码申请表';

View File

@@ -0,0 +1,3 @@
-- 添加 language 字段到 admin_invite_code_applications 表
ALTER TABLE admin_invite_code_applications
ADD COLUMN language VARCHAR(10) DEFAULT 'zh' COMMENT '语言:zh-中文,en-英文' AFTER reason;