Files
dpb/backend/app/api/v1/module_system/auth/schema.py
T

35 lines
1.1 KiB
Python
Raw Normal View History

from typing import Any
from pydantic import BaseModel, ConfigDict, Field
from app.core.base_schema import JWTOutSchema
class CaptchaOutSchema(BaseModel):
"""验证码响应模型"""
model_config = ConfigDict(from_attributes=True)
enable: bool = Field(default=True, description="是否启用验证码")
key: str = Field(default="", description="验证码唯一标识(未启用时为空字符串)")
img_base: str = Field(default="", description="Base64编码的验证码图片(滑块模式为空字符串)")
class LoginOutSchema(JWTOutSchema):
"""登录响应"""
user_info: dict[str, Any] = Field(default_factory=dict, description="用户信息")
class SliderCompleteSchema(BaseModel):
"""滑块验证完成请求"""
captcha_key: str = Field(..., min_length=1, description="验证码唯一标识")
class SliderCompleteOutSchema(BaseModel):
"""滑块验证完成响应"""
captcha_key: str = Field(..., description="验证码唯一标识")
verified: bool = Field(default=True, description="是否验证通过")