Files
freedom-admin/系统架构流程图.md
T
2026-08-19 14:45:24 +08:00

5.0 KiB

Freedom Admin 管理系统架构流程图

系统架构概览

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. 用户访问流程

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. 安全认证流程

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. 请求处理流程

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. 数据流架构

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. 认证授权架构

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. 业务模块架构

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. 技术栈架构

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

部署架构

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

配置文件架构

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