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 @@ 确定 + + + + + + + + + + + + + +