feat: 添加成人内容过滤功能

- 新增用户设置系统支持内容过滤开关
- 扩展类型定义支持成人内容标记
- 实现用户设置API端点(GET/PATCH/PUT)
- 增强搜索API支持内容分组和过滤
- 创建AdultContentFilter UI组件
- 添加用户设置页面和认证检查
- 更新配置示例和README文档
- 实现LocalStorage和Redis存储后端
- 默认启用过滤确保安全性
This commit is contained in:
katelya
2025-09-04 21:11:02 +08:00
parent c9429efba6
commit 86ebbb2cf6
12 changed files with 658 additions and 17 deletions
+49
View File
@@ -39,6 +39,7 @@
- **📖 播放历史**:自动记录观看历史,快速找回看过的内容
- **👥 多用户支持**:独立的用户系统,每个用户独享个人数据
- **🔄 数据同步**:支持多种存储后端(LocalStorage、Redis、D1、Upstash
- **🔒 内容过滤**:智能成人内容过滤系统,默认开启安全保护
### 🚀 部署特性
@@ -586,6 +587,54 @@ docker run -d \
## 📱 高级功能使用指南
### 🔒 成人内容过滤
**功能介绍**
- 智能识别和过滤成人内容资源站
- 用户可自主选择开启或关闭过滤功能
- 默认开启过滤,确保安全浏览体验
- 支持资源分组显示,避免误触
**使用方法**
1. **访问用户设置**
- 登录后访问 `/settings` 页面
- 或在用户菜单中点击「用户设置」
2. **配置过滤选项**
- 在「内容过滤」部分找到「成人内容过滤」开关
- **开启**:完全隐藏成人内容资源站和搜索结果
- **关闭**:成人内容在搜索结果中单独分组显示
3. **搜索结果展示**
- **过滤开启时**:只显示常规内容
- **过滤关闭时**:显示两个标签页「常规结果」和「成人内容」
**配置文件格式**
```json
// config.json 中的资源站配置
{
"api_site": {
"regular_site": {
"api": "https://example.com/api.php/provide/vod",
"name": "常规影视站",
"is_adult": false // 或省略此字段,默认为 false
},
"adult_site": {
"api": "https://adult.example.com/api.php/provide/vod",
"name": "成人内容站",
"is_adult": true // 标记为成人内容
}
}
}
```
**安全提示**
- 默认情况下,所有新用户和未登录用户的成人内容过滤均为开启状态
- 关闭过滤功能需要用户主动操作,确保使用意图明确
- 建议管理员在配置资源站时准确标记 `is_adult` 字段
### 🎯 跳过片头片尾
**功能介绍**