feature: 新增小说封面图片生成功能
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user