Spaces:
Running
Running
| from pydantic import BaseModel | |
| from typing import Optional | |
| # 【新增】:发送验证码的请求模型 | |
| class SendCodeRequest(BaseModel): | |
| contact: str | |
| contact_type: str # "email" 或 "phone" | |
| action_type: str # "register" 或 "reset" | |
| account: Optional[str] = None # 【新增】:仅重置密码时需要传,用于校验身份 | |
| class UserRegister(BaseModel): | |
| account: str | |
| password: str | |
| email: str | |
| phone: str | |
| name: str | |
| gender: str | |
| code: str # 【新增】:注册验证码 | |
| avatarDataUrl: Optional[str] = None | |
| age: Optional[int] = None | |
| country: Optional[str] = None | |
| region: Optional[str] = None | |
| intro: Optional[str] = None | |
| class UserLogin(BaseModel): | |
| account: str | |
| password: str | |
| class UserUpdate(BaseModel): | |
| name: Optional[str] = None | |
| intro: Optional[str] = None | |
| age: Optional[int] = None | |
| country: Optional[str] = None | |
| region: Optional[str] = None | |
| gender: Optional[str] = None | |
| avatarDataUrl: Optional[str] = None | |
| class PasswordReset(BaseModel): | |
| old_password: Optional[str] = None # 找回密码时此项可为空 | |
| new_password: str | |
| verify_contact: str # 【新增】:接收验证码的邮箱或手机号 | |
| verify_type: str # 【新增】:"email" 或 "phone" | |
| code: str # 【新增】:重置验证码 | |
| class InteractionToggle(BaseModel): | |
| item_id: str | |
| user_id: str | |
| action_type: str | |
| is_active: bool | |
| class CommentCreate(BaseModel): | |
| item_id: str | |
| author: str | |
| content: str | |
| reply_to_user: Optional[str] = None | |
| parent_id: Optional[str] = None | |
| class ItemCreate(BaseModel): | |
| type: str | |
| title: str | |
| shortDesc: str | |
| fullDesc: str | |
| link: str | |
| coverUrl: Optional[str] = None | |
| author: str | |
| price: float = 0.0 | |
| class FollowToggle(BaseModel): | |
| user_id: str | |
| target_account: str | |
| is_active: bool | |
| class PrivateMessage(BaseModel): | |
| sender: str | |
| receiver: str | |
| content: str | |
| class PrivacySettings(BaseModel): | |
| follows: bool | |
| likes: bool | |
| favorites: bool | |
| downloads: bool | |
| class ItemUpdate(BaseModel): | |
| title: Optional[str] = None | |
| shortDesc: Optional[str] = None | |
| fullDesc: Optional[str] = None | |
| link: Optional[str] = None | |
| coverUrl: Optional[str] = None | |
| price: Optional[float] = None |