优化全能创作

This commit is contained in:
Azmat@qq.com
2026-09-11 19:11:27 +08:00
parent dbcac8a44b
commit 02e5dbfb60
25 changed files with 2398 additions and 462 deletions
+12 -7
View File
@@ -135,23 +135,28 @@ def _guard_asset_reference(asset: Asset, label: str) -> None:
平台生成的资产免审直接过;用户上传的必须真过一遍审核才能当生成参考。
判据是 Asset.source,**不是**「在不在资产库里」—— 按库免审等于把审核架空:
用户传一张图进库、再从自由创作引用出去,就绕过了整套人像审核。
未送审时在这里短等审核(上传链路已优先审完);不再甩「已提交审核」话术进对话。
"""
from apps.assets.review import poll_asset_review, reference_review_state, submit_asset_for_review
from apps.assets.review import poll_asset_review, reference_review_state, wait_upload_review
state = reference_review_state(asset)
if state == "processing":
poll_asset_review(asset) # 实时刷一次,别让用户干等下一轮轮询
poll_asset_review(asset)
state = reference_review_state(asset)
if state == "allowed":
return
name = label or asset.name or "未命名"
if state == "processing":
raise ValueError(f"素材「{name}」正在审核中,请稍后再引用")
if state == "failed":
raise ValueError(f"素材「{name}」未通过审核,不能用作生成参考")
# 从没送过审(资产库上传不自动送审):这里补送一次,用户等审核结果即可,不必回去手动点
submit_asset_for_review(asset, force=True)
raise ValueError(f"素材「{name}」是上传素材,已提交审核,通过后即可引用")
# unsubmitted / 仍 processing:补送并短等,通过则放行
waited = wait_upload_review(asset, timeout_s=20.0)
if waited in ("active", "allowed"):
return
if waited == "failed":
err = (asset.review_error or "").strip()
raise ValueError(f"素材「{name}」未通过审核,不能用作生成参考" + (f"{err}" if err else ""))
raise ValueError(f"素材「{name}」还在审核中,请稍后再试")
def build_content_items(