feat: AI套图分层方案 + Gemini集成 - 4种图案类型处理 + 正片叠底 + 宽高比 + 模型选择
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -8,17 +8,16 @@ from fastapi import APIRouter, HTTPException, Depends
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
from sqlalchemy.orm import Session
|
||||
from sqlalchemy import func
|
||||
from app.db import get_db
|
||||
from app.models.user import User
|
||||
from app.models.business import PointsHistory
|
||||
from app.core.security import get_current_user
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
# ==================== 数据模型 ====================
|
||||
|
||||
class UserProfileUpdate(BaseModel):
|
||||
username: str
|
||||
nickname: Optional[str] = None
|
||||
avatar: Optional[str] = None
|
||||
email: Optional[str] = None
|
||||
@@ -26,13 +25,12 @@ class UserProfileUpdate(BaseModel):
|
||||
# ==================== 用户资料管理 ====================
|
||||
|
||||
@router.get("/user/profile")
|
||||
async def get_user_profile(username: str, db: Session = Depends(get_db)):
|
||||
async def get_user_profile(db: Session = Depends(get_db), current_username: str = Depends(get_current_user)):
|
||||
"""获取用户资料"""
|
||||
user = db.query(User).filter(User.username == username).first()
|
||||
user = db.query(User).filter(User.username == current_username).first()
|
||||
if not user:
|
||||
raise HTTPException(status_code=404, detail="用户不存在")
|
||||
|
||||
# 转换为字典以便序列化
|
||||
user_data = {
|
||||
"username": user.username,
|
||||
"nickname": user.nickname,
|
||||
@@ -54,9 +52,9 @@ async def get_user_profile(username: str, db: Session = Depends(get_db)):
|
||||
}
|
||||
|
||||
@router.put("/user/profile")
|
||||
async def update_user_profile(data: UserProfileUpdate, db: Session = Depends(get_db)):
|
||||
async def update_user_profile(data: UserProfileUpdate, db: Session = Depends(get_db), current_username: str = Depends(get_current_user)):
|
||||
"""更新用户资料"""
|
||||
user = db.query(User).filter(User.username == data.username).first()
|
||||
user = db.query(User).filter(User.username == current_username).first()
|
||||
if not user:
|
||||
raise HTTPException(status_code=404, detail="用户不存在")
|
||||
|
||||
@@ -78,14 +76,14 @@ async def update_user_profile(data: UserProfileUpdate, db: Session = Depends(get
|
||||
|
||||
@router.get("/points/history")
|
||||
async def get_points_history(
|
||||
username: str,
|
||||
type: Optional[str] = None,
|
||||
page: int = 1,
|
||||
limit: int = 20,
|
||||
db: Session = Depends(get_db)
|
||||
db: Session = Depends(get_db),
|
||||
current_username: str = Depends(get_current_user)
|
||||
):
|
||||
"""获取积分历史"""
|
||||
user = db.query(User).filter(User.username == username).first()
|
||||
user = db.query(User).filter(User.username == current_username).first()
|
||||
if not user:
|
||||
raise HTTPException(status_code=404, detail="用户不存在")
|
||||
|
||||
@@ -117,4 +115,3 @@ async def get_points_history(
|
||||
"records": result_records
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user