在线下单配送抢单小程序调研报告

Top 5 开源项目横向对比分析
总览对比 5 个项目核心指标一览
项目 Star 前端 后端 数据库 商户模式 抢单功能 综合评分
DSO2O 外卖 1,953 UniApp ThinkPHP 6 MySQL 多商户 ✅ 自动派单 + 抢单 92/100
叮点跑腿 ddrun 1,211 UniApp Midway 3.0 MySQL 单商户 ✅ 抢单 + 智能分配 88/100
万岳外卖系统 815 UniApp ThinkCMF + PhalApi MySQL 多商户 ✅ 抢单 + 智能派单 85/100
暹罗外卖 479 原生小程序 Spring Cloud MySQL + Redis 多商户 ❌ 骑手端未开源 55/100
MiniRun 校园跑腿 174 微信小程序 微信云开发 云数据库 单商户 ⚠️ 任务接单 65/100
DSO2O 外卖 gitee.com/csdeshang/DSO2O_open · ⭐ 1,953
项目简介
专业 O2O 本地生活平台,支持外卖送餐、同城跑腿、家政上门服务。ThinkPHP 6 + UniApp 架构,社区活跃度高,支持宝塔面板一键部署。

技术方案

层级技术栈
前端(小程序)UniApp(跨端:微信小程序 + APP)
后端ThinkPHP V6.0 + PHP + Composer 组件化
数据库MySQL + Redis / Memcached 缓存
实时通信Socket 长连接(骑手端实时订单推送)
部署宝塔面板一键部署 / 常规 LNMP

前端(小程序端)功能完成度

⚠️ 注意:小程序源码在独立 UniApp 仓库中(非本仓库),本仓库包含 PC 端模板和静态资源。

功能模块完成度说明
用户下单✅ 完整商品浏览、购物车、在线下单、支付,支持多门店
配送方式选择✅ 完整外卖配送、到店自取、预约配送、同城跑腿、商家自配/平台配送/达达第三方配送
骑手抢单界面✅ 完整骑手端独立页面,订单大厅可抢订单,GatewayWorker WebSocket 实时推送
订单状态追踪✅ 完整全流程状态展示 + 订单日志 + 配送员地图定位
实时通知✅ 完整GatewayWorker WebSocket 长连接实时推送
商户管理界面✅ 完整PC 商家端 + 商家手机端,商品/订单/店铺管理

后端功能完成度

功能模块完成度说明
订单管理✅ 完整完整订单生命周期,含商品订单 + 跑腿订单 + 服务订单
配送方式配置✅ 完整后台可配置配送费计算规则、配送范围、支持三种配送模式
骑手抢单引擎✅ 完整WebSocket 推送抢单 + 自动派单 + 指定配送员,三种模式灵活切换
多商户管理✅ 完整多商户入驻、店铺等级、保证金、自营店铺,80+ 管理模块
骑手管理✅ 完整配送员注册/结算/投诉/保证金,平台配送 + 达达第三方配送
支付集成✅ 完整微信 JSAPI/扫码、支付宝 APP、预存款、充值卡
后台管理✅ 完整80+ 管理模块:站点/会员/商品/店铺/交易/营销/统计/跑腿/上门服务

核心亮点

双模式配送:同时支持自动派单和骑手抢单,可根据运营需求灵活切换

多业务线:外卖 + 跑腿 + 家政,可扩展为综合本地生活平台

城市级管理:支持多城市运营,每个城市独立后台管理

部署简单:宝塔面板一键部署,降低运维门槛

叮点跑腿 ddrun gitee.com/landalfyao/ddrun · ⭐ 1,211
项目简介
专注跑腿场景的完整系统,后端采用 Midway 3.0(Node.js),管理后台基于 Nuxt 2.x,小程序端使用 UniApp。核心功能涵盖帮送、帮买、骑手抢单、智能分配、提现等。

技术方案

层级技术栈
前端(小程序)UniApp(Vue 50.2% + TypeScript 40.4% + JavaScript 7.9%)
后端Midway 3.0(Node.js 框架,企业级 IoC/DI)
管理后台Nuxt 2.x(Vue SSR)
数据库MySQL
Node 版本Node.js 16.x

前端(小程序端)功能完成度

功能模块完成度说明
用户下单✅ 完整发布跑腿任务(帮送/帮买/帮取),填写地址、物品、时间要求
配送方式选择✅ 完整帮送、帮买、帮取三大服务类型,优惠券/积分抵扣/小费
骑手抢单界面⚠️ 部分骑手端任务大厅,按距离排序展示空闲订单,先到先得,无并发锁保护
订单状态追踪⚠️ 部分完整状态时间线(创建/支付/接单/送完/完成),但无实时 GPS 地图追踪
实时通知⚠️ 部分依赖微信订阅消息推送,无 WebSocket 实时推送
商户管理界面❌ 无纯 C2C 跑腿模式,无商户模块

后端功能完成度

功能模块完成度说明
订单管理✅ 完整30+ 字段全生命周期,状态机:-2取消/-1关闭/0未付/1已付待接/2接单配送/3已送达/4完成
配送方式配置✅ 完整阶梯计价:起步价 + 距离阶梯 + 重量阶梯 + 时段加价,腾讯地图 API 计算距离
骑手抢单引擎⚠️ 部分广播池模型:所有骑手可见(status=1 且 riderNo=null),按距离排序,先到先得。无分布式锁,无智能派单算法
骑手管理✅ 完整注册→审核→启停接单→收入统计→银行卡→提现,Nuxt 管理后台 CRUD
支付与提现⚠️ 部分微信支付完整实现(统一下单+回调+退款),支付宝/QQ 仅枚举未实现
定时任务✅ 完整三个延迟队列:15分钟未付自动关闭 / 2小时未接单自动取消 / 2小时送达后自动完成
后台管理✅ 完整Nuxt2 + Ant Design Vue:城市/计价/订单/骑手/优惠券/配置/资金走势全覆盖

核心亮点

Node.js 高性能后端:Midway 3.0 + TypeScript + TypeORM,架构清晰,代码质量高

智能阶梯计价:起步价 + 距离/重量/时段多维计价,腾讯地图 API 自动算距

完整的资金流转:平台/代理/骑手收入自动分账,可配置比例

局限性:纯跑腿模式无商户端;抢单无并发锁;无实时 GPS 追踪

万岳外卖系统 gitee.com/WanYueKeJi/wanyue_waimai_uniapp · ⭐ 815
项目简介
最完整的同城外卖开源系统,包含用户端、商家端、配送端(骑手)、总管理后台、城市配送后台五大端口。PHP ThinkCMF + PhalApi 架构,WebSocket 长连接,队列管理。

技术方案

层级技术栈
前端(小程序)UniApp(Vue 60.5% + JavaScript 33.4%)
后端ThinkCMF(内容管理框架)+ PhalApi(API 框架)
数据库MySQL
实时通信WebSocket 长连接 + PHPExcel 数据导出
异步处理队列管理(Queue)

前端(小程序端)功能完成度

功能模块完成度说明
用户下单✅ 完整在线点餐、购物车、下单支付,支持连锁餐饮、闪送跑腿
配送方式选择✅ 完整外卖配送、到店自取、预约配送、扫码点餐、闪送
骑手抢单界面✅ 完整Graborders 抢单组件、Transferorder 转单、cancleorder 取消,任务地图展示
订单状态追踪✅ 完整Missionmap 任务地图 + detailmap 配送地图,实时状态更新
实时通知✅ 完整WebSocket 实时推送新订单(后端 Swoole 实现)
商户管理界面✅ 完整商家端独立页面:商品/订单/评论/利润/核销/优惠券/营业时间/规格管理

后端功能完成度

⚠️ 注意:此仓库仅包含前端代码,后端在独立仓库 wanyue_waimai_web(ThinkCMF + PHP + Swoole)。

功能模块完成度说明
订单管理✅ 完整完整订单生命周期,含排队叫号、预约调度、退款处理
配送方式配置✅ 完整配送费、配送范围、配送方式后台灵活配置
骑手抢单引擎✅ 完整接单池抢单 + 系统智能派单 + 转单功能
多商户管理✅ 完整多商户入驻、连锁餐饮支持、店铺审核
骑手管理✅ 完整骑手管理、配送结算、投诉处理、收入统计、提现
支付集成✅ 完整微信支付 + 支付宝
后台管理✅ 完整总管理后台 + 城市配送后台,五端全覆盖

核心亮点

五端完整:用户端 + 商家端 + 骑手端 + 总后台 + 城市配送,业界最完整的开源外卖方案

双模式配送:接单池抢单 + 智能派单并存,支持转单

WebSocket 实时性:骑手端实时收到新订单推送

队列管理:异步处理订单,提高并发能力

连锁餐饮:支持多门店连锁运营

暹罗外卖 gitee.com/siam1026/siam-cloud · ⭐ 479
项目简介
基于 Spring Cloud 微服务架构的多商户外卖配送系统,对标美团/饿了么。包含用户端小程序、商家管理后台、超管调度后台。v1.1 版本,2023 年 12 月开源。
⚠️ 重要发现

骑手抢单功能在开源版中为空实现。 代码注释明确写着"目前商家自配送,配送费打到商家余额中",骑手配送分支为空。骑手端小程序代码未开源(需加 QQ 群获取)。骑手服务仅有 CRUD 和登录,无在线状态、无地理位置、无订单分配、无收入钱包。

技术方案

层级技术栈
前端(小程序)原生微信小程序(wxapplet-siam-user)
管理后台Vue 2.5 + Element UI(vue-siam-admin + vue-siam-shop)
后端Spring Cloud Hoxton + Spring Cloud Alibaba + Spring Boot 2.2.2(13 个微服务)
中间件Redis + Redisson + RocketMQ(延迟队列/事务消息)+ RabbitMQ
可观测性Sentinel + Seata + SkyWalking + Prometheus + Grafana + ELK
数据库MySQL + MyBatis-Plus 3.1.2
实时通信WebSocket

前端(小程序端)功能完成度

功能模块完成度说明
用户下单✅ 完整商品浏览、多规格 SKU、购物车、下单支付,完整价格计算
配送方式选择⚠️ 部分仅支持自取和配送两种,deliveryWay 始终为 1(商家自配送),平台骑手配送未实现
骑手抢单界面❌ 未开源README 提及 uniapp-siam-rider 但代码不在仓库中,需加 QQ 群获取
订单状态追踪⚠️ 部分订单状态机完整(11 种状态),但无配送轨迹追踪(无骑手位置节点)
实时通知✅ 完整WebSocket 通知商家新订单、支付成功等
商户管理界面✅ 完整商家后台(vue-siam-shop):订单/商品/门店/促销/账单/提现全覆盖

后端功能完成度

功能模块完成度说明
订单管理✅ 完整完整下单逻辑:购物车校验→价格计算→订单号生成→支付截止→状态初始化
支付✅ 完整微信支付集成,支付回调→状态流转→资金冻结→WebSocket 通知
商家接单✅ 完整商家接单后自取订单转待处理、外卖订单转待配送,WebSocket 推送
配送方式配置⚠️ 部分仅支持商家自配送,平台骑手配送分支为空(handleRiderIncome 注释确认)
骑手抢单引擎❌ 缺失骑手表仅 5 字段(id/shopId/realname/phone/sex),无在线状态/地理位置/钱包,无抢单/派单 API
多商户管理✅ 完整商户入驻审核、门店管理、商品管理、订单管理、账单/提现管理
骑手管理⚠️ 基础仅有骑手 CRUD 和登录,无审核/等级/排班/收入明细
后台管理✅ 完整超管后台:会员管理 + 系统设置 + 全模块管理

核心亮点

企业级微服务架构:13 个微服务模块,Spring Cloud Alibaba 全家桶(Eureka/Zuul/Sentinel/Seata)

订单管理成熟:完整下单/支付/退款流程,11 种订单状态机,退款审批流完善

营销功能丰富:优惠券、满减规则、邀请返现、积分商城

核心缺陷:骑手抢单配送为空实现,仅支持商家自配送;骑手端小程序未开源

MiniRun 校园跑腿 github.com/dearancelan/MiniRun · ⭐ 174
项目简介
面向校园场景的跑腿小程序,基于微信云开发(Serverless),无需独立后端服务器。支持代购食物、快递取送、打印文件等任务发布与接单。适合毕业设计或轻量级项目。

技术方案

层级技术栈
前端微信小程序原生框架(JavaScript 100%)+ Vant 组件库
后端微信云开发(云函数 + 云数据库 + 云存储 + 云定时器)
地图腾讯地图 SDK(定位、线路计算)
消息推送微信订阅消息
支付微信支付(云开发集成)

前端(小程序端)功能完成度

功能模块完成度说明
用户下单✅ 完整任务发布:代购食物、快递取送、打印文件等
配送方式选择⚠️ 部分仅任务分类选择,无复杂配送方式配置
骑手抢单界面⚠️ 部分任务大厅浏览 + 接单,但非严格意义上的抢单(无并发锁)
订单状态追踪✅ 完整云数据库实时更新,状态流转清晰
实时通知⚠️ 部分微信订阅消息推送,非实时 WebSocket
商户管理界面❌ 无无商户概念,纯 C2C 任务模式

后端(云函数)功能完成度

功能模块完成度说明
任务管理✅ 完整云函数实现任务 CRUD、分类管理
接单逻辑⚠️ 部分基础接单功能,无分布式锁,高并发可能重复接单
用户认证✅ 完整微信登录,角色管理(用户 vs 跑腿者)
定时器✅ 完整云定时器处理超时任务、清理过期数据
支付✅ 完整微信支付云开发集成
局限性⚠️ 明显云开发有容量限制,不适合大规模商用;无商户管理

核心亮点

零运维:基于微信云开发,无需服务器、域名、备案

快速上手:适合毕业设计、个人学习、校园小范围运营

局限性明显:非外卖场景(纯跑腿)、无商户管理、并发能力有限、抢单逻辑不够严谨

综合建议 选型与二次开发推荐

按场景推荐

使用场景推荐项目理由
快速搭建完整外卖平台 万岳外卖系统 五端完整(用户/商家/骑手/总后台/城市后台),开箱即用,PHP 生态成熟
学习 Spring Cloud 外卖架构 暹罗外卖 微服务架构设计规范,订单/支付/退款流程成熟。但骑手抢单未实现,需自行开发配送模块
专注跑腿业务(非外卖) 叮点跑腿 ddrun Node.js 高性能后端,智能计价,分销系统,专注跑腿场景
轻量级/个人/毕业设计 MiniRun 校园跑腿 零运维成本,云开发 Serverless,快速部署
综合本地生活平台 DSO2O 外卖 外卖 + 跑腿 + 家政多业务线,宝塔一键部署,社区活跃

骑手抢单功能对比

项目抢单模式实时通知智能派单转单并发安全
DSO2OWebSocket 推送 + 抢单GatewayWorker WS✅ 自动派单✅ 数据库锁
万岳外卖接单池 + GrabordersWebSocket (Swoole)✅ 智能派单✅ Transferorder✅ 队列 + 锁
暹罗外卖❌ 未实现WebSocket❌ 无
叮点跑腿广播池(先到先得)⚠️ 订阅消息❌ 无⚠️ 仅 DB 事务
MiniRun任务大厅接单订阅消息❌ 无并发锁

最终推荐

🏆 首选推荐

万岳外卖系统 — 如果目标是快速搭建一个包含骑手抢单功能的完整外卖平台,万岳是最佳选择。五端完整、开箱即用、PHP 生态成熟、部署简单,抢单/派单/转单功能齐全。

🚀 企业级推荐

暹罗外卖 — 如果团队熟悉 Java/Spring Cloud,需要企业级的高可用架构,暹罗的微服务方案和可观测性体系是最佳参考。但部署和运维门槛较高。

📋 补充推荐

DSO2O 外卖 — 如果需要综合本地生活平台(外卖 + 跑腿 + 家政),DSO2O 是最活跃的选择,Star 数最高,支持宝塔一键部署。