配送人员(Deliverer)小程序功能文档
一、概述
配送人员负责从供应商处取货,并将商品配送到客户手中。主要功能包括配送任务管理、抢单、凭证上传等。
主题色:活力红 #ee0a24
渐变色:linear-gradient(135deg, #ee0a24 0%, #ff976a 100%)
二、功能模块
1. 账户与认证
| 功能 |
接口路径 |
方法 |
说明 |
| 账号密码登录 |
POST /api/mini/auth/login |
POST |
输入用户名密码登录 |
| 微信一键登录 |
POST /api/mini/auth/sms-login |
POST |
通过微信授权获取手机号登录 |
| 登出 |
POST /api/mini/auth/logout |
POST |
退出当前登录状态 |
| 修改密码 |
POST /api/mini/user/change-password |
POST |
自主修改登录密码 |
| 获取当前用户信息 |
GET /api/mini/auth/current-user |
GET |
获取登录用户基本信息 |
| 获取个人资料 |
GET /api/mini/deliverer/profile |
GET |
获取配送员详细信息(含评分统计) |
| 更新个人资料 |
PUT /api/mini/deliverer/profile |
PUT |
修改姓名、手机号等基本信息 |
2. 配送任务
| 功能 |
接口路径 |
方法 |
说明 |
| 获取待取货任务 |
/api/mini/deliverer/tasks?status=pending |
GET |
查看待取货的配送任务 |
| 获取配送中任务 |
/api/mini/deliverer/tasks?status=delivering |
GET |
查看正在配送的任务 |
| 获取已完成任务 |
/api/mini/deliverer/tasks?status=completed |
GET |
查看已完成的任务 |
| 获取任务详情 |
/api/mini/deliverer/tasks/{taskId} |
GET |
查看任务详细信息(含供应商地址、客户信息) |
| 确认取货 |
/api/mini/deliverer/tasks/{taskId}/pickup |
POST |
到达供应商处,确认取货 |
| 确认送达 |
/api/mini/deliverer/tasks/{taskId}/deliver |
POST |
完成配送,确认送达 |
| 申请取消任务 |
/api/mini/deliverer/tasks/{taskId}/cancel |
POST |
因特殊原因申请取消任务 |
| 换班交接 |
/api/mini/deliverer/handover |
POST |
与其他配送员交接任务 |
| 上传配送凭证 |
/api/mini/deliverer/tasks/{taskId}/upload-proof |
POST |
上传取货/送达凭证 |
配送任务状态说明
| 状态值 |
显示文本 |
说明 |
| pending |
待取货 |
等待配送员到供应商处取货 |
| picking |
取货中 |
配送员正在取货 |
| delivering |
配送中 |
已取货,正在配送到客户 |
| completed |
已完成 |
配送完成 |
| cancelled |
已取消 |
任务已取消 |
取货操作说明
POST /api/mini/deliverer/tasks/{taskId}/pickup
{
"remark": "货物完好,数量正确", // 取货备注
"imageUrls": ["https://cdn.example.com/pickup/001.jpg"] // 取货凭证图片
}
送达操作说明
POST /api/mini/deliverer/tasks/{taskId}/deliver
{
"items": [
{ "taskItemId": "DLV_ITEM_001", "deliveredQuantity": 10 } // 每项商品的送达数量
],
"remark": "客户已签收", // 送达备注
"imageUrls": ["https://cdn.example.com/deliver/001.jpg"] // 送达凭证图片
}
3. 抢单功能
| 功能 |
接口路径 |
方法 |
说明 |
| 获取可抢单列表 |
/api/mini/deliverer/snatch/pending |
GET |
查看待抢的配送任务 |
| 获取我的抢单记录 |
/api/mini/deliverer/snatch/my |
GET |
查看我的抢单历史 |
| 获取抢单统计 |
/api/mini/deliverer/snatch/statistics |
GET |
查看抢单成功率等统计 |
说明:部分配送任务支持配送员自由抢单,抢单成功后自动分配给抢单人。
4. 时效预警
| 功能 |
接口路径 |
方法 |
说明 |
| 获取时效预警 |
/api/mini/deliverer/tasks/warnings |
GET |
查看即将超时的配送任务 |
| 获取即将超时任务 |
/api/mini/deliverer/tasks/expiring |
GET |
查看指定时间内即将超时的任务 |
说明:系统会在配送任务即将超时时发送预警通知,提醒配送员注意时效。
5. 任务统计
| 功能 |
接口路径 |
方法 |
说明 |
| 获取任务统计 |
/api/mini/deliverer/tasks/statistics |
GET |
获取今日/本周/本月完成数量统计 |
| 获取效率统计 |
/api/mini/deliverer/statistics/efficiency |
GET |
获取配送效率分析数据 |
统计数据说明
{
"todayPending": 2, // 今日待取货
"todayDelivering": 3, // 今日配送中
"todayCompleted": 8, // 今日已完成
"weekCompleted": 45, // 本周已完成
"monthCompleted": 180, // 本月已完成
"rating": 4.9 // 平均评分
}
6. 凭证管理
| 功能 |
接口路径 |
方法 |
说明 |
| 上传取货凭证 |
/api/mini/deliverer/tasks/{taskId}/pickup |
POST |
上传取货照片和备注 |
| 上传送达凭证 |
/api/mini/deliverer/tasks/{taskId}/deliver |
POST |
上传送达照片和备注 |
| 上传其他凭证 |
/api/mini/deliverer/tasks/{taskId}/upload-proof |
POST |
上传其他类型的凭证 |
| 查看配送凭证 |
/api/mini/delivery-tasks/{taskId}/attachments |
GET |
查看任务关联的附件凭证 |
7. 评价管理
| 功能 |
接口路径 |
方法 |
说明 |
| 查看配送评价 |
/api/web/deliverer-reviews |
GET |
查看客户对自己的评价 |
说明:客户收到商品后可以对配送员进行评分和评价。
8. 消息通知
| 功能 |
接口路径 |
方法 |
说明 |
| 获取消息列表 |
/api/message/list |
GET |
分页查询系统消息 |
| 获取未读消息数 |
/api/message/unread-count |
GET |
获取未读消息数量 |
| 发送消息 |
/api/message/send |
POST |
给其他用户发送消息 |
| 全部标记已读 |
/api/message/mark-all-read |
POST |
将所有消息标记为已读 |
9. 区域查询
| 功能 |
接口路径 |
方法 |
说明 |
| 获取本区域供应商 |
/api/mini/common/suppliers |
GET |
查询本区域供应商的联系方式和地址 |
说明:配送员可查询供应商信息,便于联系和导航。
三、页面结构
pages/deliver/
├── home/ # 首页
│ └── home.vue # 首页(任务概览、快捷操作)
├── task/ # 配送任务
│ ├── task.vue # 任务列表(待取货/配送中/已完成 Tab)
│ └── detail.vue # 任务详情(取货/送达操作)
├── snatch/ # 抢单
│ └── snatch.vue # 抢单列表/我的抢单
├── profile/ # 个人中心
│ └── profile.vue # 个人资料、评分统计、设置
四、状态标签样式
// 待取货
.status-tag.warning { background: #fff7e6; color: #ff976a; }
// 取货中/配送中
.status-tag.primary { background: #e6f7ff; color: #1989fa; }
// 已完成
.status-tag.success { background: #f6ffed; color: #07c160; }
// 已取消/异常
.status-tag.danger { background: #fff1f0; color: #ee0a24; }
// 已结束/禁用
.status-tag.info { background: #f5f5f5; color: #999; }
五、典型业务流程
配送流程
1. 运营分配配送任务给配送员
↓
2. 配送员收到新任务通知
↓
3. 到达供应商处取货
↓
4. 确认取货(上传凭证)
↓
5. 开始配送
↓
6. 到达客户处送货
↓
7. 确认送达(填写送达数量、上传凭证)
↓
8. 配送完成,等待下一单
抢单流程
1. 配送员查看可抢单列表
↓
2. 选择意向任务
↓
3. 点击抢单
↓
4. 抢单成功,任务自动分配
↓
5. 开始配送流程
换班交接流程
1. 当前配送员发起换班交接
↓
2. 选择接班配送员
↓
3. 交接待处理任务
↓
4. 接班配送员接收任务
↓
5. 任务流转给接班人
六、交互规范
按钮样式
| 类型 |
样式 |
圆角 |
| 主要按钮 |
实心背景 $deliver-primary |
24rpx |
| 次要按钮 |
边框样式 |
24rpx |
| 文字按钮 |
无背景无边框 |
- |
任务卡片
- 显示供应商名称、地址、联系电话
- 显示客户数量和商品数量
- 显示预计送达时间/剩余时间
- 支持一键拨打电话
凭证上传
- 支持拍照或从相册选择
- 支持上传多张图片
- 建议上传取货和送达凭证
时效提醒
- 实时显示配送倒计时
- 临近超时前15分钟推送预警
- 超时后高亮显示红色警示
七、技术说明
- 框架:uni-app + Vue3 + TypeScript
- UI 组件:Vant Weapp
- 状态管理:Pinia
- 接口前缀:
/api/mini/
- 金额单位:API 传分(整数),前端展示元(除以100,保留2位小数)
- 时间格式:前端展示
YYYY-MM-DD HH:mm:ss
八、评分统计展示
{
"rating": 4.9, // 平均评分(1-5星)
"totalDeliveries": 1256, // 累计配送单数
"todayDeliveries": 8, // 今日配送单数
"excellentRate": 96.5, // 好评率
"averageTime": "35分钟" // 平均配送时长
}