Files
meijiaka-zy/python-api/app/schemas/user.py
T
小鱼开发 ea1b607aca feat(profile): 拆分个人中心与账户设置,支持昵称编辑
后端:
- 新增 UpdateNicknameRequest schema
- 新增 PATCH /auth/me 修改昵称接口

前端:
- Profile.tsx 精简为纯资产中心(积分统计+最近记录+充值)
- 新建 Account.tsx 账户设置页(昵称编辑、手机号、退出登录)
- App.tsx + Sidebar.tsx 新增 account 路由和导航菜单
- 昵称修改后同步更新 authStore
2026-05-10 08:32:45 +08:00

41 lines
1.2 KiB
Python

"""
用户相关 Schema
===============
"""
from datetime import datetime
from uuid import UUID
from pydantic import BaseModel, Field
class UserInfo(BaseModel):
"""用户信息(对外暴露)"""
id: UUID = Field(..., description="用户 ID")
nickname: str = Field(default="", description="用户昵称")
avatar: str = Field(default="", description="头像 URL")
mobile: str = Field(..., description="手机号(已脱敏)")
class UserProfileResponse(BaseModel):
"""用户个人资料响应"""
id: UUID = Field(..., description="用户 ID")
mobile: str = Field(..., description="手机号")
nickname: str | None = Field(None, description="昵称")
avatar: str = Field(default="", description="头像 URL")
status: str = Field(..., description="账号状态")
source: str = Field(..., description="注册来源")
last_login_at: datetime | None = Field(None, description="最后登录时间")
created_at: datetime = Field(..., description="注册时间")
class Config:
from_attributes = True
class UpdateNicknameRequest(BaseModel):
"""修改昵称请求"""
nickname: str = Field(..., min_length=1, max_length=20, description="新昵称,1-20个字符")