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)
+}