Release v0.2.0 archive and space API update

This commit is contained in:
2026-04-11 01:56:47 +08:00
parent e07a9086b1
commit 07fc690e67
42 changed files with 3391 additions and 1316 deletions

View File

@@ -234,25 +234,66 @@ curl -X POST "https://brisk.lightyears.ltd/api/archives/slot/1/upload" \
说明:
- 空间数据当前为 `payload_json`
- 适合公开资料、展示文案、轻量个性化内容
- 如果是游戏主存档,请优先走云存档模块
- 空间主信息接口只返回元数据,不再内嵌内容本体
- 空间内容本体通过独立 `/content` 接口上传和下载
- 空间内容支持任意 bytes
- 可以上传二进制、文本、JSON、protobuf、msgpack、压缩包等格式
- 如果是多槽位私有主存档,仍优先走云存档模块;如果是空间自定义内容,可直接走空间内容接口
接口:
- `PUT /api/spaces/me`
- `PUT /api/spaces/me/content`
- `GET /api/spaces/{player_id}`
- `GET /api/spaces/{player_id}/content`
- `GET /api/spaces/{player_id}/stats`
- `GET /api/spaces/{player_id}/likes`
- `POST /api/spaces/{player_id}/like`
- `DELETE /api/spaces/{player_id}/like`
- `GET /api/spaces/me/visits`
- `GET /api/spaces/by-login`
- `GET /api/spaces/by-login/content`
- `GET /api/spaces/by-login/stats`
- `GET /api/spaces/by-login/likes`
- `POST /api/spaces/by-login/like`
- `DELETE /api/spaces/by-login/like`
主信息接口返回重点:
- `content_exists`
- `content_version`
- `content_type`
- `content_size_bytes`
- `content_checksum`
- `like_count`
- `visit_count`
- `updated_at`
上传表单字段:
- `base_version`:用于乐观锁;首次上传可传 `0`
- `content_type`:可选,建议传,例如 `application/octet-stream``text/plain``application/json`
- `checksum`:可选;如果传入,服务端会校验 SHA-256
- `file`:必传,内容本体
上传空间内容示例:
```bash
curl -X PUT "https://brisk.lightyears.ltd/api/spaces/me/content" \
-H "Authorization: Bearer <token>" \
-F "base_version=0" \
-F "content_type=application/octet-stream" \
-F "checksum=<sha256>" \
-F "file=@space-content.bin"
```
下载空间内容示例:
```bash
curl "https://brisk.lightyears.ltd/api/spaces/by-login/content?login_provider=tap&login_user_id=tap_user_10001" \
-H "Authorization: Bearer <token>" \
--output space-content.bin
```
按第三方身份查看空间示例:
```bash
@@ -312,6 +353,24 @@ curl -X POST "https://brisk.lightyears.ltd/api/spaces/by-login/like?login_provid
- `login_provider`
- `login_user_id`
### 10.5 空间管理
- `GET /api/admin/spaces/overview?project_id=...`
- `GET /api/admin/spaces?project_id=...`
- `GET /api/admin/spaces/{player_id}?project_id=...`
- `GET /api/admin/spaces/{player_id}/content?project_id=...`
- `GET /api/admin/spaces/{player_id}/likes?project_id=...`
- `GET /api/admin/spaces/{player_id}/visits?project_id=...`
说明:
- 后台空间详情返回内容元数据
- 如果需要查看空间内容本体,使用独立 `/content` 下载接口
- 下载响应会返回:
- `Content-Type`
- `X-Space-Version`
- `X-Space-Checksum`
## 11. OpenAPI
完整 OpenAPI 导出: