优化AI图像显示,添加发送图片到UCD
This commit is contained in:
@@ -122,10 +122,40 @@ def list_records(base_dir: Optional[str] = None) -> List[AIImageRecord]:
|
||||
extra=extra,
|
||||
)
|
||||
)
|
||||
if not records:
|
||||
seeded = _seed_placeholder_record(cache_dir)
|
||||
if seeded is not None:
|
||||
records.append(seeded)
|
||||
records.sort(key=lambda r: r.created_at, reverse=True)
|
||||
return records
|
||||
|
||||
|
||||
def _seed_placeholder_record(cache_dir: str) -> Optional[AIImageRecord]:
|
||||
"""当缓存为空时,写入一张本地占位图,便于前端联调。"""
|
||||
try:
|
||||
repo_root = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", ".."))
|
||||
src = os.path.join(repo_root, "assets", "entry_1.png")
|
||||
if not os.path.isfile(src):
|
||||
return None
|
||||
|
||||
rec_id = f"{_dt.datetime.now().strftime('%Y%m%d_%H%M%S')}_placeholder"
|
||||
image_path = os.path.join(cache_dir, f"{rec_id}.png")
|
||||
shutil.copyfile(src, image_path)
|
||||
|
||||
record = AIImageRecord(
|
||||
id=rec_id,
|
||||
prompt="本地测试占位图(后端未接入)",
|
||||
image_path=image_path,
|
||||
created_at=_dt.datetime.now().isoformat(timespec="seconds"),
|
||||
extra={"source": "local-placeholder"},
|
||||
)
|
||||
with open(_meta_path_for(image_path), "w", encoding="utf-8") as f:
|
||||
f.write(record.to_json())
|
||||
return record
|
||||
except Exception:
|
||||
return None
|
||||
|
||||
|
||||
def save_image_to_cache(
|
||||
prompt: str,
|
||||
image_bytes: bytes,
|
||||
|
||||
Reference in New Issue
Block a user