项目技术亮点
# 项目技术亮点
# 项目描述
基于若依(RuoYi-Vue)前后端分离框架的后台管理系统,学习并二次开发企业级权限管理、代码生成、定时任务等核心模块,并完成生产环境部署。
# 技术栈
Spring Boot · Spring Security · MyBatis · Redis · Vue2 · Element UI · Vuex · Vue Router · Nginx · MySQL
# 核心职责与技术亮点
- Spring Security 权限体系:为解决企业级权限管理需求,学习并实践 RBAC 权限模型,基于 Spring Security 实现用户认证(登录校验/验证码)与授权(角色/菜单/按钮三级权限),动态路由根据用户权限加载菜单
- 异步任务管理器:为解决日志同步记录影响主流程性能的问题,通过
AsyncManager+ 线程池实现日志异步记录(登录日志/操作日志),业务逻辑与日志记录解耦 - 代码生成器:为解决 CRUD 样板代码编写效率低的问题,使用若依内置代码生成器,根据数据库表自动生成 Java 后端(Controller/Service/Mapper)+ Vue 前端页面 + SQL 菜单脚本,大幅提升开发效率
- 数据权限注解:为解决不同角色查看不同范围数据的需求,使用
@DataScope注解实现数据权限控制,通过 AOP 动态拼接 SQL 条件,实现数据级权限隔离 - 树形结构组装:为解决部门树状结构展示问题,递归组装部门树状结构(
buildDeptTreeSelect),从扁平列表构建父子层级树,支持前端 Tree 组件渲染 - Redis 缓存优化:为解决验证码存储与用户权限频繁查询数据库的问题,将验证码存入 Redis 设置过期时间,用户登录信息/权限缓存到 Redis,减少数据库查询
- Nginx 生产部署:为解决 Vue Router history 模式刷新 404 与前后端跨域问题,配置 Nginx 静态资源托管 +
try_files解决刷新 404,反向代理/prod-api到后端 Spring Boot 服务 - Shell 脚本部署:为解决服务启停管理问题,编写
ry.sh脚本实现服务 start/stop/restart/status 管理,处理 Windows/Linux 换行符兼容问题(dos2unix)
上次更新: 2026/10/10 18:05:45