Files
video-gen/video-gen-api/app/schemas/sms.py
T
2026-06-15 17:43:04 +08:00

45 lines
1.2 KiB
Python

from enum import Enum
from pydantic import BaseModel, Field
class SmsScene(str, Enum):
register = "register"
login = "login"
common = "common"
set_password = "set_password"
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