gamification.py 682 B

12345678910111213141516171819202122
  1. """
  2. 游戏化API路由 - XP、等级、徽章
  3. """
  4. from fastapi import APIRouter, Query
  5. from ...services.gamification_service import get_gamification_service
  6. router = APIRouter(prefix="/api/gamification", tags=["gamification"])
  7. @router.get("/profile")
  8. async def get_gamification_profile(user_id: str = Query("default")):
  9. """获取用户游戏化档案"""
  10. service = get_gamification_service()
  11. profile = service.get_profile(user_id)
  12. return profile
  13. @router.get("/badges")
  14. async def get_badge_definitions():
  15. """获取所有徽章定义"""
  16. from ...services.gamification_service import BADGE_DEFINITIONS
  17. return {"badges": list(BADGE_DEFINITIONS.values())}