火山引擎SMS API|celery容灾优化|生成模型引擎积分列表API

This commit is contained in:
2026-06-04 16:28:59 +08:00
parent 450e509b1a
commit 8d43d5871c
25 changed files with 1936 additions and 302 deletions
+19 -10
View File
@@ -1,22 +1,31 @@
from pydantic import BaseModel
from pydantic import BaseModel, Field
class LoginRequest(BaseModel):
username: str
password: str
captcha_token: str | None = None
remember_me: bool = False
username: str = Field(..., description="用户名或手机号")
password: str = Field(..., description="登录密码")
captcha_token: str | None = Field(None, description="图形验证码令牌,按现有配置需要时传入")
remember_me: bool = Field(False, description="是否记住登录")
class SmsLoginRequest(BaseModel):
phone: str = Field(..., pattern=r"^1[3-9]\d{9}$", description="手机号")
code: str = Field(..., min_length=4, max_length=8, description="短信验证码")
remember_me: bool = Field(False, description="是否记住登录")
class RegisterRequest(BaseModel):
phone: str
code: str
password: str
phone: str = Field(..., pattern=r"^1[3-9]\d{9}$", description="手机号,注册成功后 username 默认等于手机号")
code: str = Field(..., min_length=4, max_length=8, description="注册短信验证码")
class SetPasswordRequest(BaseModel):
new_password: str = Field(..., min_length=6, description="新密码,至少6位")
class ChangePasswordRequest(BaseModel):
old_password: str
new_password: str
old_password: str = Field(..., description="旧密码")
new_password: str = Field(..., min_length=6, description="新密码,至少6位")
class TokenResponse(BaseModel):
+11 -1
View File
@@ -1,13 +1,23 @@
from enum import Enum
from pydantic import BaseModel, Field
class SmsScene(str, Enum):
register = "register"
login = "login"
set_password = "set_password"
class SmsSendRequest(BaseModel):
phone: str = Field(..., pattern=r"^1[3-9]\d{9}$", description="手机号")
captcha_token: str | None = None
scene: SmsScene = Field(..., description="短信场景:register=注册,login=短信登录,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="短信场景")
code: str = Field(..., min_length=4, max_length=8, description="验证码")
+2
View File
@@ -5,10 +5,12 @@ class UserOut(BaseModel):
id: str
username: str
email: str | None = None
phone: str | None = None
avatar: str | None = None
credits: float
is_admin: bool = False
user_type: str = "frontend"
allowed_menus: list | None = None
must_set_password: bool = False
model_config = {"from_attributes": True}