Files
012-kaopeilian/backend/app/schemas/auth.py
yuliang_guo 662947cd06
Some checks failed
continuous-integration/drone/push Build is failing
feat: 添加钉钉扫码登录功能
- 后端:钉钉 OAuth 认证服务
- 后端:系统设置 API(钉钉配置)
- 前端:登录页钉钉扫码入口
- 前端:系统设置页面
- 数据库迁移脚本
2026-01-29 14:40:00 +08:00

43 lines
844 B
Python

"""
认证相关 Schema
"""
from pydantic import EmailStr, Field
from .base import BaseSchema
class LoginRequest(BaseSchema):
"""登录请求"""
username: str = Field(..., description="用户名/邮箱/手机号")
password: str = Field(..., min_length=6)
class Token(BaseSchema):
"""令牌响应"""
access_token: str
refresh_token: str
token_type: str = "bearer"
class TokenPayload(BaseSchema):
"""令牌载荷"""
sub: str # 用户ID
type: str # access 或 refresh
exp: int # 过期时间
class RefreshTokenRequest(BaseSchema):
"""刷新令牌请求"""
refresh_token: str
class DingtalkLoginRequest(BaseSchema):
"""钉钉免密登录请求"""
code: str = Field(..., description="钉钉免登授权码")
tenant_id: int = Field(default=1, description="租户ID")