Files
meijiaka-zy/python-api/app/schemas/auth.py
T

37 lines
966 B
Python

"""
认证相关 Schema
===============
"""
from pydantic import BaseModel, Field
class MobileLoginRequest(BaseModel):
"""手机号登录请求"""
mobile: str = Field(..., description="手机号", min_length=11, max_length=20)
nickname: str | None = Field(None, description="用户昵称", max_length=64)
class UserInfo(BaseModel):
"""用户信息"""
id: str = Field(..., description="用户 ID")
nickname: str = Field(..., description="用户昵称")
avatar: str = Field(default="", description="头像 URL")
class LoginResponse(BaseModel):
"""登录响应"""
token: str = Field(..., description="JWT 访问令牌")
user: UserInfo = Field(..., description="用户信息")
class TokenPayload(BaseModel):
"""Token 载荷"""
sub: str | None = Field(None, description="用户 ID")
mobile: str | None = Field(None, description="手机号")
exp: int | None = Field(None, description="过期时间戳")