From 49646658ce4b9a3227534a9c4907901763aa3667 Mon Sep 17 00:00:00 2001 From: ikmkj <1@qq,com> Date: Tue, 6 Jan 2026 18:31:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(note):=20=E5=AE=9E=E7=8E=B0=E7=AC=94?= =?UTF-8?q?=E8=AE=B0=E5=88=9B=E5=BB=BA=E6=97=B6=E5=90=8E=E7=AB=AF=E7=94=9F?= =?UTF-8?q?=E6=88=90ID=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在CreateNoteDialog组件中导入updateMarkdown API并修改创建逻辑 - 创建笔记时传递null ID让后端生成唯一标识符 - 修改HomePage组件中的笔记创建和更新处理逻辑 - 在NoteEditor组件中获取后端返回的完整笔记数据包括新生成的ID - 新创建的笔记将添加到列表开头并正确更新显示 --- .../service/impl/MarkdownFileServiceImpl.java | 2 +- biji-qianduan/src/components/HomePage.vue | 4 +++- .../src/components/home/NoteEditor.vue | 8 ++++++-- .../home/dialogs/CreateNoteDialog.vue | 6 +++++- mydatabase.db | Bin 73728 -> 73728 bytes 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/biji-houdaun/src/main/java/com/test/bijihoudaun/service/impl/MarkdownFileServiceImpl.java b/biji-houdaun/src/main/java/com/test/bijihoudaun/service/impl/MarkdownFileServiceImpl.java index 648974d..bce54cf 100644 --- a/biji-houdaun/src/main/java/com/test/bijihoudaun/service/impl/MarkdownFileServiceImpl.java +++ b/biji-houdaun/src/main/java/com/test/bijihoudaun/service/impl/MarkdownFileServiceImpl.java @@ -175,4 +175,4 @@ public class MarkdownFileServiceImpl } } -} +} \ No newline at end of file diff --git a/biji-qianduan/src/components/HomePage.vue b/biji-qianduan/src/components/HomePage.vue index 04da96c..1f24e34 100644 --- a/biji-qianduan/src/components/HomePage.vue +++ b/biji-qianduan/src/components/HomePage.vue @@ -264,6 +264,7 @@ const handleGroupDeleted = async () => { const handleCreateNote = (payload) => { resetEdit(); + // 直接设置编辑数据,ID将在第一次保存时由后端生成 editData.value = payload; showEditor.value = true; selectedFile.value = null; // Ensure preview is hidden @@ -283,6 +284,7 @@ const handleSaveSuccess = (updatedFile) => { if (index !== -1) { groupMarkdownFiles.value[index] = updatedFile; } else { + // 如果是新创建的笔记(之前ID为null),添加到列表开头 groupMarkdownFiles.value.unshift(updatedFile); } @@ -567,4 +569,4 @@ watch([selectedFile, showEditor], ([newFile, newShowEditor]) => { height: 56px; box-shadow: 0 4px 12px rgba(0,0,0,.15); } - + \ No newline at end of file diff --git a/biji-qianduan/src/components/home/NoteEditor.vue b/biji-qianduan/src/components/home/NoteEditor.vue index 89d8c1b..addd181 100644 --- a/biji-qianduan/src/components/home/NoteEditor.vue +++ b/biji-qianduan/src/components/home/NoteEditor.vue @@ -84,7 +84,7 @@ const save = async (value) => { try { saveStatus.value = '正在保存...'; // 发送完整的笔记对象,确保包含所有必要字段 - await updateMarkdown({ + const response = await updateMarkdown({ id: props.editData.id, content: content, title: props.editData.title, @@ -92,9 +92,13 @@ const save = async (value) => { fileName: props.editData.fileName, isPrivate: props.editData.isPrivate }); + // 确保获取到后端返回的数据,包括可能的新ID + const updatedNote = response.data; + // 保存成功,更新状态 saveStatus.value = '已保存'; - emit('update:editData', { ...props.editData, content: content }); + // 发送更新后的笔记数据(包含可能的新ID) + emit('update:editData', { ...props.editData, ...updatedNote, content: content }); } catch (error) { // 保存失败,更新状态并显示错误消息 saveStatus.value = '保存失败'; diff --git a/biji-qianduan/src/components/home/dialogs/CreateNoteDialog.vue b/biji-qianduan/src/components/home/dialogs/CreateNoteDialog.vue index 976de75..a3c8944 100644 --- a/biji-qianduan/src/components/home/dialogs/CreateNoteDialog.vue +++ b/biji-qianduan/src/components/home/dialogs/CreateNoteDialog.vue @@ -41,6 +41,7 @@