From 98a4e0cbfc81c26e39b0df8055a0873962e1c77a Mon Sep 17 00:00:00 2001 From: taqi be Date: Mon, 13 Jan 2025 17:37:47 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=9B=BA=E4=BB=B6=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/module/eam/device/firmware.ts | 7 ++++--- .../components/create-firmware-dlg.vue | 19 +++++++++++++++++-- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/api/module/eam/device/firmware.ts b/src/api/module/eam/device/firmware.ts index 3e65ae4..b43acfa 100644 --- a/src/api/module/eam/device/firmware.ts +++ b/src/api/module/eam/device/firmware.ts @@ -16,13 +16,14 @@ export function deleteFirmware(id: string) { }) } -export function createFirmware(data: any) { +export function createFirmware(data: any, signal: any) { return eamServer({ url: '/firmware/upload', method: 'post', data, headers: { 'Content-Type': 'multipart/form-data' }, - timeout: 20000, + timeout: 0, + signal, }) } @@ -32,4 +33,4 @@ export function getSimpleFirmwareList(params: { type: string }) { method: 'get', params, }) -} \ No newline at end of file +} diff --git a/src/pages/ota/firmware/components/create-firmware-dlg.vue b/src/pages/ota/firmware/components/create-firmware-dlg.vue index 9e7e9a6..63cbee9 100644 --- a/src/pages/ota/firmware/components/create-firmware-dlg.vue +++ b/src/pages/ota/firmware/components/create-firmware-dlg.vue @@ -134,10 +134,17 @@ function validate() { } return false } - +const controller = ref(null) const loading = ref(false) async function onSave() { if (validate()) return + // 限制上传文件大小 + if (fileList.value[0].size > 1024 * 1024 * 500) { + message.error('文件大小不能超过500M') + fileList.value = [] + return + } + loading.value = true const data = new FormData() // data.append('path', getTenantId()) @@ -146,7 +153,8 @@ async function onSave() { data.append('version', formData.value.version) data.append('type', formData.value.type) data.append('description', formData.value.description) - const res = await createFirmware(data) + controller.value = new AbortController() + const res = await createFirmware(data, controller.value.signal) loading.value = false if (isResError(res)) return emits('on-save') @@ -159,8 +167,15 @@ function clearData() { } function onClone() { clearData() + cancelUpload() emits('on-close') } +function cancelUpload() { + if (controller.value) { + controller.value.abort() // 取消上传请求 + controller.value = null + } +} const categoryTreeData = ref([]) async function loadDeviceTypeTree() {