1. 项目背景与核心价值
在内容创作日益普及的今天,越来越多的创作者希望拥有一个完全自主的内容发布平台。第三方平台虽然使用便捷,但往往存在审核严格、功能受限、数据归属不明确等问题。这套基于SpringBoot+Vue的博客系统正是为了解决这些痛点而生。
我去年指导过三个类似的毕业设计项目,发现学生们最常遇到的三个问题是:权限控制混乱、富文本编辑器集成困难、前后端数据交互效率低下。这个项目在架构设计上针对性地解决了这些问题:
- 采用RBAC权限模型,通过JWT实现细粒度控制
- 集成WangEditor作为富文本解决方案
- 使用MyBatis-Plus提高数据库操作效率
- 通过Axios拦截器优化前后端通信
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术栈选型解析
2.1 后端技术组合
SpringBoot 2.7 + MyBatis-Plus + Shiro + JWT构成了后端核心框架。这个组合经过了多个项目的验证:
- SpringBoot:简化配置,内置Tomcat,快速启动
- MyBatis-Plus:提供强大的CRUD接口和Wrapper条件构造器
- Shiro:负责认证和授权,比Spring Security更轻量
- JWT:无状态认证,适合RESTful API
数据库选择MySQL 8.0,主要考虑因素:
- 开源免费,社区支持好
- JSON类型支持完善,适合存储富文本内容
- 窗口函数等高级特性有利于数据分析
2.2 前端技术方案
Vue 3 + Element Plus + Axios构成前端技术栈:
javascript复制// 典型API请求示例
export function getArticleList(params) {
return request({
url: '/api/article/list',
method: 'get',
params
})
}
这种组合的优势在于:
- Vue3的Composition API逻辑复用更灵活
- Element Plus提供丰富的UI组件
- Axios拦截器统一处理错误和权限验证
3. 核心功能实现细节
3.1 权限控制系统
采用RBAC(基于角色的访问控制)模型,数据库设计如下:
