feat/ internal eval平台现支持实机联调。 1. 显示当前本地数据库里登录用户的历史聊天,已生成的回忆录。支持在网页直接对话,不依赖手机app。
This commit is contained in:
@@ -5,6 +5,7 @@ from fastapi import APIRouter, Depends, File, HTTPException, UploadFile, status
|
||||
from fastapi.responses import FileResponse
|
||||
from PIL import Image
|
||||
|
||||
from app.core.config import settings
|
||||
from app.core.dependencies import get_current_user
|
||||
from app.core.logging import get_logger
|
||||
from app.features.auth.deps import get_auth_service
|
||||
@@ -12,6 +13,7 @@ from app.features.auth.schemas import (
|
||||
ChangePasswordRequest,
|
||||
ChangePhoneRequest,
|
||||
LoginRequest,
|
||||
MockSmsLoginRequest,
|
||||
RefreshTokenRequest,
|
||||
RegisterRequest,
|
||||
ResetPasswordRequest,
|
||||
@@ -73,6 +75,13 @@ def _check_terms(agreed: bool) -> None:
|
||||
)
|
||||
|
||||
|
||||
def _mock_sms_login_route_enabled() -> bool:
|
||||
env = (settings.app_environment or "").lower().strip()
|
||||
if env == "production":
|
||||
return False
|
||||
return bool(settings.mock_sms_login_enabled)
|
||||
|
||||
|
||||
# ── registration & login ─────────────────────────────────────
|
||||
|
||||
|
||||
@@ -410,6 +419,36 @@ async def login_with_sms(
|
||||
)
|
||||
|
||||
|
||||
@router.post(
|
||||
"/mock/sms-login",
|
||||
response_model=TokenResponse,
|
||||
summary="[评测] Mock 短信登录(跳过验证码)",
|
||||
description=(
|
||||
"需 MOCK_SMS_LOGIN_ENABLED=1 且 APP_ENV 非 production。"
|
||||
"供 Eval Web 等内网工具联调,勿在生产环境开启。"
|
||||
),
|
||||
responses={404: {"description": "未启用或生产环境已禁用"}},
|
||||
)
|
||||
async def mock_sms_login_route(
|
||||
request: MockSmsLoginRequest,
|
||||
service: AuthService = Depends(get_auth_service),
|
||||
):
|
||||
if not _mock_sms_login_route_enabled():
|
||||
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Not Found")
|
||||
_check_terms(request.agreed_to_terms)
|
||||
try:
|
||||
result = await service.mock_sms_login(
|
||||
phone=request.phone,
|
||||
nickname=request.nickname,
|
||||
)
|
||||
except AuthError as e:
|
||||
raise _map_auth_error(e)
|
||||
return TokenResponse(
|
||||
access_token=result["access_token"],
|
||||
refresh_token=result["refresh_token"],
|
||||
)
|
||||
|
||||
|
||||
@router.post(
|
||||
"/register/sms",
|
||||
response_model=TokenResponse,
|
||||
|
||||
Reference in New Issue
Block a user