3.7 KiB
3.7 KiB
Hertz 权限管理系统项目说明文档
1. 项目简介
Hertz 权限管理系统是一个基于前后端分离架构的轻量级权限管理平台。系统集成了用户管理、角色管理、菜单管理等核心功能,采用 RBAC(Role-Based Access Control)模型实现细粒度的权限控制。
1.1 项目结构
项目采用典型的多模块(或目录分离)结构:
- hertz_springboot: 后端工程,基于 Spring Boot 3 + MyBatis-Plus。
- hertz_springboot_ui: 前端工程,基于 Vue 3 + Vite + Element Plus。
2. 技术栈
2.1 后端技术栈 (hertz_springboot)
- 核心框架: Spring Boot 3.4.1
- 持久层框架: MyBatis-Plus 3.5.8
- 安全框架: Spring Security + JJWT 0.12.6 (实现无状态 JWT 认证)
- 数据库连接池: HikariCP (Spring Boot 默认)
- 数据库驱动: MySQL Connector/J
- 工具库: Lombok
- 运行环境: Java 21
2.2 前端技术栈 (hertz_springboot_ui)
- 核心框架: Vue 3.5.24
- 构建工具: Vite 7.2.4
- UI 组件库: Element Plus 2.13.1
- 状态管理: Pinia 3.0.4
- 路由管理: Vue Router 4.6.4
- HTTP 客户端: Axios 1.13.2
3. 功能模块
- 认证模块: 支持用户登录、注册(可选)、JWT Token 颁发与验证。
- 系统管理:
- 用户管理: 用户的增删改查、分配角色、状态控制。
- 角色管理: 角色的增删改查、分配菜单权限。
- 菜单管理: 动态菜单配置,支持目录、菜单、按钮三种类型,支持权限标识配置。
- 个人中心: 用户资料修改、密码修改、头像上传。
- 监控模块:
- 系统监控: 实时展示 CPU、内存、JVM、服务器信息、磁盘状态。
- 监控日志: 记录系统运行时的性能指标。
- AI 助手模块:
- 智能对话: 集成 Spring AI (Ollama),支持与 AI 助手进行智能对话。
- 会话管理: 支持历史会话的持久化存储与查询。
4. 快速开始
4.1 环境准备
- JDK 21+
- Node.js 18+
- MySQL 8.0+
4.2 后端启动
- 进入后端目录:
cd hertz_springboot - 配置数据库:
- 创建数据库
hertz_springboot。 - 导入
src/main/resources/schema.sql初始化表结构和数据。 - 修改
src/main/resources/application.yml中的数据库连接信息(url, username, password)。
- 创建数据库
- 运行项目:
或者在 IDE 中运行
mvn spring-boot:runHertzApplication.java。 后端服务将启动在http://localhost:8080。
4.3 前端启动
- 进入前端目录:
cd hertz_springboot_ui - 安装依赖:
npm install - 启动开发服务器:
前端服务通常启动在
npm run devhttp://localhost:5173。
5. 默认账号
初始化 SQL 脚本中包含以下默认账号(密码均为 123456):
- 管理员:
hertz - 普通用户:
demo
6. 配置说明
6.1 后端配置 (application.yml)
- Server Port: 8080
- File Upload:
- 最大文件大小: 2MB
- 最大请求大小: 10MB
- 上传根路径:
d:\LocalFile\hertz_springboot\uploads(请根据实际环境修改)
- JWT:
- 密钥:
app.jwt.secret(建议在生产环境中修改为强随机字符串) - 过期时间: 86400秒 (24小时)
- 密钥:
7. 注意事项
- 文件上传: 默认配置了本地文件存储路径,请确保该路径存在或有写入权限,或者在
application.yml中修改为合适的路径。 - 跨域: 前端开发环境通常通过 Vite 代理解决跨域问题,生产环境需配置 Nginx 或后端 CORS。