项目结构
作者:唐亚峰 | battcn
字数统计:1.4k 字
源码地址
- 后端仓库:https://gitee.com/battcn/wemirr-platform (分支:v4-dev)
- 前端仓库:https://gitee.com/battcn/wemirr-platform-ui (分支:v4-dev)
后端项目结构
wemirr-platform 采用 Maven 多模块架构,基于 Spring Cloud Alibaba 2023 构建。
wemirr-platform/
├── wemirr-platform-dependencies/ # 📦 依赖版本管理(BOM)
├── wemirr-platform-framework/ # 🔧 框架核心层
│ ├── common-framework-core/ # 基础核心(注解、接口、工具类)
│ ├── common-spring-boot-starter/ # Spring Boot 核心启动器
│ ├── db-spring-boot-starter/ # 数据库增强(MyBatis-Plus、多租户、数据权限)
│ ├── redis-plus-spring-boot-starter/ # Redis 缓存增强
│ ├── security-spring-boot-starter/ # 安全认证(Sa-Token)
│ ├── feign-plugin-spring-boot-starter/ # Feign 增强(Token传递、服务代理)
│ ├── easyexcel-spring-boot-starter/ # Excel 导入导出
│ ├── diff-log-spring-boot-starter/ # 差异日志
│ ├── i18n-spring-boot-starter/ # 国际化
│ ├── mongodb-plus-spring-boot-starter/ # MongoDB 增强
│ ├── pdf-spring-boot-starter/ # PDF 生成
│ ├── robot-spring-boot-starter/ # 消息机器人(钉钉、企微、飞书)
│ └── websocket-spring-boot-starter/ # 分布式 WebSocket
│
├── wemirr-platform-feign/ # 🔗 Feign 接口定义
│ ├── wemirr-platform-iam-api/ # IAM 服务 API
│ ├── wemirr-platform-suite-api/ # Suite 服务 API
│ └── wemirr-platform-workflow-api/ # 工作流服务 API
│
├── wemirr-platform-iam/ # 🔐 IAM 认证授权中心
│ └── src/main/java/.../iam/
│ ├── auth/ # 认证模块
│ ├── base/ # 基础模块
│ ├── system/ # 系统管理
│ │ ├── controller/ # 控制器
│ │ ├── domain/ # 领域模型
│ │ ├── repository/ # 数据访问
│ │ ├── service/ # 业务逻辑
│ │ └── func/ # 功能函数
│ └── tenant/ # 租户管理
│
├── wemirr-platform-suite/ # 💼 业务套件中心
│ └── src/main/java/.../suite/ # 业务功能实现
│
├── wemirr-plugin/ # 🔌 插件扩展中心
│ ├── wemirr-platform-ai/ # AI 能力(Langchain4j)
│ ├── wemirr-platform-workflow/ # 审批流程(Warm-Flow)
│ ├── wemirr-platform-monitor/ # 监控中心
│ ├── wemirr-platform-tms/ # 运输管理(TMS)
│ └── wemirr-platform-wms/ # 仓储管理(WMS)
│
├── wemirr-platform-gateway/ # 🚪 API 网关
│
├── dev-support/ # 🛠️ 开发支持
├── docs/ # 📚 文档
│
└── 附件/ # 📁 附件资源
├── docker/ # Docker 编排文件
├── mysql/ # 数据库脚本
├── nacos/ # Nacos 配置文件
└── nginx/ # Nginx 配置核心模块说明
| 模块 | 说明 | 技术栈 |
|---|---|---|
| wemirr-platform-iam | IAM 认证授权中心,用户、角色、菜单、租户管理 | Sa-Token、MyBatis-Plus |
| wemirr-platform-suite | 业务套件,存放核心业务功能 | Spring Boot |
| wemirr-plugin | 插件中心,可插拔的扩展功能(AI、工作流、WMS、TMS) | Warm-Flow、Langchain4j |
| wemirr-platform-gateway | API 网关,统一入口、限流、鉴权 | Spring Cloud Gateway |
| wemirr-platform-framework | 框架层,提供通用能力封装 | 多个 Spring Boot Starter |
| wemirr-platform-feign | Feign 接口定义,服务间调用 | OpenFeign |
前端项目结构
wemirr-platform-ui 基于 Vben Admin 5.x + Vue 3 + Ant Design Vue 构建,采用 Monorepo 架构。
wemirr-platform-ui/
├── apps/ # 📱 应用目录
│ └── web-antd/ # Ant Design Vue 版本
│ ├── src/
│ │ ├── api/ # 🌐 API 接口
│ │ │ ├── core/ # 核心接口
│ │ │ ├── system/ # 系统接口
│ │ │ │ ├── oss/ # 文件存储
│ │ │ │ └── user/ # 用户管理
│ │ │ └── workflow/ # 工作流接口
│ │ │
│ │ ├── views/ # 📄 页面视图
│ │ │ ├── _core/ # 核心页面(登录等)
│ │ │ ├── dashboard/ # 仪表盘
│ │ │ └── wemirr/ # 业务页面
│ │ │ ├── system/ # 系统管理
│ │ │ │ ├── auth/ # 权限管理
│ │ │ │ ├── basic/ # 基础配置
│ │ │ │ ├── log/ # 日志管理
│ │ │ │ ├── message/ # 消息中心
│ │ │ │ ├── monitor/ # 监控中心
│ │ │ │ ├── org/ # 组织管理
│ │ │ │ ├── oss/ # 文件存储
│ │ │ │ ├── position/ # 职位管理
│ │ │ │ └── user/ # 用户管理
│ │ │ ├── platform/ # 平台管理
│ │ │ │ ├── basic/ # 基础配置
│ │ │ │ ├── db/ # 数据源
│ │ │ │ ├── plan/ # 套餐管理
│ │ │ │ ├── security/ # 安全设置
│ │ │ │ └── tenant/ # 租户管理
│ │ │ ├── develop/ # 开发工具
│ │ │ ├── workflow/ # 工作流
│ │ │ ├── ai/ # AI 功能
│ │ │ ├── tms/ # 运输管理
│ │ │ └── wms/ # 仓储管理
│ │ │
│ │ ├── adapter/ # 适配器
│ │ ├── assets/ # 静态资源
│ │ ├── components/ # 🧩 业务组件
│ │ ├── layouts/ # 布局组件
│ │ ├── locales/ # 国际化
│ │ ├── plugin/ # 插件
│ │ ├── router/ # 路由配置
│ │ ├── store/ # 状态管理
│ │ └── utils/ # 工具函数
│ │
│ ├── .env # 环境变量
│ ├── .env.development # 开发环境
│ ├── .env.production # 生产环境
│ └── vite.config.mts # Vite 配置
│
├── packages/ # 📦 共享包
│ ├── @core/ # 核心包
│ ├── constants/ # 常量定义
│ ├── effects/ # 副作用
│ ├── hooks/ # 组合式函数
│ ├── icons/ # 图标
│ ├── locales/ # 国际化
│ ├── preferences/ # 偏好设置
│ ├── stores/ # 状态管理
│ ├── styles/ # 样式
│ ├── types/ # 类型定义
│ └── utils/ # 工具函数
│
├── internal/ # 🔧 内部工具
├── scripts/ # 脚本
├── pnpm-workspace.yaml # Monorepo 配置
├── turbo.json # Turbo 配置
└── package.json # 依赖管理前端技术栈
| 技术 | 版本 | 说明 |
|---|---|---|
| Vue | 3.x | 渐进式 JavaScript 框架 |
| Vben Admin | 5.x | 后台管理模板(Monorepo 架构) |
| Ant Design Vue | 4.x | UI 组件库 |
| TypeScript | 5.x | 类型安全 |
| Vite | 5.x | 构建工具 |
| Pinia | 2.x | 状态管理 |
| TailwindCSS | 3.x | 原子化 CSS |
| Turbo | - | Monorepo 构建工具 |
框架组件
common-framework-core
基础核心模块,提供基础注解、接口、类给其他 starter 使用。
db-spring-boot-starter
数据库增强模块,集成 MyBatis-Plus 和多租户支持。
核心功能:
- 多租户隔离 - 字段隔离 / Schema 隔离 / 数据源隔离
- 数据权限 - 全部 / 本部门 / 本人
- 自动填充 - 创建人、创建时间、更新人、更新时间
- 逻辑删除 - 统一软删除处理
- 分页插件 - 自动分页处理
security-spring-boot-starter
安全认证模块,基于 Sa-Token 封装。
核心功能:
- 登录认证 - 账号密码、手机验证码
- 权限校验 - 角色校验、权限码校验
- 会话管理 - Token 管理、踢人下线
- 租户识别 - 自动识别当前租户
feign-plugin-spring-boot-starter
Feign 增强模块,简化微服务调用。
核心功能:
- Token 传递 - 自动传递认证信息
- Header 复制 - 复制请求头到下游
- 服务代理 - 简化 Feign 调用方式
- 熔断降级 - 集成 Sentinel
websocket-spring-boot-starter
分布式 WebSocket 模块,基于 Redis 实现。
核心功能:
- 分布式消息 - 多节点消息同步
- 用户推送 - 指定用户推送
- 广播推送 - 全体用户推送
- 租户隔离 - 租户级别消息隔离
robot-spring-boot-starter
消息机器人模块,支持多平台推送。
支持平台:
- 钉钉 - 钉钉机器人
- 企业微信 - 企微机器人
- 飞书 - 飞书机器人
配套资源
附件目录说明
附件/
├── docker/ # Docker 编排文件
├── mysql/ # 数据库脚本
├── nacos/ # Nacos 配置文件
└── nginx/ # Nginx 配置