stock-ai-agent/backend/app/models/auth.py
2026-02-04 11:18:19 +08:00

47 lines
1.0 KiB
Python

"""
认证相关的Pydantic模型
"""
from pydantic import BaseModel, Field
from typing import Optional
from datetime import datetime
class SendCodeRequest(BaseModel):
"""发送验证码请求"""
phone: str = Field(..., min_length=11, max_length=11, description="手机号")
class SendCodeResponse(BaseModel):
"""发送验证码响应"""
success: bool
message: str
expires_in: Optional[int] = None
class LoginRequest(BaseModel):
"""登录请求"""
phone: str = Field(..., min_length=11, max_length=11, description="手机号")
code: str = Field(..., min_length=6, max_length=6, description="验证码")
class UserInfo(BaseModel):
"""用户信息"""
id: int
phone: str
created_at: datetime
last_login_at: Optional[datetime] = None
class LoginResponse(BaseModel):
"""登录响应"""
success: bool
token: Optional[str] = None
user: Optional[UserInfo] = None
message: Optional[str] = None
class RefreshTokenResponse(BaseModel):
"""刷新Token响应"""
success: bool
token: str