[开源]一款多端代驾系统,采用多端前后端分离版分布式微服务架构
![[开源]一款多端代驾系统,采用多端前后端分离版分布式微服务架构](https://yy123.ink/api/img/1782607411160-mfe9q3.jpg)
一、开源项目简介
HXDS-代驾小程序,Spring Boot / Spring Cloud & Alibaba + uniapp + uView + Vue3 + Element-Ui,项目采用多端前后端分离版分布式微服务架构。项目按照阿里巴巴开发规范开发,易于维护和扩展。可根据实际需求二次开发,轻松编译为 iOS/Android APP。
二、开源协议
使用Apache-2.0开源协议
三、界面展示
演示图
1、司机乘客登录、注册界面

2、司机乘客工作台界面

3、司机实名认证界面

4、工作人员审核司机实名认证界面
5、客户代驾选起始点、车辆、下单界面

6、司机开始接单界面

7、乘客创建订单、司机抢单界面

8、司机赶往代驾起点、到达代驾点,乘客确认司机到达

9、开始代驾,司乘同显界面

10、到达终点、结束代驾,并且推送账单给客户

11、乘客支付成功、评价订单

四、功能概述
项目流程图

腾讯云服务
|
序号 |
云服务名称 |
具体实现 |
|
1 |
对象存储服务(COS) |
存储司机实名认证的身份证和驾驶证照片 |
|
2 |
人脸识别(AiFace) |
司机接单前的身份核实,并且具备静态活体检测功能 |
|
3 |
人员库管理(face-lib) |
云端存储司机注册时候的人脸模型,用于身份比对使用 |
|
4 |
数据万象(ci) |
用于监控大家录音文本内容,判断是否包含违规内容 |
|
5 |
OCR证件识别插件 |
用于OCR识别和扫描身份证和驾驶证的信息 |
|
6 |
微信同声传译插件 |
把文字合成语音,播报订单;把录音转换成文本,用于安全监控 |
|
7 |
路线规划插件 |
用于规划司机下班回家的线路,或者小程序订单显示的路线 |
|
8 |
地图选点插件 |
用于小程序上面地图选点操作 |
|
9 |
腾讯位置服务 |
路线规划、定位导航、里程和时间预估 |
五、技术选型
架构图

技术概述
-
后端采用Spring Boot、Spring Cloud & Alibaba。
-
注册中心、配置中心:Nacos
-
网关路由代理调用:Spring Cloud Gateway (动态网关)
-
声明式服务调用:Spring Cloud OpenFeign
-
阿里流量防卫兵:Sentinel (限流、熔断降级、负载保护)
-
分布式事务框架:TX-LCN(LCN模式)
-
数据库集群:ShardingSphere 5.0 + MySQL 8.0
系统模块
微服务BFF鉴权(SaToken认证与授权)
客户端不是直接访问服务器的公共接口,而是调用BFF层提供的接口,BFF层再调用基础的服务,不同的客户端拥有不同的BFF层,它们定制客户端需要的API接口。有了BFF层之后,客户端只需要发起一次HTTP请求,BFF层就能调用不同的服务,然后把汇总后的数据返回给客户端,这样就减少了外网的HTTP请求,响应速度也就更快。

技术栈总结
|
序号 |
技术栈 |
具体实现 |
|
1 |
SpringBoot |
创建微服务子系统 |
|
2 |
SpringMVC |
Web层框架 |
|
3 |
MyBatis |
持久层框架 |
|
4 |
Feign |
远程调用 |
|
5 |
TX-LCN |
分布式事务 |
|
6 |
RabbitMQ |
系统消息收发 |
|
7 |
Swagger |
在线调试Web方法 |
|
8 |
QLExpress |
规则引擎,计算预估费用、取消费用等等 |
|
9 |
Quartz |
定时器,销毁过期未接单订单、定时自动分账等等 |
|
10 |
Phoenix |
HBase数据存储 |
|
11 |
Minio |
私有云存储 |
|
12 |
GEO |
GPS分区定位计算 |
|
13 |
SaToken |
认证与授权框架 |
|
14 |
VUE3.0 |
前端框架 |
|
15 |
UniAPP |
移动端框架 |