Spaces:
Running
Running
File size: 2,844 Bytes
13f2c73 d5dffcf 2814e79 d5dffcf d3ae963 13f2c73 d3ae963 d5dffcf 13f2c73 d5dffcf 13f2c73 d5dffcf 13f2c73 d5dffcf 13f2c73 d5dffcf 2814e79 d5dffcf 85494ee 4c9deec d5dffcf 13f2c73 2814e79 13f2c73 d5dffcf 90d7999 71ce6d2 13f2c73 85494ee 13f2c73 85494ee 13f2c73 85494ee 13f2c73 85494ee 012c1d3 13f2c73 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | # models.py
from pydantic import BaseModel
from typing import Optional, List
class SendCodeRequest(BaseModel):
contact: str
contact_type: str
action_type: str
account: Optional[str] = None
class UserRegister(BaseModel):
account: str
password: str
email: str
phone: Optional[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
verifyContact: str
verifyType: str
code: str
account: str
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
imageUrls: Optional[List[str]] = [] # 🟢 新增:支持多图展示画廊
author: str
price: int = 0
github_token: Optional[str] = None
class ItemUpdate(BaseModel):
title: Optional[str] = None
shortDesc: Optional[str] = None
fullDesc: Optional[str] = None
link: Optional[str] = None
coverUrl: Optional[str] = None
imageUrls: Optional[List[str]] = [] # 🟢 新增:支持多图展示画廊
price: Optional[int] = None
github_token: Optional[str] = None
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 InteractionToggle(BaseModel):
item_id: str
user_id: str
action_type: str
is_active: bool
# === 资金与钱包专有模型 ===
class RechargeRequest(BaseModel):
account: str
amount: int
method: Optional[str] = "alipay"
class PurchaseRequest(BaseModel):
account: str
item_id: str
class TipRequest(BaseModel):
sender_account: str
target_account: str
amount: int
is_anonymous: bool
class WithdrawRequest(BaseModel):
account: str
amount: int
alipayAccount: str
real_name: str
code: str |