From 0f989d1d6ba44539ab5990bf87e28491afa367c3 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 17:26:38 +0800 Subject: [PATCH] =?UTF-8?q?feat(development-plan):=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E8=AE=A1=E5=88=92=E6=96=87=E6=A1=A3=EF=BC=8C?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E7=AC=AC=E5=85=AD=E9=98=B6=E6=AE=B5=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=AE=8C=E6=88=90=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增第六阶段:首页体验优化与数据一致性重构 - 完成任务6.1:优化首页默认视图 - 新增接口获取最近修改的笔记 - 修复后端编译和分页查询问题 - 前端实现加载时显示最新笔记 - 完成任务6.2:实现数据驱动的分类名显示 - 新增 MarkdownFileVO 类包含分类名 - 重构后端查询方法,支持获取分类名 - 更新前端笔记卡片模板,直接显示分类名 --- doc/development_plan.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/doc/development_plan.md b/doc/development_plan.md index 2ad6ffd..7f7be91 100644 --- a/doc/development_plan.md +++ b/doc/development_plan.md @@ -78,3 +78,26 @@ - **前端**: 修复了新建笔记时,后续自动保存操作会重复创建记录的BUG。 - **任务5.4:修复Markdown预览问题 (已完成)** - **前端**: 解决了Vditor预览时因DOM异步更新和数据处理不当导致的渲染崩溃及内容截断问题,确保了预览功能的稳定性。 + +## 第六阶段:首页体验优化与数据一致性重构 (已完成) + +这个阶段我们专注于提升应用的初始加载体验,并对后端数据结构进行了重构,以确保前端UI的数据一致性。 + +- **任务6.1:优化首页默认视图 (已完成)** + - **需求**: 解决首页在未选择任何分类时显示空白的问题。 + - **后端**: + - 新增了 `/api/markdown/recent` 接口,用于获取指定数量的、按修改时间倒序排列的笔记。 + - 修复了因 `pom.xml` 中 Mybatis-Plus 依赖版本号错误 (`3.5.12` -> `3.5.7`) 导致的编译失败和无法启动的问题。 + - 修复了因缺少 Mybatis-Plus 分页插件配置而导致的分页查询失效问题。 + - **前端**: + - 在 `HomePage.vue` 的 `onMounted` 生命周期钩子中调用新接口,实现了在应用加载时默认显示最新的12篇笔记。 + - 修改了“我的笔记”标题的点击事件,使其恢复到显示最新笔记的默认视图。 + +- **任务6.2:实现数据驱动的分类名显示 (已完成)** + - **需求**: 解决首页“最近笔记”列表和分类筛选后列表均无法显示笔记所属分类名称的问题。 + - **后端**: + - 创建了 `MarkdownFileVO` (View Object) 类,在 `MarkdownFile` 实体类的基础上增加了 `groupingName` 字段。 + - 使用 `@Select` 注解和原生 `JOIN` SQL 查询重构了 `MarkdownFileMapper`,创建了 `selectRecentWithGrouping` 和 `selectByGroupingIdWithGrouping` 两个新方法。 + - 全面更新了 `MarkdownFileService` 和 `MarkdownController`,将 `/api/markdown/recent` 和 `/api/markdown/grouping/{groupingId}` 两个接口的返回数据统一升级为包含分类名的 `MarkdownFileVO` 对象列表。 + - **前端**: + - 修改了 `HomePage.vue` 中的笔记卡片模板,使其直接从每个笔记对象中获取并显示 `groupingName` 属性,取代了之前错误的全局变量方案。