From 5960a25309a1022570d6436f8dc4d33dce4377d7 Mon Sep 17 00:00:00 2001 From: nite Date: Thu, 5 Feb 2026 16:03:38 +0800 Subject: [PATCH] add: clean finished transfers button --- .../mesh-drop/internal/transfer/service.ts | 4 +-- frontend/src/components/MainLayout.vue | 29 +++++++++++++------ internal/transfer/service.go | 10 +++++-- 3 files changed, 30 insertions(+), 13 deletions(-) diff --git a/frontend/bindings/mesh-drop/internal/transfer/service.ts b/frontend/bindings/mesh-drop/internal/transfer/service.ts index 6f4f1d7..2c26a43 100644 --- a/frontend/bindings/mesh-drop/internal/transfer/service.ts +++ b/frontend/bindings/mesh-drop/internal/transfer/service.ts @@ -20,8 +20,8 @@ export function CancelTransfer(transferID: string): $CancellablePromise { /** * CleanTransferList 清理完成的 transfer */ -export function CleanTransferList(): $CancellablePromise { - return $Call.ByID(3775121017); +export function CleanFinishedTransferList(): $CancellablePromise { + return $Call.ByID(1852624467); } export function DeleteTransfer(transferID: string): $CancellablePromise { diff --git a/frontend/src/components/MainLayout.vue b/frontend/src/components/MainLayout.vue index 43cefa1..674d479 100644 --- a/frontend/src/components/MainLayout.vue +++ b/frontend/src/components/MainLayout.vue @@ -14,7 +14,10 @@ import { Transfer } from "../../bindings/mesh-drop/internal/transfer"; // --- Service & 后端绑定 --- import { Events } from "@wailsio/runtime"; import { GetPeers } from "../../bindings/mesh-drop/internal/discovery/service"; -import { GetTransferList } from "../../bindings/mesh-drop/internal/transfer/service"; +import { + GetTransferList, + CleanFinishedTransferList, +} from "../../bindings/mesh-drop/internal/transfer/service"; // --- 状态 --- const peers = ref([]); @@ -53,10 +56,7 @@ const menuItems = computed(() => [ onMounted(async () => { checkMobile(); window.addEventListener("resize", checkMobile); - const list = await GetTransferList(); - transferList.value = ( - (list || []).filter((t) => t !== null) as Transfer[] - ).sort((a, b) => b.create_time - a.create_time); + transferList.value = (await GetTransferList()) as Transfer[]; if (isMobile.value) { drawer.value = false; @@ -75,10 +75,7 @@ Events.On("peers:update", (event) => { }); Events.On("transfer:refreshList", async () => { - const list = await GetTransferList(); - transferList.value = ( - (list || []).filter((t) => t !== null) as Transfer[] - ).sort((a, b) => b.create_time - a.create_time); + transferList.value = (await GetTransferList()) as Transfer[]; }); // --- 方法 --- @@ -96,6 +93,10 @@ const handleMenuClick = (key: string) => { drawer.value = false; } }; + +const handleCleanFinished = async () => { + await CleanFinishedTransferList(); +};