Dark模式 oss存储
Deploy dev / deploy (push) Successful in 1m16s

This commit is contained in:
Azmat@qq.com
2026-09-24 18:06:00 +08:00
parent ceb5163881
commit 5dbb240b59
46 changed files with 3491 additions and 350 deletions
+5 -9
View File
@@ -2991,7 +2991,7 @@ def notify_generation_failure(
def _asset_preview_url(asset) -> str:
"""资产主文件的可公开访问 URL(已写绝对 URL 优先,否则实时签 TOS GET)"""
"""资产主文件的公读直链。写进会话的地址不能带签名,否则 1 小时后图片会消失"""
if asset is None:
return ""
primary = asset.files.filter(is_primary=True).first() or asset.files.first()
@@ -2999,16 +2999,16 @@ def _asset_preview_url(asset) -> str:
return ""
if primary.preview_url:
return primary.preview_url
if not primary.object_key:
return ""
try:
return TosStorage().presigned_get_url(object_key=primary.object_key)
return TosStorage().public_url(object_key=primary.object_key, bucket=primary.bucket or None)
except Exception:
return ""
def asset_stable_url(asset) -> tuple[str, str]:
"""资产的长期可打开」直链 (主文件, 封面图)。历史记录这类隔天还要点开的场景必须用这个:
预签名链只活 1 小时,存进 payload 快照的话第二天就播不了 —— 公读直链不过期还能被缓存。
顺序:落库 preview_url → TOS 公读直链 → 兜底预签名。"""
"""资产的长期直链 (主文件, 封面图)。公读地址不过期,结果卡隔天还能打开。"""
if asset is None:
return "", ""
files = list(asset.files.all())
@@ -3031,10 +3031,6 @@ def asset_stable_url(asset) -> tuple[str, str]:
return ""
try:
return TosStorage().public_url(object_key=f.object_key, bucket=f.bucket or None)
except Exception: # noqa: BLE001
pass
try:
return TosStorage().presigned_get_url(object_key=f.object_key)
except Exception: # noqa: BLE001
return ""