feature: 新增小说封面图片生成功能

This commit is contained in:
xiamuceer
2026-03-16 11:34:07 +08:00
parent 2ca4c9cd27
commit 411f906545
22 changed files with 1516 additions and 205 deletions
+27
View File
@@ -14,6 +14,7 @@ import time
from app.database import get_db
from app.models.settings import Settings
from app.services.cover_generation_service import cover_generation_service
from app.schemas.settings import (
SettingsCreate, SettingsUpdate, SettingsResponse,
APIKeyPreset, APIKeyPresetConfig, PresetCreateRequest,
@@ -29,6 +30,13 @@ logger = get_logger(__name__)
router = APIRouter(prefix="/settings", tags=["设置管理"])
class CoverSettingsTestRequest(BaseModel):
cover_api_provider: str
cover_api_key: str
cover_api_base_url: Optional[str] = None
cover_image_model: str
def read_env_defaults() -> Dict[str, Any]:
"""从.env文件读取默认配置(仅读取,不修改)"""
return {
@@ -142,6 +150,25 @@ async def get_settings(
return settings
@router.post("/cover/test")
async def test_cover_settings(
data: CoverSettingsTestRequest,
user: User = Depends(require_login),
):
result = await cover_generation_service.test_cover_settings(
provider=data.cover_api_provider,
api_key=data.cover_api_key,
api_base_url=data.cover_api_base_url,
model=data.cover_image_model,
)
return {
"success": result.success,
"message": result.message,
"provider": result.provider,
"model": result.model,
}
@router.post("", response_model=SettingsResponse)
async def save_settings(
data: SettingsCreate,