mirror of
https://github.com/Hommy-master/capcut-mate.git
synced 2026-10-30 18:44:19 +08:00
优化草稿返回值和参数
This commit is contained in:
@@ -10,3 +10,6 @@ DRAFT_URL = os.getenv("DRAFT_URL", "https://cm.jcaigc.cn/openapi/v1/get_draft")
|
||||
|
||||
# 将容器内的文件路径转成一个下载路径,执行替换操作,即将/app/ -> https://cm.jcaigc.cn/
|
||||
DOWNLOAD_URL = os.getenv("DOWNLOAD_URL", "https://cm.jcaigc.cn/")
|
||||
|
||||
# 草稿提示URL
|
||||
TIP_URL = os.getenv("TIP_URL", "https://docs.jcaigc.cn/")
|
||||
+2
-1
@@ -12,7 +12,8 @@ class CustomError(Enum):
|
||||
AUTHENTICATION_FAILED = (1004, "认证失败")
|
||||
|
||||
# ===== 业务错误码 (2000-2999) =====
|
||||
DRAFT_CREATE_FAILED = (2001, "草稿创建失败")
|
||||
INVALID_DRAFT_URL = (2001, "无效的草稿URL")
|
||||
DRAFT_CREATE_FAILED = (2002, "草稿创建失败")
|
||||
|
||||
# ===== 系统错误码 (9000-9999) =====
|
||||
INTERNAL_SERVER_ERROR = (9998, "系统内部错误")
|
||||
|
||||
+4
-4
@@ -1,4 +1,3 @@
|
||||
from email import message
|
||||
from fastapi import APIRouter, Request, Depends
|
||||
from src.schemas.create_draft import CreateDraftRequest, CreateDraftResponse
|
||||
from src.schemas.add_videos import AddVideosRequest, AddVideosResponse
|
||||
@@ -7,6 +6,7 @@ from src.schemas.gen_video import GenVideoRequest, GenVideoResponse
|
||||
from src.schemas.get_draft import GetDraftRequest, GetDraftResponse
|
||||
from src import service
|
||||
from typing import Annotated
|
||||
import config
|
||||
|
||||
|
||||
router = APIRouter(prefix="/v1", tags=["v1"])
|
||||
@@ -23,7 +23,7 @@ def create_draft(request: Request, cdr: CreateDraftRequest):
|
||||
height=cdr.height
|
||||
)
|
||||
|
||||
return CreateDraftResponse(draft_url=draft_url)
|
||||
return CreateDraftResponse(draft_url=draft_url, tip_url=config.TIP_URL)
|
||||
|
||||
@router.post("/save_draft", response_model=SaveDraftResponse)
|
||||
def save_draft(request: Request, sdr: SaveDraftRequest):
|
||||
@@ -31,11 +31,11 @@ def save_draft(request: Request, sdr: SaveDraftRequest):
|
||||
保存剪映草稿 (v1版本)
|
||||
"""
|
||||
# 调用service层处理业务逻辑
|
||||
draft_url, message = service.save_draft(
|
||||
draft_url = service.save_draft(
|
||||
draft_url=sdr.draft_url,
|
||||
)
|
||||
|
||||
return SaveDraftResponse(message=message, draft_url=draft_url)
|
||||
return SaveDraftResponse(draft_url=draft_url)
|
||||
|
||||
@router.post("/add_videos", response_model=AddVideosResponse)
|
||||
def add_videos(request: Request, avr: AddVideosRequest):
|
||||
|
||||
@@ -10,3 +10,4 @@ class CreateDraftRequest(BaseModel):
|
||||
class CreateDraftResponse(BaseModel):
|
||||
"""创建草稿响应参数"""
|
||||
draft_url: str = Field(default="", description="草稿URL")
|
||||
tip_url: str = Field(default="", description="草稿提示URL,获取帮助文档")
|
||||
|
||||
@@ -8,5 +8,4 @@ class SaveDraftRequest(BaseModel):
|
||||
|
||||
class SaveDraftResponse(BaseModel):
|
||||
"""创建草稿响应参数"""
|
||||
message: str = Field(default="", description="响应消息")
|
||||
draft_url: str = Field(default="", description="草稿URL")
|
||||
|
||||
@@ -2,11 +2,12 @@ from src.utils.logger import logger
|
||||
import src.pyJianYingDraft as draft
|
||||
from src.utils.draft_cache import DRAFT_CACHE
|
||||
from src.utils import helper
|
||||
from exceptions import CustomException, CustomError
|
||||
import config
|
||||
import os
|
||||
|
||||
|
||||
def save_draft(draft_url: str) -> (str, str):
|
||||
def save_draft(draft_url: str) -> str:
|
||||
"""
|
||||
保存剪映草稿的业务逻辑
|
||||
|
||||
@@ -21,7 +22,8 @@ def save_draft(draft_url: str) -> (str, str):
|
||||
# 从URL中提取草稿ID
|
||||
draft_id = helper.get_url_param(draft_url, "draft_id")
|
||||
if (not draft_id) or (draft_id not in DRAFT_CACHE):
|
||||
return "", "无效的草稿URL"
|
||||
logger.info("invalid draft url: %s", draft_url)
|
||||
raise CustomException(CustomError.INVALID_DRAFT_URL)
|
||||
|
||||
# 从缓存中获取草稿
|
||||
script = DRAFT_CACHE[draft_id]
|
||||
@@ -30,5 +32,4 @@ def save_draft(draft_url: str) -> (str, str):
|
||||
script.save()
|
||||
|
||||
logger.info(f"save draft success: %s", os.path.join(config.DRAFT_DIR, draft_id))
|
||||
return draft_url, "草稿保存成功"
|
||||
|
||||
return draft_url
|
||||
|
||||
Reference in New Issue
Block a user