Initial commit - DesignerCEP Project with Caddy deployment
This commit is contained in:
60
Server/app/schemas/auth.py
Normal file
60
Server/app/schemas/auth.py
Normal file
@@ -0,0 +1,60 @@
|
||||
from pydantic import BaseModel
|
||||
|
||||
class UserLogin(BaseModel):
|
||||
# 登录请求模型
|
||||
username: str
|
||||
password: str
|
||||
device_id: str # 设备标识,用于限制单设备登录
|
||||
|
||||
class UserRegister(BaseModel):
|
||||
# 注册请求模型
|
||||
username: str
|
||||
password: str
|
||||
confirm_password: str
|
||||
email: str | None = None # Optional for backward compatibility, but required for verification
|
||||
code: str | None = None # 新增:验证码
|
||||
device_id: str = "unknown_device" # 兼容旧前端,设为默认值,建议前端传入
|
||||
|
||||
class SendVerificationCodeRequest(BaseModel):
|
||||
email: str
|
||||
|
||||
class VerifyEmailRequest(BaseModel):
|
||||
username: str
|
||||
code: str
|
||||
|
||||
class ForgotPasswordRequest(BaseModel):
|
||||
email: str
|
||||
|
||||
class ResetPasswordRequest(BaseModel):
|
||||
email: str # 新增:必须传 email 配合验证码
|
||||
token: str # 这里是 6 位数字验证码
|
||||
new_password: str
|
||||
confirm_password: str
|
||||
|
||||
class Token(BaseModel):
|
||||
# 登录/注册成功返回的令牌模型
|
||||
access_token: str
|
||||
token_type: str
|
||||
username: str
|
||||
|
||||
class UserLogout(BaseModel):
|
||||
# 登出请求模型
|
||||
username: str
|
||||
device_id: str
|
||||
|
||||
class UserHeartbeat(BaseModel):
|
||||
# 心跳请求模型(更新最近在线时间)
|
||||
username: str
|
||||
device_id: str
|
||||
|
||||
class VerifyRequest(BaseModel):
|
||||
"""验证请求模型"""
|
||||
username: str
|
||||
device_id: str
|
||||
timestamp: int
|
||||
|
||||
class VerifyResponse(BaseModel):
|
||||
"""验证响应模型"""
|
||||
valid: bool
|
||||
username: str | None = None
|
||||
expire_date: str | None = None
|
||||
Reference in New Issue
Block a user