fix: 修复文档格式和内容,确保成人内容过滤功能配置说明清晰

This commit is contained in:
katelya
2025-09-04 22:56:06 +08:00
parent db08179eb0
commit 9a5564b3cf
3 changed files with 42 additions and 29 deletions
+9
View File
@@ -20,6 +20,7 @@ wrangler d1 create katelyatv-db
```
记录输出的数据库 ID,类似:
```
✅ Successfully created DB 'katelyatv-db' in region APAC
Created your database using D1's new storage backend.
@@ -112,11 +113,13 @@ wrangler pages deploy .vercel/output/static --project-name katelyatv
### 错误:"获取用户设置失败"
**可能原因**
- 未配置 D1 数据库
- `NEXT_PUBLIC_STORAGE_TYPE` 未设置为 `d1`
- 数据库中缺少 `user_settings` 表
**解决方案**
1. 检查环境变量配置
2. 验证 D1 数据库绑定
3. 执行数据库迁移:
@@ -127,10 +130,12 @@ wrangler pages deploy .vercel/output/static --project-name katelyatv
### 错误:D1 数据库连接失败
**可能原因**
- wrangler.toml 中的数据库配置错误
- Cloudflare Pages 中的 D1 绑定未正确配置
**解决方案**
1. 验证 `wrangler.toml` 中的 database_id 是否正确
2. 在 Cloudflare Pages Dashboard 中检查 Functions → D1 database bindings
3. 确保绑定的变量名为 `DB`
@@ -138,10 +143,12 @@ wrangler pages deploy .vercel/output/static --project-name katelyatv
### 错误:构建失败
**可能原因**
- Node.js 兼容性问题
- 依赖安装失败
**解决方案**
1. 确保启用了 `nodejs_compat` 兼容性标志
2. 检查构建命令是否正确
3. 查看构建日志中的具体错误信息
@@ -167,11 +174,13 @@ wrangler pages deploy .vercel/output/static --project-name katelyatv
当项目更新包含数据库结构变更时:
1. **备份数据**
```bash
wrangler d1 export katelyatv-db --output backup.sql
```
2. **执行迁移**
```bash
wrangler d1 execute katelyatv-db --file=D1_MIGRATION.md的SQL脚本
```
+23 -23
View File
@@ -96,30 +96,30 @@ wrangler d1 execute your-database-name --file=./scripts/d1-init.sql
### user_settings 表字段
| 字段名 | 类型 | 默认值 | 说明 |
| ----------------------- | -------- | ------- | ------------------------- |
| `id` | INTEGER | 自增 | 主键 |
| `user_id` | INTEGER | 无 | 用户ID,关联users表 |
| `username` | TEXT | 无 | 用户名 |
| `filter_adult_content` | BOOLEAN | 1(true) | 成人内容过滤开关 |
| `theme` | TEXT | 'auto' | 界面主题设置 |
| `language` | TEXT | 'zh-CN' | 语言设置 |
| `auto_play` | BOOLEAN | 1(true) | 自动播放开关 |
| `video_quality` | TEXT | 'auto' | 视频质量偏好 |
| `created_at` | DATETIME | 当前时间 | 创建时间 |
| `updated_at` | DATETIME | 当前时间 | 更新时间 |
| 字段名 | 类型 | 默认值 | 说明 |
| ---------------------- | -------- | -------- | ---------------------- |
| `id` | INTEGER | 自增 | 主键 |
| `user_id` | INTEGER | 无 | 用户 ID,关联 users 表 |
| `username` | TEXT | 无 | 用户名 |
| `filter_adult_content` | BOOLEAN | 1(true) | 成人内容过滤开关 |
| `theme` | TEXT | 'auto' | 界面主题设置 |
| `language` | TEXT | 'zh-CN' | 语言设置 |
| `auto_play` | BOOLEAN | 1(true) | 自动播放开关 |
| `video_quality` | TEXT | 'auto' | 视频质量偏好 |
| `created_at` | DATETIME | 当前时间 | 创建时间 |
| `updated_at` | DATETIME | 当前时间 | 更新时间 |
### skip_configs 表字段
| 字段名 | 类型 | 默认值 | 说明 |
| ------------- | -------- | -------- | ------------------------- |
| `id` | INTEGER | 自增 | 主键 |
| `user_id` | INTEGER | 无 | 用户ID,关联users |
| `config_key` | TEXT | 无 | 配置键,格式:`source+video_id` |
| `start_time` | INTEGER | 0 | 跳过开始时间(秒) |
| `end_time` | INTEGER | 0 | 跳过结束时间(秒) |
| `created_at` | DATETIME | 当前时间 | 创建时间 |
| `updated_at` | DATETIME | 当前时间 | 更新时间 |
| 字段名 | 类型 | 默认值 | 说明 |
| ------------ | -------- | -------- | ------------------------------- |
| `id` | INTEGER | 自增 | 主键 |
| `user_id` | INTEGER | 无 | 用户 ID,关联 users |
| `config_key` | TEXT | 无 | 配置键,格式:`source+video_id` |
| `start_time` | INTEGER | 0 | 跳过开始时间(秒) |
| `end_time` | INTEGER | 0 | 跳过结束时间(秒) |
| `created_at` | DATETIME | 当前时间 | 创建时间 |
| `updated_at` | DATETIME | 当前时间 | 更新时间 |
## ✅ 迁移验证
@@ -144,7 +144,7 @@ PRAGMA table_info(skip_configs);
### 1. "获取用户设置失败" 错误
**原因**:缺少 `user_settings`
**解决**:执行上述迁移SQL,确保user_settings表已创建
**解决**:执行上述迁移 SQL,确保 user_settings 表已创建
### 2. "表已存在" 错误
@@ -153,7 +153,7 @@ PRAGMA table_info(skip_configs);
### 3. 外键约束错误
**原因**users表不存在或结构不匹配
**原因**users 表不存在或结构不匹配
**解决**:确保先运行完整的 `./scripts/d1-init.sql` 初始化脚本
## 📞 需要帮助?
+10 -6
View File
@@ -600,27 +600,30 @@ docker run -d \
成人内容过滤功能需要服务器端存储支持,**不能使用 `localstorage` 存储类型**。
| 部署平台 | 推荐存储类型 | 配置要求 |
| -------------- | ------------ | ---------------------- |
| Docker | `redis` / `kvrocks` | 配置 Redis/Kvrocks 服务器 |
| Vercel | `upstash` | 配置 Upstash Redis |
| Cloudflare Pages | `d1` | 配置 D1 数据库 |
| 部署平台 | 推荐存储类型 | 配置要求 |
| ---------------- | ------------------- | ------------------------- |
| Docker | `redis` / `kvrocks` | 配置 Redis/Kvrocks 服务器 |
| Vercel | `upstash` | 配置 Upstash Redis |
| Cloudflare Pages | `d1` | 配置 D1 数据库 |
**Cloudflare Pages 特殊配置**
如果你使用 Cloudflare Pages 部署,**必须配置 D1 数据库**才能使用成人内容过滤功能:
1. **创建 D1 数据库**
```bash
wrangler d1 create katelyatv-db
```
2. **初始化数据库表**
```bash
wrangler d1 execute katelyatv-db --file=./scripts/d1-init.sql
```
3. **配置环境变量**
```bash
NEXT_PUBLIC_STORAGE_TYPE=d1
```
@@ -636,7 +639,8 @@ docker run -d \
**故障排除**
- ❌ **错误**"获取用户设置失败"
- **原因**:使用了 `localstorage` 存储类型,服务器端API无法访问
- **原因**:使用了 `localstorage` 存储类型,服务器端 API 无法访问
- **解决**:按上述要求配置数据库存储
- ❌ **错误**:过滤开关无法保存