
管理员
站长
- UID
- 1
- 积分
- 224402
- 余额
- 13 R
- Moe币
- 84883
- 在线时间
- 279 小时
- 注册时间
- 2025-12-28
- 最后登录
- 2026-11-13
|
-- ============================================================
-- 未成年人保护功能增强 建表脚本
-- 对应审核意见:网站未成年人保护功能不完善,仅有时间限制功能
-- 新增:不良内容举报、青少年每日使用日志
-- 执行方式:在业务库中直接执行本脚本(可重复执行,已存在则跳过)
-- ============================================================
-- 不良内容举报表
CREATE TABLE IF NOT EXISTS `content_report` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`user_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '举报人用户ID,游客举报为空',
`target_type` VARCHAR(20) NOT NULL COMMENT '举报目标类型:manga漫画 chapter章节 comment评论',
`target_id` BIGINT UNSIGNED NOT NULL COMMENT '举报目标ID',
`target_title` VARCHAR(255) DEFAULT NULL COMMENT '目标标题快照,便于后台定位',
`reason_type` VARCHAR(20) NOT NULL COMMENT '举报原因:porn色情低俗 violence暴力血腥 politics涉政违规 abuse人身攻击 minor危害未成年人 other其他',
`description` VARCHAR(500) DEFAULT NULL COMMENT '补充描述',
`evidence_urls` VARCHAR(1000) DEFAULT NULL COMMENT '举报凭证图片URL,多张逗号分隔',
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '处理状态:0待处理 1已处理 2驳回',
`handle_result` VARCHAR(500) DEFAULT NULL COMMENT '处理结果说明',
`handler_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '处理人用户ID',
`handle_time` DATETIME DEFAULT NULL COMMENT '处理时间',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '举报时间',
PRIMARY KEY (`id`),
KEY `idx_status_create` (`status`, `create_time`),
KEY `idx_user` (`user_id`),
KEY `idx_target` (`target_type`, `target_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='不良内容举报表';
-- 青少年模式每日使用日志表
CREATE TABLE IF NOT EXISTS `teen_usage_log` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`user_id` BIGINT UNSIGNED NOT NULL COMMENT '用户ID',
`usage_date` DATE NOT NULL COMMENT '统计日期',
`usage_minutes` INT NOT NULL DEFAULT 0 COMMENT '当日累计使用分钟数',
`blocked_count` INT NOT NULL DEFAULT 0 COMMENT '当日被拦截次数(超时长/宵禁/消费/内容)',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_user_date` (`user_id`, `usage_date`),
KEY `idx_date` (`usage_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='青少年模式每日使用日志表';
-- 确保漫画表存在适龄分级字段(历史库若已有则忽略报错)
-- ALTER TABLE `manga` ADD COLUMN `age_range` TINYINT DEFAULT 0 COMMENT '适龄范围:0全年龄 1-12+ 2-16+ 3-18+';
-- 历史数据兜底:适龄分级为空的作品按全年龄处理,避免青少年模式下全站空白
UPDATE `manga` SET `age_range` = 0 WHERE `age_range` IS NULL;
|
|