feat: 完善周期报告与用户行为分析

- 支持可配置周报月报模板与登录后异步补生成\n- 增加用户行为埋点和后台分析页面\n- 移除主题额度并保留实修回顾结算\n- 修复历史会话续聊上下文丢失
This commit is contained in:
2026-08-19 11:53:34 +08:00
parent 833763c461
commit efe835be81
75 changed files with 3325 additions and 578 deletions

View File

@@ -10,6 +10,7 @@ from app.schemas.auth import CaptchaResponse, LoginRequest, LoginResponse, SendS
from app.schemas.sso import SsoExchangeRequest
from app.services.auth_service import AuthService
from app.services.captcha_service import CaptchaService
from app.services.periodic_report_lazy_service import PeriodicReportLazyService
from app.services.security_state_service import client_ip
from app.services.sso_service import SsoService
@@ -30,12 +31,14 @@ def send_sms(payload: SendSmsRequest, request: Request, db: Session = Depends(ge
@router.post("/login")
def login(payload: LoginRequest, db: Session = Depends(get_db)) -> dict:
result = AuthService.login_with_sms(db, payload.phone, payload.code)
PeriodicReportLazyService.check_after_authentication(db, user=result["user"])
return api_success(LoginResponse.model_validate(result).model_dump(mode="json"))
@router.post("/sso/exchange")
def exchange_sso(payload: SsoExchangeRequest, request: Request, db: Session = Depends(get_db)) -> dict:
result = SsoService.exchange(db, code=payload.code, ip=client_ip(request))
PeriodicReportLazyService.check_after_authentication(db, user=result["user"])
return api_success(LoginResponse.model_validate(result).model_dump(mode="json"))