修复回忆录图片重试状态透传与前端展示
This commit is contained in:
@@ -21,7 +21,9 @@ from services.memoir_images.schema import (
|
||||
)
|
||||
from services.memoir_images.settings import MemoirImageSettings
|
||||
from services.memoir_images.storage import (
|
||||
CosDownloadUrlError,
|
||||
TencentCosStorageService,
|
||||
mark_image_delivery_unavailable,
|
||||
normalize_cos_url,
|
||||
resolve_image_storage_key,
|
||||
)
|
||||
@@ -53,10 +55,15 @@ def _normalize_image_assets(images: list[dict] | None) -> list[dict]:
|
||||
if asset.get("status") == IMAGE_STATUS_COMPLETED and storage_key:
|
||||
try:
|
||||
asset["url"] = storage.get_download_url(storage_key)
|
||||
except CosDownloadUrlError as exc:
|
||||
logger.warning(
|
||||
"章节图片签名失败: key=%s, retryable=%s, request_id=%s, error=%s",
|
||||
storage_key, exc.retryable, exc.request_id, exc,
|
||||
)
|
||||
asset = mark_image_delivery_unavailable(asset)
|
||||
except Exception as exc:
|
||||
logger.warning("章节图片签名失败: key=%s, error=%s", storage_key, exc)
|
||||
asset["url"] = normalized_url
|
||||
asset["error"] = asset.get("error") or "image delivery unavailable"
|
||||
asset = mark_image_delivery_unavailable(asset)
|
||||
else:
|
||||
asset["url"] = normalized_url
|
||||
asset.pop("storage_key", None)
|
||||
|
||||
Reference in New Issue
Block a user