226 lines
5.0 KiB
Markdown
226 lines
5.0 KiB
Markdown
# 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 管理系统的完整技术架构和业务流程,包括前端到后端的完整请求处理流程、安全认证机制、模块化设计以及技术栈构成。 |