diff --git a/src/App.svelte b/src/App.svelte index ea93f13..7e958b2 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -27,15 +27,16 @@ let error = $state(''); // 媒体列表状态 - let currentCategory = $state('game'); + let currentCategory = $state('game'); let mediaList = $state([]); - let currentPage = $state(1); - let pageSize = $state(10); - let totalItems = $state(0); - let loading = $state(false); + let currentPage = $state(1); + let pageSize = $state(10); + let totalItems = $state(0); + let loading = $state(false); // 模态框状态 - let showCreateModal = $state(false); + let showCreateModal = $state(false); + let editingMedia = $state(null); // 类别选项 const categories = [ @@ -169,6 +170,30 @@ error = e.message || 'Failed to create media'; } } + + // 处理编辑媒体 + async function handleEdit(media: Media) { + try { + const response = await request.put>(`/media/updateById/${media.id}`, { + ...media, + type: currentCategory + }); + + if (response.data.code === 0) { + editingMedia = null; + await fetchMediaList(); + } else { + error = response.data.message || 'Failed to update media'; + } + } catch (e: any) { + error = e.message || 'Failed to update media'; + } + } + + // 处理编辑按钮点击 + function handleEditClick(media: Media) { + editingMedia = media; + } @@ -275,7 +300,7 @@ {:else}
{#each mediaList as media} - + {/each}
@@ -313,6 +338,15 @@ handleClose={() => showCreateModal = false} submitMedia={handleCreate} mode="add" + media={null} +/> + + editingMedia = null} + submitMedia={handleEdit} + mode="edit" + media={editingMedia} />