1、软件功能、核心功能模块介绍
用户认证模块实现 JWT 账号注册与登录,采用 BCrypt 算法加密用户密码,通过 Spring Security 过滤器链管控请求,基于管理员、普通用户两类角色完成权限隔离。
文章管理模块支持分页展示全部文章,搭配关键词检索、分类筛选功能;支持新建与编辑文章,内置 Markdown 编辑器;可修改文章发布状态,包含草稿、已发布、已归档三种类型,同时统计文章页面浏览量。
分类管理模块支持无限层级树形分类,依靠父子关联实现层级关系,提供分类新增、删除功能,前端递归渲染完整分类树。
仪表盘模块展示数据统计卡片,包含文章总数量、分类总数、已发布文章数量,同时展示项目整体技术栈信息。
后台管理界面采用深色侧边导航栏,页面完成全响应式适配,全站统一视觉设计规范。
3、整体架构和设计思路,不同模块使用的技术栈
后端框架使用 Spring Boot 3.3.2 搭配 Maven 构建工具,采用分层架构设计,层级依次为控制器层、业务服务层、数据持久层、实体类层;统一封装全局返回对象 ApiResponse,配置全局异常捕获处理。
数据库与持久层选用 Spring Data JPA、Hibernate 框架,数据库使用 H2 文件型数据库,共设计四张数据表,分别存储用户、文章、分类、媒体资源;通过自引用外键实现分类树形层级结构。
安全认证依托 Spring Security 6 框架与 jjwt 工具包实现 JWT 令牌,采用无状态会话机制,配置跨域 CORS 规则,使用 BCrypt 密码编码器,自定义 JWT 令牌解析过滤器。
前端框架基于 React 18、Vite 搭建,搭配 React Router v6 实现页面路由、Tailwind CSS 完成样式开发;用户登录令牌存储在本地存储 localStorage,统一封装接口请求模块,通过 Vite 代理转发后端接口请求。
数据初始化通过 CommandLineRunner 实现,项目启动时自动导入种子测试数据,包含 2 个测试用户、7 个内容分类、4 篇演示文章。