Add word-book practice, iOS app shell, and fix embedded WebView blank screen.

Ship dual-track learning (daily accumulation vs textbook),沪教/商务词书 APIs and UI, native iOS wrapper with bundled H5, and production book import on deploy.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
john
2026-06-06 21:09:27 +08:00
parent 2fae90b597
commit e76fa586f1
76 changed files with 47488 additions and 445 deletions
+4 -2
View File
@@ -34,18 +34,20 @@ def create_word(
@router.get("", response_model=list[WordOut])
def list_words(
status: Optional[str] = None,
book_id: Optional[int] = None,
db: Session = Depends(get_db),
current_user: User = Depends(get_current_user),
):
return word_service.list_words(db, current_user, status)
return word_service.list_words(db, current_user, status, book_id=book_id)
@router.get("/memory-viz", response_model=MemoryVisualizationResponse)
def memory_visualization(
book_id: int = 0,
db: Session = Depends(get_db),
current_user: User = Depends(get_current_user),
):
return memory_visual_service.get_visualization(db, current_user)
return memory_visual_service.get_visualization(db, current_user, book_id=book_id)
@router.get("/{word_id}/memory", response_model=WordMemoryDetailResponse)