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