Files
HertzAdmin-SpringBoot/项目说明文档.md
2026-01-20 15:28:01 +08:00

109 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Hertz 权限管理系统项目说明文档
## 1. 项目简介
Hertz 权限管理系统是一个基于前后端分离架构的轻量级权限管理平台。系统集成了用户管理、角色管理、菜单管理等核心功能,采用 RBACRole-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. 功能模块
1. **认证模块**: 支持用户登录、注册可选、JWT Token 颁发与验证。
2. **系统管理**:
- **用户管理**: 用户的增删改查、分配角色、状态控制。
- **角色管理**: 角色的增删改查、分配菜单权限。
- **菜单管理**: 动态菜单配置,支持目录、菜单、按钮三种类型,支持权限标识配置。
3. **个人中心**: 用户资料修改、密码修改、头像上传。
## 4. 快速开始
### 4.1 环境准备
- JDK 21+
- Node.js 18+
- MySQL 8.0+
### 4.2 后端启动
1. 进入后端目录:
```bash
cd hertz_springboot
```
2. 配置数据库:
- 创建数据库 `hertz_springboot`。
- 导入 `src/main/resources/schema.sql` 初始化表结构和数据。
- 修改 `src/main/resources/application.yml` 中的数据库连接信息url, username, password
3. 运行项目:
```bash
mvn spring-boot:run
```
或者在 IDE 中运行 `HertzApplication.java`。
后端服务将启动在 `http://localhost:8080`。
### 4.3 前端启动
1. 进入前端目录:
```bash
cd hertz_springboot_ui
```
2. 安装依赖:
```bash
npm install
```
3. 启动开发服务器:
```bash
npm run dev
```
前端服务通常启动在 `http://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。