Initial commit: Freedom Admin 权限管理系统

This commit is contained in:
张家训
2026-08-19 14:45:24 +08:00
commit 54acf90f4e
80 changed files with 6871 additions and 0 deletions
+226
View File
@@ -0,0 +1,226 @@
# Freedom Admin 管理系统架构流程图
## 系统架构概览
```mermaid
graph TB
A[前端界面] -->|HTTP请求| B[Spring Boot 应用服务器]
B --> C[Spring Security]
B --> D[Spring MVC]
B --> E[Thymeleaf 模板引擎]
C --> F[JWT 认证]
C --> G[权限控制]
D --> H[Controller 层]
H --> I[Service 层]
I --> J[Mapper 层]
J --> K[MyBatis-Plus]
E --> L[页面渲染]
K --> M[MySQL 数据库]
B --> N[邮件服务]
N --> O[SMTP 服务器]
B --> P[代码生成器]
P --> Q[Beetl 模板引擎]
```
## 详细架构流程
### 1. 用户访问流程
```mermaid
sequenceDiagram
participant U as 用户
participant F as 前端界面
participant GW as 安全网关
participant C as Controller
participant S as Service
participant D as 数据库
U->>F: 访问系统
F->>GW: HTTP请求
GW->>GW: JWT认证检查
GW->>C: 路由到对应Controller
C->>S: 调用业务逻辑
S->>D: 数据库操作
D->>S: 返回数据
S->>C: 业务处理结果
C->>F: 返回响应数据
F->>U: 页面渲染展示
```
### 2. 安全认证流程
```mermaid
flowchart TD
Start[用户登录] --> Input[输入用户名密码]
Input --> Validate{格式验证}
Validate -->|格式错误| Error1[返回错误信息]
Validate -->|格式正确| Auth[Spring Security认证]
Auth --> DB[查询数据库验证]
DB -->|验证失败| Error2[认证失败]
DB -->|验证成功| JWT[生成JWT Token]
JWT --> Success[登录成功]
Success --> SetToken[设置Token到响应头]
SetToken --> Redirect[重定向到首页]
```
### 3. 请求处理流程
```mermaid
graph LR
A[HTTP请求] --> B[DispatcherServlet]
B --> C[HandlerMapping]
C --> D[Controller]
D --> E[Service]
E --> F[Mapper/MyBatis-Plus]
F --> G[MySQL数据库]
G --> F
F --> E
E --> D
D --> H[ViewResolver]
H --> I[Thymeleaf模板]
I --> J[HTTP响应]
```
### 4. 数据流架构
```mermaid
graph TD
A[前端UI层] -->|JSON/Form Data| B[Controller控制层]
B -->|Service接口| C[Service业务层]
C -->|Mapper接口| D[数据访问层]
D -->|SQL映射| E[MySQL数据库]
F[代码生成器] -->|Beetl模板| G[生成代码文件]
G --> H[Controller/Service/Entity]
I[邮件服务] -->|SMTP协议| J[邮件服务器]
```
## 核心组件架构
### 1. 认证授权架构
```mermaid
graph TB
subgraph "安全认证模块"
A[JWT认证过滤器] --> B[Spring Security]
B --> C[UserDetailsService]
C --> D[密码加密器]
B --> E[权限决策器]
E --> F[角色权限映射]
end
subgraph "数据库层"
G[用户表] --> H[角色表]
H --> I[权限表]
G --> J[用户角色关联]
H --> K[角色权限关联]
end
A --> G
E --> I
```
### 2. 业务模块架构
```mermaid
graph LR
subgraph "用户管理模块"
A1[用户注册] --> A2[用户登录]
A2 --> A3[权限管理]
A3 --> A4[个人信息]
end
subgraph "代码生成模块"
B1[模板管理] --> B2[代码生成]
B2 --> B3[文件输出]
end
subgraph "邮件服务模块"
C1[邮件模板] --> C2[邮件发送]
C2 --> C3[发送记录]
end
subgraph "数据管理模块"
D1[部门管理] --> D2[活动管理]
D2 --> D3[药品管理]
D3 --> D4[订单管理]
end
```
### 3. 技术栈架构
```mermaid
graph TB
subgraph "前端技术栈"
A1[HTML5] --> A2[CSS3]
A2 --> A3[JavaScript]
A3 --> A4[Thymeleaf]
end
subgraph "后端技术栈"
B1[Spring Boot 2.7.10] --> B2[Spring Security]
B2 --> B3[MyBatis-Plus]
B3 --> B4[HikariCP]
end
subgraph "安全技术栈"
C1[JWT Token] --> C2[BCrypt加密]
C2 --> C3[权限控制]
end
subgraph "工具技术栈"
D1[Beetl模板] --> D2[邮件服务]
D2 --> D3[代码生成]
end
A4 --> B1
B4 --> C1
D3 --> B1
```
## 部署架构
```mermaid
graph TB
subgraph "应用服务器"
A[Spring Boot应用] --> B[Tomcat容器]
B --> C[JVM运行时]
end
subgraph "数据库服务器"
D[MySQL 8.0] --> E[数据存储]
E --> F[连接池]
end
subgraph "外部服务"
G[邮件服务器] --> H[SMTP服务]
I[前端资源] --> J[静态文件]
end
A --> D
A --> G
A --> I
```
## 配置文件架构
```mermaid
graph LR
A[application.yml] --> B[数据源配置]
A --> C[安全配置]
A --> D[邮件配置]
A --> E[MyBatis配置]
B --> F[数据库连接]
C --> G[JWT参数]
D --> H[SMTP设置]
E --> I[映射配置]
```
这个架构流程图展示了 Freedom Admin 管理系统的完整技术架构和业务流程,包括前端到后端的完整请求处理流程、安全认证机制、模块化设计以及技术栈构成。