mirror of
https://github.com/Cccc-owo/CheckInApp.git
synced 2026-06-17 22:16:32 +00:00
fdc725b893
backend & frontend
50 lines
1.9 KiB
Python
50 lines
1.9 KiB
Python
from typing import Optional
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class QRCodeRequest(BaseModel):
|
|
"""请求二维码 Schema"""
|
|
alias: str = Field(..., description="用户别名")
|
|
|
|
|
|
class QRCodeResponse(BaseModel):
|
|
"""二维码响应 Schema"""
|
|
session_id: str = Field(..., description="会话 ID")
|
|
qrcode_image: str = Field(..., description="二维码 Base64 图片")
|
|
|
|
|
|
class QRCodeStatusResponse(BaseModel):
|
|
"""二维码状态响应 Schema"""
|
|
status: str = Field(..., description="状态: pending/waiting_scan/success/error")
|
|
message: Optional[str] = Field(None, description="状态消息")
|
|
user_id: Optional[int] = Field(None, description="用户 ID (扫码成功时返回)")
|
|
authorization: Optional[str] = Field(None, description="Token (扫码成功时返回)")
|
|
qrcode_image: Optional[str] = Field(None, description="二维码 Base64 图片(等待扫描时返回)")
|
|
|
|
|
|
class TokenVerifyRequest(BaseModel):
|
|
"""Token 验证请求 Schema"""
|
|
authorization: str = Field(..., description="Token")
|
|
|
|
|
|
class TokenVerifyResponse(BaseModel):
|
|
"""Token 验证响应 Schema"""
|
|
is_valid: bool = Field(..., description="Token 是否有效")
|
|
message: str = Field(..., description="验证消息")
|
|
user_id: Optional[int] = Field(None, description="用户 ID")
|
|
|
|
|
|
class AliasLoginRequest(BaseModel):
|
|
"""别名+密码登录请求 Schema"""
|
|
alias: str = Field(..., min_length=2, max_length=50, description="用户别名")
|
|
password: str = Field(..., min_length=6, description="密码")
|
|
|
|
|
|
class AliasLoginResponse(BaseModel):
|
|
"""别名+密码登录响应 Schema"""
|
|
success: bool = Field(..., description="登录是否成功")
|
|
message: str = Field(..., description="登录消息")
|
|
user_id: Optional[int] = Field(None, description="用户 ID")
|
|
authorization: Optional[str] = Field(None, description="Token")
|
|
alias: Optional[str] = Field(None, description="用户别名")
|