From b7efee66ad806f94671cf291975958ec09234665 Mon Sep 17 00:00:00 2001 From: gpu Date: Wed, 4 Feb 2026 22:04:46 +0800 Subject: [PATCH] 21 --- .../Controllers/DanyeController.cs | 20 +++++++++++++ .../Services/Interfaces/IDanyeService.cs | 7 +++++ .../admin-web/src/api/business/danye.ts | 12 ++++++++ .../business/danye/components/DanyeTable.vue | 10 ++++++- .../src/views/business/danye/list.vue | 30 ++++++++++++++++++- 5 files changed, 77 insertions(+), 2 deletions(-) diff --git a/server/HoneyBox/src/HoneyBox.Admin.Business/Controllers/DanyeController.cs b/server/HoneyBox/src/HoneyBox.Admin.Business/Controllers/DanyeController.cs index 63ab823d..a7645b61 100644 --- a/server/HoneyBox/src/HoneyBox.Admin.Business/Controllers/DanyeController.cs +++ b/server/HoneyBox/src/HoneyBox.Admin.Business/Controllers/DanyeController.cs @@ -103,4 +103,24 @@ public class DanyeController : BusinessControllerBase return Error(ex.Code, ex.Message); } } + + /// + /// 清空单页内容 + /// + /// 单页ID + /// 操作结果 + [HttpPut("{id}/clear-content")] + [BusinessPermission("danye:edit")] + public async Task ClearContent(int id) + { + try + { + var result = await _danyeService.ClearContentAsync(id); + return result ? Ok("清空成功") : Error(BusinessErrorCodes.InternalError, "清空失败"); + } + catch (BusinessException ex) + { + return Error(ex.Code, ex.Message); + } + } } diff --git a/server/HoneyBox/src/HoneyBox.Admin.Business/Services/Interfaces/IDanyeService.cs b/server/HoneyBox/src/HoneyBox.Admin.Business/Services/Interfaces/IDanyeService.cs index a224c1c2..a5c037b4 100644 --- a/server/HoneyBox/src/HoneyBox.Admin.Business/Services/Interfaces/IDanyeService.cs +++ b/server/HoneyBox/src/HoneyBox.Admin.Business/Services/Interfaces/IDanyeService.cs @@ -35,4 +35,11 @@ public interface IDanyeService /// 图片优化请求 /// 是否成功 Task ToggleImageOptimizerAsync(int id, ImageOptimizerRequest request); + + /// + /// 清空单页内容 + /// + /// 单页ID + /// 是否成功 + Task ClearContentAsync(int id); } diff --git a/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/danye.ts b/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/danye.ts index 04079735..239008a5 100644 --- a/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/danye.ts +++ b/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/api/business/danye.ts @@ -98,3 +98,15 @@ export function toggleImageOptimizer(id: number, data: ImageOptimizerRequest): P data }) } + +/** + * 清空单页内容 + * @param id 单页ID + * @returns 操作结果 + */ +export function clearDanyeContent(id: number): Promise> { + return request({ + url: `${DANYE_BASE_URL}/${id}/clear-content`, + method: 'put' + }) +} diff --git a/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/views/business/danye/components/DanyeTable.vue b/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/views/business/danye/components/DanyeTable.vue index 93f24867..66604ea5 100644 --- a/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/views/business/danye/components/DanyeTable.vue +++ b/server/HoneyBox/src/HoneyBox.Admin/admin-web/src/views/business/danye/components/DanyeTable.vue @@ -27,11 +27,14 @@ - + @@ -51,6 +54,7 @@ defineProps() const emit = defineEmits<{ (e: 'edit', row: DanyeResponse): void (e: 'toggle-optimizer', row: DanyeResponse, value: boolean): void + (e: 'clear', row: DanyeResponse): void }>() const handleEdit = (row: DanyeResponse) => { @@ -60,6 +64,10 @@ const handleEdit = (row: DanyeResponse) => { const handleToggleOptimizer = (row: DanyeResponse, value: boolean) => { emit('toggle-optimizer', row, value) } + +const handleClear = (row: DanyeResponse) => { + emit('clear', row) +}