Commit Graph

56 Commits

Author SHA1 Message Date
ikmkj
72c916da4d feat(auth): 实现登录认证和权限控制功能
- 添加用户登录和登出功能
- 实现 Token 过期和无效的错误处理
- 添加路由权限控制,未登录用户重定向到登录页
- 优化登录失败的错误提示
- 修复搜索功能的返回数据问题
2025-08-06 23:42:18 +08:00
b28446c4b6 feat(image): 添加图片清理功能- 新增 FileStorageService 用于文件上传、下载和删除操作- 实现 ImageCleanupService 清理冗余图片
- 添加 ImageCleanupController 提供手动清理图片的 API
- 创建 ImageCleanupScheduler定时清理冗余图片
- 更新相关 Mapper 接口,增加必要的查询和删除方法
2025-08-06 17:29:11 +08:00
67f189995e refactor(biji-houdaun): 重构用户认证方法并添加安全工具类
- 将 MarkdownController 中的 isUserAuthenticated 方法移至 SecurityUtil 工具类- 在 SecurityUtil 中添加以下新方法:
  - getCurrentUsername - getCurrentUserDetails
  - hasRole
  - hasPermission - isAdmin
- 更新 MarkdownController 中的相关调用,使用 SecurityUtil 的静态方法
2025-08-06 15:22:00 +08:00
5f608b7573 feat(note): 增加私密笔记功能
- 在 MarkdownFile 表中添加 is_private 字段,用于标记笔记是否私密- 修改 MarkdownController 中的 getMarkdownContent 方法,增加对私密笔记的处理逻辑
- 更新 MarkdownFileService 接口和 MarkdownFileServiceImpl 实现类,支持根据认证状态获取笔记内容
- 优化未认证用户访问私密笔记时的处理,只显示标题不显示内容
2025-08-06 14:49:05 +08:00
7bf4ad137d refactor(biji-houdaun): 调整注册状态接口路径
- 将 "/api/system/registration/status" 接口路径修改为 "/system/registration/status"- 此修改简化了接口路径,去除了不必要的 "api"前缀
2025-08-06 11:02:42 +08:00
ikmkj
1cac44d5b3 Merge remote-tracking branch 'origin/master' 2025-08-04 19:45:59 +08:00
ikmkj
c188437ed5 refactor: 简化实体类并使用esbuild优化构建
Co-authored-by: aider (openai/gemini-2.5-pro) <aider@aider.chat>
2025-08-04 19:33:00 +08:00
8a52ad708f feat(security): 完善用户认证和权限管理
- 添加密码编码器,增强密码安全性
- 配置安全过滤链,实现无状态会话管理
- 更新用户详细信息获取逻辑,保留现有行为
2025-08-04 16:23:02 +08:00
b4f431aa03 build: 移除配置文件并清理MCP服务设置 2025-08-04 11:55:16 +08:00
ikmkj
f7c242dc73 ci: 更新环境变量并添加前端构建脚本
- 修改 .env.production 文件中的 VITE_API_BASE_URL 为新的后端服务地址- 在 package.json 中添加 build:frontend 脚本,用于前端项目构建
- 注释掉 pom.xml 中的 Docker 镜像构建配置
2025-08-02 23:21:31 +08:00
ikmkj
81678da683 refactor: 使用 Hutool工具类优化空值判断- 在多个控制器和服务实现类中,将原始的空值判断替换为 Hutool 工具类中的方法
- 使用 ObjectUtil.isNull() 替换原始的 == null 判断
- 使用 ObjectUtil.isNotNull() 替换原始的 != null 判断
- 在某些情况下,使用 StrUtil.isBlank() 替换原始的 == null 判断,以更准确地检查字符串是否为空
2025-08-02 19:53:47 +08:00
ikmkj
f858a9bcd6 feat(security): 根据环境动态配置白名单
- 引入 Environment 接口以获取当前激活的配置文件
- 根据是否为 prod 环境动态设置公共端点的白名单
- 优化了 SecurityConfig 类中的安全过滤链配置
2025-08-02 19:42:40 +08:00
ikmkj
2508f07b7b build(biji-houdaun): 优化生产环境配置并调整安全设置
- 修改 pom.xml,使用 spring-boot-maven-plugin 排除生产环境依赖
- 重构 SecurityConfig,简化公共端点配置并移除环境判断逻辑
2025-08-02 19:40:44 +08:00
ikmkj
1e7285cb68 feat(security): 动态配置公共端点白名单
-引入 Environment 接口以获取当前激活的配置文件
-根据是否为生产环境动态设置公共端点白名单
-优化了 SecurityConfig 类中的安全过滤链配置
2025-08-02 19:38:39 +08:00
ikmkj
f4851a80d3 build(biji-houdaun): 优化配置文件和依赖管理- 移除生产环境中的 MyBatis-Plus 配置- 在开发环境中添加 MyBatis-Plus 配置
- 在生产环境中禁用 Knife4j- 更新 Knife4j 和 springdoc 依赖为可选
-调整开发和生产环境的依赖范围
2025-08-02 19:27:02 +08:00
ikmkj
508eb0aacb build(biji-houdaun): 配置生产环境并优化构建流程
- 新增 production环境配置文件 application-prod.yml
- 更新 Dockerfile,设置生产环境变量
- 为 Knife4j 配置添加环境限制,仅在非生产环境激活
- 在 pom.xml 中添加开发和生产环境配置
- 更新编译打包命令文档,增加生产环境构建指令
2025-08-02 19:13:25 +08:00
ikmkj
15ad949da6 refactor(biji-houdaun): 调整端口并优化健康检查和跨域配置- 将应用端口从8083 改为8084
- 更新健康检查 URL 以匹配新端口
- 在 pom.xml 中指定镜像名称
- 修改跨域配置,使用 allowedOriginPatterns 允许所有来源
2025-08-02 17:18:47 +08:00
ikmkj
3a5ed5b84f build(biji-houdaun): 更新 Docker 配置和健康检查端口
- 修改健康检查端口:将 Dockerfile 中的健康检查 URL 从 http://localhost:8082/actuator/health 更改为 http://localhost:8083/actuator/health
- 更新 Docker 主机:将 pom.xml 中的 dockerHost 从 http://45.204.212.245:2375 更改为 http://127.0.0.1:2375- 调整资源目录:
2025-08-02 13:19:58 +08:00
ikmkj
2b3484d4cf feat(security): 优化权限控制并添加用户删除功能
- 更新 SecurityConfig,增加精确控制的公开阅读端点
- 实现用户删除功能,仅允许删除当前登录用户
- 优化用户删除接口,增加安全性检查
2025-08-02 12:12:59 +08:00
ikmkj
e10ad4b81c refactor(service): 为服务类添加全局事务管理
- 在 GroupingServiceImpl、ImageServiceImpl、MarkdownFileServiceImpl、RegistrationCodeServiceImpl、SystemSettingServiceImpl、TrashServiceImpl 和 UserServiceImpl 类上添加了 @Transactional 注解- 移除了 GroupingServiceImpl 中的局部 @Transactional 注解
- 此修改确保了每个服务类
2025-08-01 22:58:39 +08:00
ikmkj
399c79b756 feat(mapper): 添加物理删除功能并优化垃圾清理逻辑
- 在 GroupingMapper 和 MarkdownFileMapper 中添加物理删除方法
- 修改 TrashServiceImpl 中的 cleanTrash 方法,使用新增的物理删除方法
-优化了垃圾清理的 SQL 执行效率
2025-08-01 22:50:50 +08:00
ikmkj
15091c315e feat(image): 实现 Markdown 图片文件名同步
- 新增 ImageName 实体类和对应的 Mapper- 在 MarkdownFileService 中添加图片文件名同步方法
- 优化 HomePage 组件,支持实时预览 Markdown 内容
- 新增 MarkdownImageExtractor 工具类,用于提取 Markdown 中的图片文件名
2025-08-01 22:25:36 +08:00
ikmkj
165bd5ea92 feat(user): 添加用户修改密码功能
- 在前端 HomePage 组件中添加修改密码对话框
- 在 API 中添加 updatePassword 接口
- 在后端 UserController 中添加密码更新接口
- 在 UserService 中添加 updatePassword 方法
- 实现密码更新逻辑,包括旧密码验证和新密码加密
2025-08-01 20:20:17 +08:00
ikmkj
df80ca6968 feat(auth): 优化注册功能并添加注册异常处理
- 新增 RegistrationException 类用于处理注册相关的异常
- 在全局异常处理器中添加 RegistrationException 的处理逻辑
- 修改用户服务中的注册逻辑,当用户名或邮箱已存在时抛出 RegistrationException
- 更新注册码实体类,将日期时间字段改为字符串类型
- 调整注册码生成和验证逻辑,使用字符串格式的日期时间
2025-08-01 20:06:13 +08:00
ikmkj
77efac5a81 feat(system): 实现注册码功能并优化用户注册流程
- 新增注册码生成和验证功能- 实现系统设置管理,包括注册功能开关
- 更新前端界面,增加系统管理和注册码相关功能
- 修改数据库结构,添加系统设置和注册码表
2025-08-01 19:29:27 +08:00
2bb265d23f feat(image): 优化图片上传和预览功能
- 修改图片上传接口,支持用户 ID 和 Markdown ID 参数
- 实现在线预览功能,支持多种文件类型
- 优化图片插入到 Markdown 编辑器的逻辑
- 更新数据库配置和连接字符串
2025-08-01 17:21:16 +08:00
7a7247a851 feat(security): 添加自定义认证和授权异常处理器
- 新增 JwtAccessDeniedHandler 处理权限不足异常
- 新增 JwtAuthenticationEntryPoint 处理认证失败异常- 在 SecurityConfig 中集成自定义异常处理器
- 优化 GlobalExceptionHandler 中的异常日志输出
2025-08-01 08:58:41 +08:00
ikmkj
b0a714df83 feat(trash): 优化回收站物品恢复和永久删除逻辑
- 在 GroupingMapper 和 MarkdownFileMapper 中添加物理删除和恢复的 SQL 操作
- 优化 HomePage组件中的删除操作,删除后刷新分组树并回到主视图
- 在 TrashServiceImpl 中实现物品恢复和永久删除的业务逻辑- 为 TrashItemVo 中的 deletedAt 字段添加 JSON 格式化注解
2025-08-01 00:14:34 +08:00
ikmkj
c448ababa9 feattrash: 优化删除功能和回收站逻辑
- 修改 Markdown 文件和分组的删除逻辑,使用软删除方式
- 更新回收站相关接口和页面展示
-优化前端保存逻辑,支持新建文件和更新文件
- 调整后端 API 接口,使用更合适的 HTTP 方法
2025-07-31 23:58:13 +08:00
ikmkj
1491cfc330 feat(recycle-bin): 实现回收站功能
- 在数据库中添加逻辑删除字段和相关索引- 新增回收站相关实体类和接口
- 实现回收站列表查询、项目恢复、永久删除和清空回收站等功能
- 前端集成回收站接口,支持回收站页面操作
2025-07-31 23:09:58 +08:00
ikmkj
cd43768baf feat(security): 添加 Token 验证功能
- 在 CommonApi.js 中添加 validateToken 函数,用于验证 Token 有效性
- 在 HomePage.vue 中集成 Token 验证功能,导出前验证登录状态- 在 UserController.java 中添加 validateToken 接口,用于后端验证 Token
2025-07-31 19:39:59 +08:00
7f9811a578 feat(service): 增加 Markdown 文件分组名称字段
- 在 MarkdownFileVO 类中添加 groupingName 字段
- 修改 getFilesByGroupingId 和 getRecentFiles 方法返回 MarkdownFileVO 列表- 在前端 HomePage 组件中显示分组名称
- 优化后端 SQL 查询,减少不必要的查询次数
2025-07-31 17:13:00 +08:00
9fae14e12e refactor(biji-houdaun): 调整获取最近更新笔记的数量为12条
- 在 MarkdownController 类中的 getRecentFiles 方法中,将获取最近更新笔记的数量从 10 条调整为 12 条
2025-07-31 16:52:12 +08:00
f72d75e349 feat(biji): 添加最近更新笔记功能
- 在前端添加 getRecentFiles API 接口
- 在后端添加 getRecentFiles 接口和相关服务方法
- 实现最近更新笔记的获取和展示
- 优化首页初始化逻辑,加载最近更新笔记
2025-07-31 16:47:44 +08:00
d6d3401bb0 feat(service): 删除分组时更新相关文件
- 在删除分组前,将该分组下的所有文件移动到默认分组(ID为999)
- 新增 MarkdownFileMapper 依赖,用于更新文件分组
- 使用 @Transactional 注解确保删除分组和更新文件的操作在一个事务中完成
2025-07-31 15:41:01 +08:00
7bab57c59b feat(grouping): 添加删除分组功能
- 在前端增加删除分组的 API 接口和相应的方法
- 在后端实现删除分组的接口
- 修改分组实体类,使用 Snowflake算法生成 ID
- 在首页组件中添加删除分组的按钮和相关逻辑
- 删除分组时,将分组下的所有笔记移动到"未分类"目录
2025-07-31 15:21:30 +08:00
c660ae5b12 feat(笔记): 添加笔记移动功能并优化分类管理
- 后端:修改创建分组接口,支持接收 parent_id 参数
-前端:实现笔记移动功能,增加移动按钮和对话框- 优化分类列表渲染逻辑,支持点击分类名称查看笔记
- 调整笔记列表显示样式,增加分类名称
2025-07-31 15:05:14 +08:00
b38e97b8c3 refactor(biji): 重构笔记保存逻辑并修复相关BUG
- 后端:将笔记创建和更新逻辑合并为一个接口,根据ID是否存在自动判断操作类型
- 前端:修复了新建笔记时自动保存导致数据重复创建的问题
- 优化了与后端的数据同步,确保本地状态与服务器保持一致
2025-07-31 11:40:50 +08:00
a5c3ca482f feat(security): 更新 JWT 密钥并改进加密方式
- 更新 JWT 密钥为一个足够长的 Base64 编码密钥,满足 HS512 的要求
- 修改 JwtTokenUtil 类,使用 Keys.hmacShaKeyFor 生成密钥
- 优化 token 解析和生成过程,使用 parserBuilder 设置密钥

refactor(category): 重构分类组件并优化分类选择逻辑

- 移除原有的分类层级结构,改为使用树形结构
- 优化分类选择界面,使用级联选择器- 重构分类相关的数据结构和方法,提高可维护性

fix(application.yml): 优化配置文件格式

- 更新 JWT 密钥配置,确保密钥长度符合要求
2025-07-31 11:15:34 +08:00
e0a99235ec feat(功能): 增加笔记重命名和导出功能- 在笔记列表和预览页面添加重命名功能
- 实现笔记内容自动保存机制
-增加笔记导出为 Markdown 文件的功能
- 优化后端接口,支持更新笔记标题
2025-07-31 10:16:49 +08:00
2f9e68c636 feat(前端): 实现用户登录、注册和搜索功能
- 新增登录和注册页面组件
- 实现用户登录、注册和登出逻辑
- 添加笔记搜索功能
- 更新主页组件,支持用户状态显示和搜索
- 引入 Pinia 状态管理库
2025-07-31 09:45:49 +08:00
ab4891d8db feat(security): 添加 JWT 认证功能
- 在后端添加 JWT 认证过滤器 JwtAuthenticationTokenFilter
- 创建 JwtTokenUtil 工具类用于生成和验证 JWT token
- 在 application.yml 中配置 JWT 相关参数
- 更新前端 HomePage 组件,增加用户认证相关逻辑
2025-07-31 09:27:13 +08:00
de8758f7cc feat(database): 更新数据库配置并添加分组功能
- 更新 application-dev.yml 文件中的数据库连接 URL
- 在 data.sql 文件中添加新的 grouping 表结构
- 新增 grouping.sql 文件,定义分组表的结构
2025-07-30 11:57:58 +08:00
ikmkj
57fb74dc49 feat(note): 新增笔记创建和编辑功能
- 实现了笔记创建和编辑的前端逻辑
- 更新了相关的后端接口和数据库操作
- 优化了分组获取和展示逻辑
-调整了 Markdown 文件更新接口
2025-07-30 07:48:38 +08:00
ikmkj
431e3dea1c feat(qianduan): 优化笔记功能和图片处理
- 新增批量删除图片接口和功能- 实现笔记中图片的上传和删除
- 优化笔记保存时的图片处理逻辑
-调整分组展示和Markdown文件加载方式
2025-06-20 15:35:53 +08:00
ikmkj
12ba82eaa1 feat(image): 添加图片删除功能并优化 Markdown 编辑器
- 在 ImageController 中添加删除图片的接口
- 在 ImageService 中实现删除图片和批量更新图片 ID 的方法
- 在前端集成复制代码插件并优化 Markdown 编辑器配置
- 修复后端分组相关接口的参数类型问题
2025-06-20 09:35:19 +08:00
ikmkj
df848fed23 feat(qianduan): 实现 Markdown 文件的更新功能
- 新增 updateMarkdown API 接口,用于更新 Markdown 文件内容
- 在 HomePage 组件中集成 Markdown 编辑器,支持文件编辑和保存
- 优化 MarkdownEditor 组件,支持内容预览和编辑切换
- 更新后端 MarkdownController,增加文件更新相关处理
2025-06-19 17:27:43 +08:00
ikmkj
827c661e5c feat(qianduan): 重构前端结构并添加新功能
- 新增分类创建功能
- 新增笔记创建功能
- 优化笔记列表展示
- 改进笔记预览界面
- 添加删除笔记功能
- 重构菜单选择逻辑
- 优化文件上传处理
- 更新Markdown编辑器配置
2025-06-19 15:02:51 +08:00
ikmkj
b1b74f5efd feat(biji): 优化笔记展示功能并调整端口
-将服务器端口从 8083 改为 8084
- 在数据库中添加 grouping_id 字段
- 实现笔记分组展示功能
-优化笔记编辑页面布局
-重构后端接口返回类型
- 移除 MarkdownFile 实体中的 userId 字段
2025-06-17 21:54:53 +08:00
ikmkj
4557bd49f9 feat(grouping): 新增分组功能并优化 Markdown 文件操作
- 新增分组实体、控制器、服务和映射器
- 实现分组创建、获取、更新和删除接口
- 优化 Markdown 文件创建、获取和删除接口- 新增全局异常处理和日志记录
- 更新数据库表结构和字段类型
- 重构前端页面,支持分组和 Markdown 文件展示
2025-06-17 20:46:10 +08:00