This commit is contained in:
eric
2026-03-15 04:26:05 -05:00
parent fcf990c133
commit 18d098f5f8
34 changed files with 1300 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
# 私密社群 PocketBase 集合 schema
在 PocketBase 管理后台创建集合 `community_memos`,字段如下:
| 字段名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| user_id | Text | ✓ | 发布者 user_idPocketBase 用户 ID 或匿名 user123456 |
| content | Text | ✓ | 动态内容,支持 Markdown、#标签、图片 `![](url)` |
| pinned | Bool | | 是否置顶,默认 false |
| visibility | Text | | 可见性PRIVATE/PROTECTED/PUBLIC默认 PRIVATE |
| state | Text | | 状态NORMAL/ARCHIVED默认 NORMAL |
- 集合名:`community_memos`
- 列表/查看权限:仅服务端 admin 操作,前端通过 payjsapi `/community/memos` 接口访问
- 创建/更新/删除:仅 VIP 用户,由 payjsapi 校验
创建步骤:
1. 登录 PocketBase 管理后台
2. Collections → New collection → 名称 `community_memos`
3. 添加字段user_id (Text), content (Editor 或 Text), pinned (Bool)
4. 保存

45
docs/COMMUNITY_SQLITE.md Normal file
View File

@@ -0,0 +1,45 @@
# 社群模块 SQLite 存储
默认使用 SQLite无需 PocketBase、MinIO 等外部依赖。图片上传保存到本地目录。
## 配置
| 环境变量 | 说明 | 默认 |
|----------|------|------|
| COMMUNITY_STORAGE | `sqlite` \| `pocketbase` | `sqlite` |
| COMMUNITY_DATA_DIR | 数据目录(含 db、uploads | `./data` |
| BASE_URL | 用于拼接图片 URL | 见主配置 |
## 文件结构
```
data/
├── community.db # SQLite 数据库
└── community_uploads/ # 上传图片
└── 1731234567_abc123.jpg
```
## 表结构community_memos
| 字段 | 类型 | 说明 |
|------|------|------|
| id | TEXT | 主键 |
| user_id | TEXT | 发布者 |
| content | TEXT | 内容 |
| pinned | INTEGER | 置顶 0/1 |
| visibility | TEXT | PRIVATE/PROTECTED/PUBLIC |
| state | TEXT | NORMAL/ARCHIVED |
| created | TEXT | ISO 时间 |
| updated | TEXT | ISO 时间 |
## 启动时自动建表
`app/services/community.py` 加载时自动执行 `init_schema()`,无需手动迁移。
## 切换 PocketBase
```bash
COMMUNITY_STORAGE=pocketbase
```
需配置 PocketBase 和 MinIO图片上传