Sync temporary service reference docs

This commit is contained in:
2026-04-21 18:59:05 +08:00
parent 3a4f2f6652
commit 9c57faa16c
4 changed files with 102 additions and 7 deletions

View File

@@ -289,9 +289,38 @@ curl -X POST "https://brisk.lightyears.ltd/api/archives/slot/1/upload" \
- `content_size_bytes` - `content_size_bytes`
- `content_checksum` - `content_checksum`
- `like_count` - `like_count`
- `today_like_count`
- `liked_by_me`
- `like_reset_at`
- `visit_count` - `visit_count`
- `updated_at` - `updated_at`
点赞接口说明:
- 点赞按 `Asia/Shanghai` 自然日分周期
- 同一玩家对同一空间同一天重复点赞时:
- 接口仍返回成功
- `created=false`
- `like_count``today_like_count` 不会继续增加
- `DELETE /like` 只会撤销当前周期内的那一次点赞
- 支持给自己的空间点赞
点赞列表说明:
- `GET /api/spaces/{player_id}/likes`
- `GET /api/spaces/by-login/likes`
- 支持可选查询参数 `scope`
- `history`:历史点赞记录,默认值
- `cycle`:当前周期内的点赞记录
- `limit` 最大返回 `100`
最近访问列表说明:
- `GET /api/spaces/me/visits`
- 支持可选查询参数 `limit`
- 默认返回 `50`
- 单次最大返回 `100`
上传表单字段: 上传表单字段:
- `base_version`:用于乐观锁;首次上传可传 `0` - `base_version`:用于乐观锁;首次上传可传 `0`
@@ -332,6 +361,26 @@ curl -X POST "https://brisk.lightyears.ltd/api/spaces/by-login/like?login_provid
-H "Authorization: Bearer <token>" -H "Authorization: Bearer <token>"
``` ```
按第三方身份查询当前周期点赞列表示例:
```bash
curl "https://brisk.lightyears.ltd/api/spaces/by-login/likes?login_provider=tap&login_user_id=tap_user_10001&scope=cycle&limit=20" \
-H "Authorization: Bearer <token>"
```
点赞返回示例:
```json
{
"liked": true,
"created": true,
"liked_by_me": true,
"like_count": 128,
"today_like_count": 17,
"like_reset_at": "2026-04-22T00:00:00+08:00"
}
```
## 10. 后台项目与配置 ## 10. 后台项目与配置
### 10.1 项目 ### 10.1 项目

View File

@@ -217,6 +217,7 @@
| `70040` | `spaces/{player_id}/likes` | 缺少空间目标参数 | | `70040` | `spaces/{player_id}/likes` | 缺少空间目标参数 |
| `70041` | `spaces/{player_id}/likes` | 玩家不存在 | | `70041` | `spaces/{player_id}/likes` | 玩家不存在 |
| `70042` | `spaces/{player_id}/likes` | 点赞列表查询失败 | | `70042` | `spaces/{player_id}/likes` | 点赞列表查询失败 |
| `70043` | `spaces/{player_id}/likes` | 点赞列表 scope 参数非法 |
| 错误码 | 接口/模块 | 含义 | | 错误码 | 接口/模块 | 含义 |
|---|---|---| |---|---|---|

View File

@@ -76,6 +76,9 @@ docker compose up --build
- 主信息接口返回空间元数据 - 主信息接口返回空间元数据
- 自定义空间内容通过独立二进制接口上传/下载 - 自定义空间内容通过独立二进制接口上传/下载
- 支持任意 bytes兼容二进制、文本、JSON、protobuf、msgpack 等格式 - 支持任意 bytes兼容二进制、文本、JSON、protobuf、msgpack 等格式
- 空间点赞按 `Asia/Shanghai` 自然日计周期,同一玩家对同一空间每天最多记一次点赞
- 空间点赞相关接口返回累计点赞数 `like_count`、当日点赞数 `today_like_count`、当日是否已点赞 `liked_by_me`
- 最近访问列表支持可选 `limit` 参数,默认 `50` 条,最大 `100`
## 测试脚本 ## 测试脚本
@@ -84,6 +87,7 @@ Windows PowerShell
```powershell ```powershell
.\scripts\smoke-test.ps1 .\scripts\smoke-test.ps1
.\scripts\acceptance.ps1 -Tasks all -ManageStack .\scripts\acceptance.ps1 -Tasks all -ManageStack
.\\scripts\\acceptance.ps1 -Tasks space -ManageStack
``` ```
## 迁移 ## 迁移
@@ -93,6 +97,7 @@ Windows PowerShell
- [0001_init.sql](/F:/OtherWork/BriskGameSerivce/internal/platform/db/migrations/0001_init.sql) - [0001_init.sql](/F:/OtherWork/BriskGameSerivce/internal/platform/db/migrations/0001_init.sql)
- [0008_identity_and_config_simplification.sql](/F:/OtherWork/BriskGameSerivce/internal/platform/db/migrations/0008_identity_and_config_simplification.sql) - [0008_identity_and_config_simplification.sql](/F:/OtherWork/BriskGameSerivce/internal/platform/db/migrations/0008_identity_and_config_simplification.sql)
- [0009_space_binary_content.sql](/F:/OtherWork/BriskGameSerivce/internal/platform/db/migrations/0009_space_binary_content.sql) - [0009_space_binary_content.sql](/F:/OtherWork/BriskGameSerivce/internal/platform/db/migrations/0009_space_binary_content.sql)
- [0010_space_like_daily_cycle.sql](/F:/OtherWork/BriskGameSerivce/internal/platform/db/migrations/0010_space_like_daily_cycle.sql)
服务启动时会自动执行未应用迁移。 服务启动时会自动执行未应用迁移。

View File

@@ -413,11 +413,17 @@ components:
like_count: like_count:
type: integer type: integer
format: int64 format: int64
today_like_count:
type: integer
format: int64
visit_count: visit_count:
type: integer type: integer
format: int64 format: int64
liked_by_me: liked_by_me:
type: boolean type: boolean
like_reset_at:
type: string
format: date-time
updated_at: updated_at:
type: string type: string
format: date-time format: date-time
@@ -452,9 +458,15 @@ components:
like_count: like_count:
type: integer type: integer
format: int64 format: int64
today_like_count:
type: integer
format: int64
visit_count: visit_count:
type: integer type: integer
format: int64 format: int64
like_reset_at:
type: string
format: date-time
updated_at: updated_at:
type: string type: string
format: date-time format: date-time
@@ -482,9 +494,19 @@ components:
properties: properties:
liked: liked:
type: boolean type: boolean
created:
type: boolean
liked_by_me:
type: boolean
like_count: like_count:
type: integer type: integer
format: int64 format: int64
today_like_count:
type: integer
format: int64
like_reset_at:
type: string
format: date-time
SpaceVisitItem: SpaceVisitItem:
type: object type: object
properties: properties:
@@ -509,6 +531,13 @@ components:
created_at: created_at:
type: string type: string
format: date-time format: date-time
SpaceLikeListResponse:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SpaceLikeItem'
paths: paths:
/client/time: /client/time:
get: get:
@@ -915,15 +944,20 @@ paths:
- in: query - in: query
name: limit name: limit
schema: { type: integer } schema: { type: integer }
- in: query
name: scope
schema:
type: string
enum: [history, cycle]
default: history
description: Whether to list historical likes or only likes from the current daily cycle.
responses: responses:
'200': '200':
description: Space likes description: Space likes
content: content:
application/json: application/json:
schema: schema:
type: array $ref: '#/components/schemas/SpaceLikeListResponse'
items:
$ref: '#/components/schemas/SpaceLikeItem'
/spaces/me/content: /spaces/me/content:
put: put:
tags: [spaces] tags: [spaces]
@@ -1079,15 +1113,20 @@ paths:
- in: query - in: query
name: limit name: limit
schema: { type: integer } schema: { type: integer }
- in: query
name: scope
schema:
type: string
enum: [history, cycle]
default: history
description: Whether to list historical likes or only likes from the current daily cycle.
responses: responses:
'200': '200':
description: Space likes description: Space likes
content: content:
application/json: application/json:
schema: schema:
type: array $ref: '#/components/schemas/SpaceLikeListResponse'
items:
$ref: '#/components/schemas/SpaceLikeItem'
/spaces/by-login/like: /spaces/by-login/like:
post: post:
tags: [spaces] tags: [spaces]
@@ -1139,7 +1178,8 @@ paths:
parameters: parameters:
- in: query - in: query
name: limit name: limit
schema: { type: integer } schema: { type: integer, default: 50 }
description: Optional page size. Defaults to 50 and is capped at 100.
responses: responses:
'200': '200':
description: Visitor list description: Visitor list