feat(trash): 优化回收站物品恢复和永久删除逻辑

- 在 GroupingMapper 和 MarkdownFileMapper 中添加物理删除和恢复的 SQL 操作
- 优化 HomePage组件中的删除操作,删除后刷新分组树并回到主视图
- 在 TrashServiceImpl 中实现物品恢复和永久删除的业务逻辑- 为 TrashItemVo 中的 deletedAt 字段添加 JSON 格式化注解
This commit is contained in:
ikmkj
2025-08-01 00:14:34 +08:00
parent c448ababa9
commit b0a714df83
6 changed files with 38 additions and 28 deletions

View File

@@ -639,12 +639,9 @@ const handleDeleteGroup = (group) => {
try {
await apiDeleteGrouping(group.id);
ElMessage.success('分类已删除');
// 删除分类后,刷新分组树并回到主视图
await fetchGroupings();
await fetchMarkdownFiles();
if (activeMenu.value.startsWith('group-') && activeMenu.value.endsWith(group.id)) {
activeMenu.value = 'all';
groupMarkdownFiles.value = markdownFiles.value;
}
await resetToHomeView();
} catch (error) {
ElMessage.error('删除分类失败: ' + error.message);
}
@@ -666,13 +663,10 @@ const deleteNote = (file) => {
try {
await deleteMarkdown(file.id);
ElMessage.success('笔记已删除');
selectedFile.value = null;
await fetchMarkdownFiles();
// Optionally, refresh the current group's file list
if (activeMenu.value.startsWith('group-')) {
const groupId = activeMenu.value.split('-');
await selectFile({ id: groupId });
}
selectedFile.value = null; // 关闭预览
// 刷新分组和主视图
await fetchGroupings();
await resetToHomeView();
} catch (error) {
ElMessage.error('删除笔记失败: ' + error.message);
}