user.py 756 B

123456789101112131415161718192021222324
  1. """
  2. user -
  3. auther: tanlie
  4. date: 2026/8/30
  5. """
  6. from pydantic import BaseModel, Field, field_validator
  7. class UserLoginReq(BaseModel):
  8. """
  9. 用户登录请求参数
  10. """
  11. mobile: str = Field(description="手机号", pattern="^(?:\\?86)?1[3-9]\\d{9}$")
  12. code: str = Field(description="验证码")
  13. captcha: str = Field(description="图形验证码")
  14. captchaKey: str = Field(description="验证码Key")
  15. loginType: int = Field(default=None, description="登录类型,1:手机号验证码登录,2:手机号密码登录", ge=1, le=10)
  16. @field_validator("code")
  17. @classmethod
  18. def validate_code(cls, value):
  19. if len(value) != 6:
  20. raise ValueError("验证码必须是6个字符")
  21. return value