Ship native iOS app, Wiki/TTS backend, and skeleton loading UX.

Replace the WebView shell with SwiftUI screens, add account-scoped Wiki and TTS APIs with adaptive review and photo scan support, and keep web/iOS pages usable while data loads asynchronously.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
john
2026-06-08 15:13:59 +08:00
parent db5465c646
commit 05e173b293
115 changed files with 12709 additions and 1212 deletions
+7
View File
@@ -75,6 +75,7 @@ class BookService:
"daily_target": row.daily_target,
"master_required_count": row.master_required_count,
"weak_wrong_threshold": row.weak_wrong_threshold,
"error_clear_correct_count": row.error_clear_correct_count,
"learn_mode": book.learn_mode,
}
@@ -89,6 +90,8 @@ class BookService:
row.master_required_count = data["master_required_count"]
if data.get("weak_wrong_threshold") is not None:
row.weak_wrong_threshold = data["weak_wrong_threshold"]
if data.get("error_clear_correct_count") is not None:
row.error_clear_correct_count = data["error_clear_correct_count"]
db.commit()
db.refresh(row)
return self.practice_settings_dict(db, user, book)
@@ -163,6 +166,9 @@ class BookService:
wrong_count=0,
consecutive_correct_count=0,
mastery_score=0,
difficulty=5.0,
stability_hours=24.0,
next_review_at=now,
review_due_date=datetime.now(timezone.utc).strftime("%Y-%m-%d"),
created_at=now,
)
@@ -226,6 +232,7 @@ class BookService:
"daily_target": user_settings.daily_target,
"master_required_count": user_settings.master_required_count,
"weak_wrong_threshold": user_settings.weak_wrong_threshold,
"error_clear_correct_count": user_settings.error_clear_correct_count,
"learn_mode": "adaptive",
}