From 5159fa360682a7082c36df9700ebb9e88b906224 Mon Sep 17 00:00:00 2001 From: tone <3341154833@qq.com> Date: Mon, 12 May 2025 22:13:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E8=B5=84=E6=BA=90=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/resource/components/ResourceEdit.tsx | 47 ++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/tone-page-web/app/console/(with-menu)/web/resource/components/ResourceEdit.tsx b/tone-page-web/app/console/(with-menu)/web/resource/components/ResourceEdit.tsx index 10ecd53..514e258 100644 --- a/tone-page-web/app/console/(with-menu)/web/resource/components/ResourceEdit.tsx +++ b/tone-page-web/app/console/(with-menu)/web/resource/components/ResourceEdit.tsx @@ -22,6 +22,18 @@ import { AdminApi } from "@/lib/api" import useSWR from "swr" import { ApiError } from "next/dist/server/api-utils" import { Skeleton } from "@/components/ui/skeleton" +import { + AlertDialog, + AlertDialogAction, + AlertDialogCancel, + AlertDialogContent, + AlertDialogDescription, + AlertDialogFooter, + AlertDialogHeader, + AlertDialogTitle, + AlertDialogTrigger, +} from "@/components/ui/alert-dialog" + interface ResourceEditProps { children: React.ReactNode id: string; @@ -60,6 +72,17 @@ export default function ResourceEdit({ children, id, onRefresh }: ResourceEditPr } } + const handleRemove = async (id: string) => { + try { + await AdminApi.web.resource.remove(id); + toast.success("资源删除成功"); + onRefresh(); + setOpen(false); + } catch (error) { + toast.error((error as ApiError).message || "资源删除失败"); + } + } + return ( @@ -154,7 +177,29 @@ export default function ResourceEdit({ children, id, onRefresh }: ResourceEditPr - +
+ + + + + + + 是否要删除该资源? + + 该操作不可逆,删除后将无法恢复该资源 + + + + 取消 + handleRemove(id)}>删除 + + + +
+ + +
+
)}