添加后台线程下载远程图片并写入缓存
This commit is contained in:
@@ -264,16 +264,10 @@ def _send_prompt(self):
|
||||
if not prompt:
|
||||
messagebox.showinfo("提示", "请输入内容")
|
||||
return
|
||||
if not _svc.has_api():
|
||||
messagebox.showerror(
|
||||
"API 未配置",
|
||||
"AI 图片 API 尚未接入。\n请在启动时通过 "
|
||||
"app.services.ai_image.set_api_caller(...) 注入真实实现。",
|
||||
)
|
||||
return
|
||||
|
||||
_set_requesting(self, True)
|
||||
self.ai_image_status_var.set("请求中…")
|
||||
is_remote_url = _svc.is_remote_image_url(prompt)
|
||||
self.ai_image_status_var.set("下载中…" if is_remote_url else "请求中…")
|
||||
|
||||
def _success(record):
|
||||
self.root.after(0, lambda: _on_request_done(self, record, None))
|
||||
@@ -281,6 +275,25 @@ def _send_prompt(self):
|
||||
def _error(exc):
|
||||
self.root.after(0, lambda: _on_request_done(self, None, exc))
|
||||
|
||||
if is_remote_url:
|
||||
_svc.import_image_from_url_async(
|
||||
prompt,
|
||||
on_success=_success,
|
||||
on_error=_error,
|
||||
)
|
||||
return
|
||||
|
||||
if not _svc.has_api():
|
||||
_set_requesting(self, False)
|
||||
self.ai_image_status_var.set("就绪")
|
||||
messagebox.showerror(
|
||||
"API 未配置",
|
||||
"AI 图片 API 尚未接入。\n"
|
||||
"可直接输入图片 URL 导入,或在启动时通过 "
|
||||
"app.services.ai_image.set_api_caller(...) 注入真实实现。",
|
||||
)
|
||||
return
|
||||
|
||||
_svc.request_image_async(prompt, on_success=_success, on_error=_error)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user