为什么是心飞物流TMS
商业 TMS 太贵、旧开源 TMS 太老。心飞想做第三个选择:开源免费、全链路闭环、技术前沿、四端协同。
四端协同
管理端 + 客户端 + 快递员端 + 司机端,覆盖全角色。多数开源 TMS 只有管理端,心飞一步到位。
前沿技术栈
JDK 25 + Spring Boot 4.1.1 + Spring Cloud 2025.1.2 + Vue 3.5 + uni-app,同类开源 TMS 中最新的组合。
Drools 智能调度
规则引擎驱动调度与运费计算,规则可视化、可热更新,不用改代码发版,替代 if-else 硬编码。
Netty 轨迹接入
xfwl-netty 独立微服务自建 TCP 通道,不依赖第三方 SDK,支撑高并发车载终端位置上报。
Sa-Token 多租户
SaaS 化就绪,一套代码服务多个租户,多租户认证与鉴权开箱即用,多数开源 TMS 仍单租户。
清晰的演进路线
Kafka → TDengine / 鹰眼 → OR-Tools → Spring AI 规划落地中,不是做完就停的项目。
行业痛点 → 心飞解法
物流行业车辆、司机、线路散落难管,运输不透明,调度与计费靠人工——心飞把这些问题逐一对齐。
一套系统,四个角色
从内部管理员到外部客户,从快递员到司机,每类角色都有专属端。
心飞物流TMS 管理端
- 基础数据维护
- 订单管理、运单管理
- 调度、在途监控与报表
心飞速运
- 在线寄件下单
- 物流轨迹查询
- 电子签收确认
心飞快递员
- 接收取件 / 派件任务
- 任务状态回传
- 签收拍照留证
心飞司机宝
- 接收运输任务
- 实时上报位置信息
- 行车作业单执行
从寄件到结算,全链路闭环
寄件下单到收件人签收,每一步都有系统承接,不留断点。
寄件下单
客户端 App 在线寄件
订单创建
OMS 全生命周期状态管理
智能调度
Drools 规则引擎配载分车
司机接单
司机宝接收运输任务
作业执行
取派件 / 运输任务流转
轨迹追踪
Netty TCP 实时位置上报
回单签收
电子签收 POD 留证
对账结算
计费规则可配置可追溯
覆盖运输业务十二大模块
订单、调度、在途、档案、结算一应俱全,106 条功能需求逐条落地。
订单管理
寄件下单、货物管理、全生命周期状态、运费试算
智能调度
订单分类、路径规划、运输任务与车次 / 车辆 / 司机分配
运输管理
运输任务执行、司机作业单、在途状态跟踪
GPS 在途监控
车辆实时定位、轨迹回放、偏航与异常监控
配送执行
取派件任务、运单管理、电子签收(POD)
车辆 / 线路 / 车次
车队、车辆、车型、线路、车次等运输资源维护
人员管理
司机、快递员、岗位与组织管理
客户门户
客户端 App 寄件、查单、物流跟踪
回单与结算
回单签收留证、费用结算、对账
数据报表
运输量、时效、成本、绩效多维统计
基础信息
组织机构、菜单、权限、字典等支撑数据
统一认证与权限
Sa-Token 用户、角色、菜单、多租户认证鉴权
四层架构 · 14 个微服务
展示层 → 网关层 → 服务层 → 数据层,微服务按业务域拆分,OpenFeign 互调,Nacos 统一注册发现。
展示层 · 四端协同
管理端 Vue3 :8081 · 客户端 H5 :8084 · 快递员端 H5 :8083 · 司机端 H5 :8082
统一接入网关
Spring Cloud Gateway :8760 · 路由转发 · Sa-Token 多租户鉴权 · Same-Token 防直连
服务层 · 14 个微服务
BFF 四端聚合 xfwl-web · xfwl-auth 认证 · xfwl-base 档案 · xfwl-oms 订单 · xfwl-dispatch 调度 · xfwl-work 作业 · xfwl-user 会员 · xfwl-netty 轨迹 · xfwl-aggregation 聚合 · xfwl-file-server 附件
数据与消息层
MySQL 8 单库 71 表 · Redis 7 · RabbitMQ · Netty TCP · Nacos · XXL-Job · Docker Compose
来自真实运行环境的实测画面
以下截图均采集自 2026-10-12 真实运行环境(部署服务器内网地址 192.168.20.130,仅内网可访问、外网不可达),点击可放大查看。
后台管理端



移动三端 App



运维与中间件






27 项技术栈,全新一代
2026 年的新项目没有历史包袱,直接采用最新 LTS 与主流组件。
后端框架
- JDK 25(虚拟线程)+ Spring Boot 4.1.1
- Spring Cloud 2025.1.2 + Alibaba 2025.1.0.0
- Spring Cloud Gateway 统一网关
- Nacos 注册 / 配置中心
- Sa-Token + JWT 多租户认证
- Drools 8.38 规则引擎 + XXL-Job 2.4.1
- MyBatis-Plus + Druid + MapStruct
- Netty TCP 轨迹接入
前端与移动端
- 管理端:Vue 3.5 + Vite + Element Plus
- 状态:Pinia · 图表:ECharts
- 移动端:uni-app Vue3 + uview-plus
- 四端:管理端 / 客户端 / 快递员端 / 司机端
存储与中间件
- MySQL 8.0 单库分域(71 张表)
- Redis 7 缓存 · RabbitMQ 消息解耦
- Docker Compose 容器编排
- Gitea + Actions CI/CD 自动构建
- 百度地图:地址解析 / 距离计算 / 轨迹
规划中(演进路线)
- MinIO 对象存储 · Zipkin 链路追踪(P1)
- Kafka 轨迹流 + Debezium CDC(P2)
- Elasticsearch 检索 · Doris OLAP(P2)
- Google OR-Tools 智能排线(P2)
- Spring AI 智能客服 / 查件 Agent(P3)
- 快递100 开放平台 · Flowable 审批流(P3)
5 分钟跑起来
Docker Compose 一键起中间件,建库后启动服务即可体验完整业务闭环。
克隆仓库
从 Gitee 拉取最新代码(推送到 GitHub 后同样适用)。
# 克隆仓库
git clone https://gitee.com/itxinfei/xinfei-tms.git
cd xinfei-tms
启动中间件
一键拉起 MySQL / Redis / RabbitMQ / Nacos 等基础设施。
# 起中间件
docker-compose up -d
初始化数据库
执行 docs/sql 建库脚本,一键得到 xinfei_tms 单库 + 种子数据(71 张表)。
# 建库脚本在 docs/sql 目录(重构v2 全量脚本 + 演示种子数据)
mysql -u root -p < docs/sql/重构v2/00_create_database.sql
启动服务与前端
按序启动 xfwl-auth → xfwl-gateway → 业务微服务,再启动管理端与移动端。
# 后端(每个微服务目录下)
mvn spring-boot:run
# 管理端前端
cd xfwl-admin-ui-vue3 && pnpm i && pnpm dev
# 移动端:HBuilderX 导入 xfwl-mobile 运行 uni-app
心飞 vs 同类方案
「同类开源」泛指 Gitee / GitHub 上主流开源 TMS 项目,不针对特定项目。
| 能力 | 心飞物流TMS | 同类开源 TMS | 商业 TMS |
|---|---|---|---|
| 四端协同(管理 + 客户 + 快递员 + 司机) | 是 | 否 · 仅管理端 | 是 |
| JDK 25 + Spring Boot 4.1.1 | 是 | 否 · 多为 JDK 8 | 部分已升级 |
| 多租户 SaaS | 是 | 否 | 是 |
| 智能调度(Drools 规则引擎) | 是 | 否 · if-else 硬编码 | 是 |
| Netty 自建轨迹接入 | 是 | 否 | 是 |
| 年费 | 0(学习/研究) | 0 | 3-30 万 |
| 二开自由 | 是 · 源码公开(商用需授权) | 是 | 否 · 黑盒交付 |
项目演进路线
-
项目立项
四端骨架 + 14 微服务 + 全链路业务闭环
-
技术栈现代化
JDK 25 + SB 4.1.1 + Vue 3.5 + Sa-Token 多租户 + XXL-Job
-
轨迹链路升级
Kafka + TDengine / 鹰眼 + ES 运单检索
-
智能排线
OR-Tools + MinIO 回单 + Doris 报表
-
AI 能力落地
Spring AI 智能客服 + 回单 OCR + 动态 ETA
FAQ
Q能商用吗?+
Q技术栈为什么这么新(JDK 25 + Spring Boot 4.1.1)?+
Q有文档吗?+
Q移动端支持小程序吗?+
一起让心飞更好
欢迎提交 Pull Request!提交前请遵守以下约定。
代码规范
后端遵循《阿里巴巴 Java 开发手册》,前端遵循 ESLint + Prettier + Stylelint 约束。
提交格式
type(scope): description,如 feat(oms): 新增拆单接口 / fix(dispatch): 修复路线规划空指针。
工程约束
不过度设计、禁止硬编码(cron / 阈值 / 地图 Key / 状态数字一律外部化配置);所有请求走网关,禁止直连微服务。