Files
2026-06-26 15:38:40 +08:00

38 lines
1.1 KiB
Python

from pydantic import BaseModel, Field
from app.enums.sms import SmsScene
class SmsSendRequest(BaseModel):
phone: str = Field(..., pattern=r"^1[3-9]\d{9}$", description="手机号")
scene: SmsScene = Field(
...,
description=(
"短信场景:"
"register=注册,"
"login=短信登录,"
"common=通用场景,"
"set_password=设置密码"
),
)
captcha_token: str | None = Field(None, description="图形验证码令牌,正式环境按配置要求传入")
class SmsVerifyRequest(BaseModel):
phone: str = Field(..., pattern=r"^1[3-9]\d{9}$", description="手机号")
scene: SmsScene = Field(
...,
description=(
"短信场景:"
"register=注册,"
"login=短信登录,"
"common=通用场景,"
"set_password=设置密码"
),
)
code: str = Field(..., min_length=4, max_length=8, description="验证码")
class SmsResponse(BaseModel):
message: str
success: bool