Spring Boot + Vue 落地一套代驾平台:小程序 + 安卓四端联动,架构与核心模块全拆解

0 阅读5分钟

如果让你一个人做一套代驾平台,需要写多少东西?

我的答案是:四个端 + 一套服务端,外加一堆你想不到的运营功能。用户要能在小程序里叫车、看车、付钱,司机要能在手机上听单、导航、上报位置,平台要能在后台管订单、管司机、管钱、管代理商。

最近把一套完整的代驾系统从头到尾梳理了一遍:小程序、司机安卓 APP、运营管理后台、Spring Boot 服务端全部齐全。这篇不讲概念,直接拆架构、拆核心模块——对想做本地出行创业、做毕设或者接外包的同学,应该都有参考价值。

一、整体架构:四端联动,少一端都落不了地

端技术方案核心职责
用户端uni-app(微信小程序 / H5)叫代驾、实时看车、支付、充值、领券
司机端 APPAndroid 原生(Java)听单抢单、高德导航、轨迹上报、语音播报、提现
运营管理后台Vue 2.6 + Element UI订单、司机、用户、计费、代理、数据大盘
服务端Spring Boot 2.1 + MyBatis-Plus业务 API、Netty 长连接、微信/支付宝双通道支付

二、技术栈选型:主流稳定方案,不堆冷门轮子

后端(Maven 多模块)

  • Spring Boot 2.1.0.RELEASE
  • MyBatis-Plus 3.1.0 + Druid 连接池 + MySQL
  • Netty 4.1.29:司机 GPS 长连接上报、位置实时推送
  • 微信支付 + 支付宝 SDK 双通道
  • 高德地图服务端 API:驾车路径规划、地理编码 / 逆地理编码

运营管理后台

  • Vue 2.6 + Vue-Router + Vuex + Element UI 2.7
  • ECharts 经营数据大盘,vue-amap 实时司机在线地图、行程轨迹回放
  • 基于 vue-element-admin:权限菜单、操作日志开箱即用

司机端 APP

  • 原生 Android 工程,集成高德导航 SDK(AMap Navi)
  • Netty 长连接实时通信
  • MSC 语音合成:来单自动语音播报,开车场景下的刚需

三、核心模块拆解

1. 订单状态机:系统的骨架

代驾订单的生命周期比电商订单复杂:待接单 → 已接单 → 司机赶往起点 → 开始代驾 → 行程中 → 送达 → 待支付 → 已支付,中途还可能取消、改派、投诉。

所有流转收敛到统一的状态机里管理,每次流转做前置校验,非法动作直接拦截,从根上避免「没接单就能开始计费」「已支付订单还能取消」这类事故。

2. 计费规则引擎:运营改价不发版

后台可配置起步价(含起步里程/时长)、超公里费、等候费、附加费、充值赠送规则。计费规则独立成模块,运营在后台改一个数字,用户端下单立刻按新规则计价,不用改代码、不用重新发版。

3. Netty 实时定位:用户看着司机开过来

司机端按固定频率上报经纬度,服务端用 Netty 维护长连接,把位置实时推给下单用户——小程序地图上司机图标实时移动,等待体验和主流打车软件一致。后台还有司机在线视图:谁在线、在哪个区域,一目了然。

4. 支付与资金流:双通道 + 全链路留痕

  • 用户侧:微信/支付宝双通道支付、充值模板、押金、余额明细、优惠券抵扣;
  • 司机侧:收入明细、提现申请与后台审核;
  • 代理商侧:区域代理、分佣结算单据。

所有资金操作都有单可查,后台配套金额流水和统计报表。

5. 运营增长工具:最像商业产品的部分

这是它区别于普通毕设作品的地方——后台自带一整套运营工具:

  • 优惠券系统:发券、领券、抽奖领券;
  • 代理商体系:区域代理模板、分级管理、在线结算;
  • 优选推送:定向配额 + 消息模板,高峰时段调度运力;
  • 推荐奖励:司机邀请司机的奖励规则配置;
  • 语音包配置:不同城市可配置不同的来单播报语音;
  • 内容后台化:公告、用户协议、引导页、启动图、APP 版本管理全部后台可配。

6. 司机入驻与风控

  • 司机在 APP 内提交资料,后台审核通过后才能听单;
  • 行程轨迹全程记录,后台可按订单回放;
  • 乘客投诉、订单取消原因、司机黑名单机制齐全。

四、工程结构

 biaoma-cloud
 ├── biaoma-cloud-common      公共模块:微信支付、Netty、通用工具
 ├── biaoma-cloud-admin-api   管理后台 API
 ├── biaoma-cloud-app-api     用户端 / 司机端 API
 driver                       司机端 Android 原生工程
 u-driver-ui-master           运营管理后台 Vue 工程
 sjijizhuce                   司机注册小程序(uni-app)
 bt-install                   宝塔一键部署脚本 + 初始化 SQL

后端按 common / admin-api / app-api 拆模块,业务边界清晰;管理后台六十多个业务页面,全部对应真实运营场景,不是代码生成器怼出来的空壳。

五、部署:一键脚本,不用啃文档

项目自带宝塔面板一键安装脚本:JDK、MySQL、Nginx 反向代理(管理端 / 应用端 API 分流)自动完成,附带数据库初始化脚本和完整安装手册。一台干净的服务器,跑完脚本就能打开管理后台。

六、什么场景适合用?

  1. 本地代驾 / 出行创业:业务流程现成,配上自己城市的计费规则、换上品牌,经过二次开发即可落地,不用从零踩支付、定位、派单的坑;
  2. 毕设 / 练手项目:一个项目把 Spring Boot、Vue、小程序、地图、支付、Netty 长连接全覆盖,简历关键词直接拉满;
  3. 外包接单:本地生活类系统需求常年存在,一套成熟底子能省两三个月工期。

写在最后

网上号称代驾源码的项目不少,但很多只有个壳:后台是生成器生成的,司机端是 H5 套个 WebView,支付和定位根本跑不通。这套是按真实运营场景设计的——司机在线地图、轨迹回放、提现审核、代理结算、优惠券抽奖,硬功能全部在代码里。

完整源码(四端代码 + 初始化 SQL + 部署脚本 + 安装文档)已经打包整理好,需要的同学评论区留言或者私信交流即可,技术问题也欢迎一起探讨。