阳少的工具站 阳少的工具站
首页
  • 项目简介
  • 项目部署
  • 快速上手
  • 功能使用

    • 代码生成
    • 权限控制
    • 数据权限
问答
💖支持
GitHub (opens new window)
首页
  • 项目简介
  • 项目部署
  • 快速上手
  • 功能使用

    • 代码生成
    • 权限控制
    • 数据权限
问答
💖支持
GitHub (opens new window)
  • 指南

    • 项目简介
    • 项目部署
    • 快速上手
    • 项目架构
      • 项目架构概览
      • 模块结构
      • 核心模块说明
        • 1. 基础服务层
        • yt4j-gateway(服务网关)
        • yt4j-auth(鉴权服务)
        • 2. 公共模块层(yt4j-commons)
        • yt4j-core(核心包)
        • yt4j-data(数据权限)
        • yt4j-flow(流程编排)
        • yt4j-sa-token(权限认证)
        • yt4j-swagger(API 文档)
        • yt4j-log(统一日志)
        • 3. 业务模块层(yt4j-modules)
        • yt4j-sys(系统权限模块)
        • yt4j-crm(CRM 模块)
        • yt4j-flow-server(流程编排服务)
        • yt4j-monitor(监控服务)
        • 4. 插件模块(yt4j-plugin)
        • yt4j-im(企业 IM 插件)
      • 架构设计特点
        • 1. 模块化设计
        • 2. 分层架构
        • 3. 技术选型原则
        • 4. 开发友好
      • 技术架构图
      • 未来规划
  • 功能使用

    • 代码生成
    • 权限控制
    • 数据权限
    • 流程编排
    • 企业IM集成
  • 指南
  • 指南
gyv12345@163.com
2024-12-26
目录

项目架构

# 项目架构概览

yt4j 采用典型的微服务架构,通过 Spring Cloud 生态构建分布式系统。项目整体结构清晰,职责分明。


# 模块结构

yt4j
├─ yt4j-auth              # 鉴权服务
├─ yt4j-commons           # 公共模块
│  ├─ yt4j-core           # 核心包
│  ├─ yt4j-data           # MyBatis-Plus 数据权限
│  ├─ yt4j-flow           # 流程编排引擎(同步调用)
│  ├─ yt4j-job            # XXL-Job 集成
│  ├─ yt4j-log            # 统一日志
│  ├─ yt4j-sa-token       # Sa-Token 权限认证
│  ├─ yt4j-security       # 安全相关
│  ├─ yt4j-swagger        # Knife4j/SpringDoc API 文档
│  └─ yt4j-web            # Web 定义相关
├─ yt4j-dependencies      # 依赖版本管理
├─ yt4j-gateway           # 服务网关【8888】
├─ yt4j-modules           # 业务模块
│  ├─ yt4j-crm            # CRM 模块
│  ├─ yt4j-flow-server    # 流程编排后端服务
│  ├─ yt4j-generator      # 代码生成模块(已废弃)
│  ├─ yt4j-monitor        # Spring Boot 监控
│  └─ yt4j-sys            # RBAC 权限模块
│     ├─ yt4j-sys-api     # RBAC 模块 Feign 接口
│     └─ yt4j-sys-svc     # RBAC 模块服务实现
└─ yt4j-plugin            # 插件模块
   └─ yt4j-im             # 企业 IM 插件
      ├─ yt4j-im-api      # IM 接口定义
      └─ yt4j-feishu      # 飞书 IM 实现

# 核心模块说明

# 1. 基础服务层

# yt4j-gateway(服务网关)

  • 端口: 8888
  • 职责: 统一入口,路由转发、负载均衡、权限校验
  • 特性:
    • 基于 Spring Cloud Gateway
    • 集成 Sa-Token 权限认证
    • 支持动态路由配置

# yt4j-auth(鉴权服务)

  • 职责: 用户登录、Token 颁发、权限验证
  • 特性:
    • 基于 Sa-Token 实现
    • 支持 Redis 存储 Session
    • 提供统一的鉴权接口

# 2. 公共模块层(yt4j-commons)

# yt4j-core(核心包)

提供项目核心功能,包括:

  • 统一异常处理
  • 通用工具类
  • 基础配置类
  • 公共常量定义

# yt4j-data(数据权限)

  • 基于 MyBatis-Plus 的数据权限实现
  • 支持自定义数据权限规则
  • 通过 DataScope 参数实现灵活的数据权限控制

# yt4j-flow(流程编排)

  • 自主研发的轻量级流程编排引擎
  • 特性:
    • 支持 JSON 格式流程定义
    • 支持 Spring Bean 调用
    • 支持 SpEL 表达式条件判断
    • 同步调用模式(暂不支持异步)

# yt4j-sa-token(权限认证)

  • 封装 Sa-Token 框架
  • 提供统一的权限注解和拦截器
  • 支持白名单配置
  • 网关和服务层双重权限验证

# yt4j-swagger(API 文档)

  • 基于 Knife4j/SpringDoc
  • 访问地址: http://localhost:8888/doc.html
  • 支持聚合微服务 API 文档
  • 提供在线调试功能

# yt4j-log(统一日志)

  • 基于 Plumelog 的日志收集
  • 支持操作日志记录
  • 支持 AOP 切面记录

# 3. 业务模块层(yt4j-modules)

# yt4j-sys(系统权限模块)

核心 RBAC 权限管理模块:

  • yt4j-sys-api: Feign 接口定义
  • yt4j-sys-svc: 服务实现

主要功能:

  • 用户管理
  • 角色管理
  • 菜单管理
  • 部门管理
  • 字典管理
  • 参数配置

# yt4j-crm(CRM 模块)

客户关系管理示例模块:

  • 客户管理
  • 联系人管理
  • 商机管理

# yt4j-flow-server(流程编排服务)

  • 流程定义管理
  • 流程实例管理
  • 提供流程编排的 REST API

# yt4j-monitor(监控服务)

  • 基于 Spring Boot Admin
  • 服务监控和健康检查
  • 查看服务运行状态

# 4. 插件模块(yt4j-plugin)

# yt4j-im(企业 IM 插件)

企业即时通讯集成插件:

  • yt4j-im-api: IM 接口抽象
  • yt4j-feishu: 飞书 IM 实现

功能:

  • 部门同步
  • 用户同步
  • 消息推送

# 架构设计特点

# 1. 模块化设计

  • 清晰的模块划分,职责单一
  • 公共功能提取到 commons 模块
  • 业务模块独立开发、部署

# 2. 分层架构

  • 基础服务层: 网关、鉴权
  • 公共模块层: 通用功能封装
  • 业务模块层: 具体业务实现
  • 插件层: 可插拔的扩展功能

# 3. 技术选型原则

  • 最新稳定版本: 优先采用最新稳定版技术栈
  • 轻量高效: 选用轻量级框架,避免过度设计
  • 易于扩展: 模块化设计,便于功能扩展

# 4. 开发友好

  • 提供代码生成工具(EasyCode)
  • 完善的 API 文档(Knife4j)
  • 统一的异常处理和日志记录
  • 清晰的项目结构

# 技术架构图

┌─────────────────────────────────────────────────────────┐
│                      客户端                              │
└───────────────────────┬─────────────────────────────────┘
                        │
                        ▼
┌─────────────────────────────────────────────────────────┐
│              yt4j-gateway (网关层) [8888]               │
│  - 路由转发  - 负载均衡  - 权限校验  - 限流熔断          │
└───────────────────────┬─────────────────────────────────┘
                        │
        ┌───────────────┼───────────────┐
        ▼               ▼               ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ yt4j-auth    │ │ yt4j-sys     │ │ yt4j-crm     │
│ (鉴权服务)   │ │ (系统权限)   │ │ (业务模块)   │
└──────────────┘ └──────────────┘ └──────────────┘
        │               │               │
        └───────────────┼───────────────┘
                        ▼
        ┌───────────────────────────────┐
        │      yt4j-commons (公共层)    │
        │  - yt4j-core   - yt4j-data    │
        │  - yt4j-flow   - yt4j-sa-token│
        │  - yt4j-log    - yt4j-swagger │
        └───────────────────────────────┘
                        │
        ┌───────────────┼───────────────┐
        ▼               ▼               ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│   Nacos      │ │   Redis      │ │   MySQL      │
│ (注册/配置)  │ │  (缓存)      │ │  (数据库)    │
└──────────────┘ └──────────────┘ └──────────────┘

# 未来规划

项目仍在持续演进中,计划添加以下功能:

  • OAuth2 平台支持
  • 审批流功能
  • 流程编排前端页面(拖拽式设计)
  • 更多 IM 插件支持(钉钉、企业微信等)
  • 无侵入式 SpringDoc 集成
上次更新: 2026/01/04, 09:28:19
快速上手
代码生成

← 快速上手 代码生成→

Theme by Vdoing | Copyright © 2020-2026 yt4j | 豫ICP备2024074107号 | 豫公网安备41030402000167号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式