Files
HertzAdmin-SpringBoot/项目说明文档.md
2026-01-22 17:47:48 +08:00

3.7 KiB
Raw Blame History

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. 监控模块:
    • 系统监控: 实时展示 CPU、内存、JVM、服务器信息、磁盘状态。
    • 监控日志: 记录系统运行时的性能指标。
  5. AI 助手模块:
    • 智能对话: 集成 Spring AI (Ollama),支持与 AI 助手进行智能对话。
    • 会话管理: 支持历史会话的持久化存储与查询。

4. 快速开始

4.1 环境准备

  • JDK 21+
  • Node.js 18+
  • MySQL 8.0+

4.2 后端启动

  1. 进入后端目录:
    cd hertz_springboot
    
  2. 配置数据库:
    • 创建数据库 hertz_springboot
    • 导入 src/main/resources/schema.sql 初始化表结构和数据。
    • 修改 src/main/resources/application.yml 中的数据库连接信息url, username, password
  3. 运行项目:
    mvn spring-boot:run
    
    或者在 IDE 中运行 HertzApplication.java。 后端服务将启动在 http://localhost:8080

4.3 前端启动

  1. 进入前端目录:
    cd hertz_springboot_ui
    
  2. 安装依赖:
    npm install
    
  3. 启动开发服务器:
    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。