38 lines
1.1 KiB
Python
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 |