From b1ef3deb035800e1b7a5a930679dd83546949342 Mon Sep 17 00:00:00 2001 From: zhangshun <453905631@qq.com> Date: Mon, 1 Jun 2026 14:34:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A8=A1=E5=9E=8B=E5=BA=93?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E4=B8=8B=E8=BD=BD=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/pages/app/dialogs.css | 10 ++++++++++ web/src/pages/app/modules/models.ts | 6 ++++++ web/src/pages/app/modules/preview.ts | 17 +++++++++++++++-- web/src/utils/fileDownload.ts | 28 ++++++++++++++++++++++++++++ 4 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 web/src/utils/fileDownload.ts diff --git a/web/src/pages/app/dialogs.css b/web/src/pages/app/dialogs.css index 55b5dcb..6342808 100644 --- a/web/src/pages/app/dialogs.css +++ b/web/src/pages/app/dialogs.css @@ -236,6 +236,16 @@ padding: 8px; } +.preview-scene-actions { + display: flex; + align-items: center; + gap: 8px; +} + +.preview-scene-actions > button { + flex: 1; +} + .preview-scene-body > button { width: 100%; } diff --git a/web/src/pages/app/modules/models.ts b/web/src/pages/app/modules/models.ts index a734bf3..70becec 100644 --- a/web/src/pages/app/modules/models.ts +++ b/web/src/pages/app/modules/models.ts @@ -3,6 +3,7 @@ import { renderPagination } from "../../../components/pagination"; import { getCurrentUser } from "../../../services/authState"; import type { DictionaryResponse, ModelItem, ModelListResponse } from "../../../types"; import { confirmDialog, formDialog, notify, notifyError } from "../../../ui/dialogs"; +import { downloadFileFromUrl } from "../../../utils/fileDownload"; import { escapeHtml, modelNameFromFile } from "../../../utils/format"; import { appState } from "../appState"; @@ -192,6 +193,10 @@ function bindModelGridActions(grid: HTMLDivElement) { notify("导入场景数据已输出"); break; } + case "download": + if (!model) return; + await downloadFileFromUrl(model.file_url, model.original_filename || model.name); + break; case "delete": await deleteModel(id); break; @@ -293,6 +298,7 @@ function renderModelCard(item: ModelItem) { ${thumb}