From e0a99235ec6b89370ccce9c70013ed4e08f8077a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E5=AD=9F?= <3111696955@qq.com> Date: Thu, 31 Jul 2025 10:16:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=8A=9F=E8=83=BD):=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=AC=94=E8=AE=B0=E9=87=8D=E5=91=BD=E5=90=8D=E5=92=8C=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E5=8A=9F=E8=83=BD-=20=E5=9C=A8=E7=AC=94=E8=AE=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=92=8C=E9=A2=84=E8=A7=88=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=87=8D=E5=91=BD=E5=90=8D=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=20-=20=E5=AE=9E=E7=8E=B0=E7=AC=94=E8=AE=B0=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E4=BF=9D=E5=AD=98=E6=9C=BA=E5=88=B6=20-?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=AC=94=E8=AE=B0=E5=AF=BC=E5=87=BA=E4=B8=BA?= =?UTF-8?q?=20Markdown=20=E6=96=87=E4=BB=B6=E7=9A=84=E5=8A=9F=E8=83=BD=20-?= =?UTF-8?q?=20=E4=BC=98=E5=8C=96=E5=90=8E=E7=AB=AF=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=EF=BC=8C=E6=94=AF=E6=8C=81=E6=9B=B4=E6=96=B0=E7=AC=94=E8=AE=B0?= =?UTF-8?q?=E6=A0=87=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MarkdownController.java | 12 ++ .../bijihoudaun/service/GroupingService.java | 6 + .../service/MarkdownFileService.java | 8 + .../service/impl/GroupingServiceImpl.java | 7 +- .../service/impl/MarkdownFileServiceImpl.java | 11 + biji-qianduan/src/api/CommonApi.js | 16 ++ biji-qianduan/src/components/HomePage.vue | 204 +++++++++++++++--- 7 files changed, 230 insertions(+), 34 deletions(-) diff --git a/biji-houdaun/src/main/java/com/test/bijihoudaun/controller/MarkdownController.java b/biji-houdaun/src/main/java/com/test/bijihoudaun/controller/MarkdownController.java index 083a49a..3883b6d 100644 --- a/biji-houdaun/src/main/java/com/test/bijihoudaun/controller/MarkdownController.java +++ b/biji-houdaun/src/main/java/com/test/bijihoudaun/controller/MarkdownController.java @@ -101,4 +101,16 @@ public class MarkdownController { List files = markdownFileService.searchByTitle(keyword); return R.success(files); } + + @Operation(summary = "更新Markdown文件标题") + @PutMapping("/{id}/title") + public R updateMarkdownTitle( + @PathVariable Long id, + @RequestBody String title) { + MarkdownFile updatedFile = markdownFileService.updateMarkdownTitle(id, title); + if (updatedFile != null) { + return R.success(updatedFile); + } + return R.fail("文件未找到或更新失败"); + } } diff --git a/biji-houdaun/src/main/java/com/test/bijihoudaun/service/GroupingService.java b/biji-houdaun/src/main/java/com/test/bijihoudaun/service/GroupingService.java index 65cffd1..7c51728 100644 --- a/biji-houdaun/src/main/java/com/test/bijihoudaun/service/GroupingService.java +++ b/biji-houdaun/src/main/java/com/test/bijihoudaun/service/GroupingService.java @@ -29,4 +29,10 @@ public interface GroupingService { * @param id */ void deleteGrouping(Long id); + + /** + * 批量保存或更新 + * @param groupings + */ + void saveOrUpdateBatch(List groupings); } diff --git a/biji-houdaun/src/main/java/com/test/bijihoudaun/service/MarkdownFileService.java b/biji-houdaun/src/main/java/com/test/bijihoudaun/service/MarkdownFileService.java index 1a95b9e..4c3527c 100644 --- a/biji-houdaun/src/main/java/com/test/bijihoudaun/service/MarkdownFileService.java +++ b/biji-houdaun/src/main/java/com/test/bijihoudaun/service/MarkdownFileService.java @@ -58,4 +58,12 @@ public interface MarkdownFileService extends IService { * @return 文件列表 */ List searchByTitle(String keyword); + + /** + * 更新Markdown文件标题 + * @param id 文件ID + * @param title 新标题 + * @return 更新后的文件对象 + */ + MarkdownFile updateMarkdownTitle(Long id, String title); } diff --git a/biji-houdaun/src/main/java/com/test/bijihoudaun/service/impl/GroupingServiceImpl.java b/biji-houdaun/src/main/java/com/test/bijihoudaun/service/impl/GroupingServiceImpl.java index 3fa94bd..c0d43c0 100644 --- a/biji-houdaun/src/main/java/com/test/bijihoudaun/service/impl/GroupingServiceImpl.java +++ b/biji-houdaun/src/main/java/com/test/bijihoudaun/service/impl/GroupingServiceImpl.java @@ -11,7 +11,7 @@ import org.springframework.stereotype.Service; import java.util.List; @Service -public class GroupingServiceImpl +public class GroupingServiceImpl extends ServiceImpl implements GroupingService { @@ -44,4 +44,9 @@ public class GroupingServiceImpl public void deleteGrouping(Long id) { this.removeById(id); } + + @Override + public void saveOrUpdateBatch(List groupings) { + super.saveOrUpdateBatch(groupings); + } } 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 b95e135..fcc3f9f 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 @@ -88,4 +88,15 @@ public class MarkdownFileServiceImpl queryWrapper.like("title", keyword); return this.list(queryWrapper); } + + @Override + public MarkdownFile updateMarkdownTitle(Long id, String title) { + MarkdownFile file = this.getById(id); + if (file != null) { + file.setTitle(title); + file.setUpdatedAt(new Date()); + this.updateById(file); + } + return file; + } } diff --git a/biji-qianduan/src/api/CommonApi.js b/biji-qianduan/src/api/CommonApi.js index 3fa519d..4692261 100644 --- a/biji-qianduan/src/api/CommonApi.js +++ b/biji-qianduan/src/api/CommonApi.js @@ -74,9 +74,25 @@ export const register = (data) => { headers: { 'Content-Type': 'multipart/form-data' } + }) } +// 更新分组名称 +export const updateGroupingName = (id, newName) => { + return axiosApi.put(`/api/groupings/${id}`, { grouping: newName }); +} + +// 更新Markdown文件标题 +export const updateMarkdownTitle = (id, newTitle) => { + return axiosApi.put(`/api/markdown/${id}/title`, newTitle, { + headers: { + 'Content-Type': 'text/plain' + } + }); +} + + diff --git a/biji-qianduan/src/components/HomePage.vue b/biji-qianduan/src/components/HomePage.vue index d61b05f..f32ff00 100644 --- a/biji-qianduan/src/components/HomePage.vue +++ b/biji-qianduan/src/components/HomePage.vue @@ -25,8 +25,11 @@
-

{{ selectedFile.title }}

+

+ {{ selectedFile.title }} + +

清空 编辑 删除 返回 保存 + {{ saveStatus }} + 导出为.md
@@ -167,13 +175,38 @@ 确定 + + + + + + + + + + + + + +