This commit is contained in:
2026-06-15 19:14:13 +08:00
parent c9fc87cd89
commit 4167714149
6 changed files with 191 additions and 31 deletions
+19
View File
@@ -25,6 +25,10 @@ class StatusUpdate(BaseModel):
expires_hours: int | None = None
class DeleteAccountRequest(BaseModel):
password: str
@router.get("/me", response_model=UserRead)
async def get_me(user: User = Depends(get_current_user)):
"""获取当前用户信息"""
@@ -58,6 +62,21 @@ async def change_password(
raise HTTPException(status_code=400, detail=str(e))
@router.delete("/me")
async def delete_account(
req: DeleteAccountRequest,
user: User = Depends(get_current_user),
db: AsyncSession = Depends(get_db),
):
"""注销账号(需验证密码,级联清理数据)"""
service = UserService(db)
try:
await service.delete_account(user.id, req.password)
return {"success": True, "message": "账号已注销"}
except ValueError as e:
raise HTTPException(status_code=400, detail=str(e))
@router.put("/me/email")
async def change_email(
req: EmailChange,