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` 属性,取代了之前错误的全局变量方案。