Initial commit: WordLoop 单词学习应用

Vue 前端 + FastAPI 后端,含部署脚本与词典数据。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
John
2026-06-04 14:30:53 -07:00
commit bd7635986a
66 changed files with 5495 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session
from auth import get_current_user
from database import get_db
from models import User
from schemas import (
DailyQuizResponse,
QuizAnswerRequest,
QuizAnswerResponse,
QuizStatsResponse,
)
from services.quiz_service import quiz_service
router = APIRouter(prefix="/api/quiz", tags=["quiz"])
@router.get("/daily", response_model=DailyQuizResponse)
def daily_quiz(
db: Session = Depends(get_db),
current_user: User = Depends(get_current_user),
):
result = quiz_service.get_daily_quiz(db, current_user)
return DailyQuizResponse(**result)
@router.post("/answer", response_model=QuizAnswerResponse)
def submit_answer(
data: QuizAnswerRequest,
db: Session = Depends(get_db),
current_user: User = Depends(get_current_user),
):
result = quiz_service.submit_answer(
db,
current_user,
data.word_id,
data.question_type,
data.user_answer,
data.correct_answer,
)
return QuizAnswerResponse(**result)
@router.get("/stats", response_model=QuizStatsResponse)
def quiz_stats(
db: Session = Depends(get_db),
current_user: User = Depends(get_current_user),
):
return quiz_service.get_stats(db, current_user)