Files
fquiz/api
chengkai3 ee1fa9b725 feat: [FL-88] 把ATP上传版本ZIP包动作变成异步
后端已使用 Celery 异步处理上传任务,前端需对接异步响应。

**主要改动:**

1. 前端处理异步上传响应
   - 修改 saveReleaseMutation 识别后端返回的 {task_id, status} 响应
   - 异步上传时显示"正在后台处理"提示,不阻塞用户操作
   - 保留编辑版本的同步更新逻辑

2. 订阅 WebSocket 主题自动刷新
   - 添加 useTopicSubscription 订阅 "admin.atp-assets" 主题
   - 任务完成后自动刷新页面数据,无需手动刷新

3. 后端主题注册
   - 在 topic_registry.py 添加 "admin.atp-assets" 主题
   - 允许有 atp 权限的用户订阅该主题

**测试结果:**
-  前端类型正确处理异步和同步响应
-  WebSocket 主题订阅正确配置
-  后端主题已注册并配置权限

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-12 18:52:20 +08:00
..
2026-04-24 15:50:52 +08:00

API Service

FastAPI 后端服务,包含用户认证和 RBAC 权限控制。

核心能力

  • JWT Access Token(默认 8 小时)
  • Refresh SessionHttpOnly Cookie,默认 30 天,刷新轮换)
  • RBAC(用户-角色-权限)
  • 用户管理接口(需 user.manage

本地开发

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r api/requirements.txt
python -m uvicorn api.app.main:app --reload --host 0.0.0.0 --port 8000

主要接口

  • GET /health
  • GET /api/v1/ping
  • POST /api/v1/auth/register
  • POST /api/v1/auth/login
  • POST /api/v1/auth/refresh
  • POST /api/v1/auth/logout
  • GET /api/v1/auth/me
  • GET /api/v1/users