4.2 KiB
4.2 KiB
微信小程序 · 出发准备清单「接送机」拆成「到达」+「离开」两项 + 按出行人覆盖三态
- 变更日期: 2026-04-23
- PR: #1289
- 端: 微信小程序(管理端不涉及)
- 影响面: 行前准备清单(出发倒计时聚合接口)
- 兼容性: 需要前端同步调整(清单项数量从 6 变 7,单项 key 新增,状态值新增
WARNING)
变化一:清单项数量 6 → 7
| 之前 | 现在 |
|---|---|
6 项:DEPOSIT_PAID / TRAVELER_INFO / ARRIVAL_INFO(接送机合一)/ CONTRACT_SIGN / INSURANCE / CHECKLIST_CONFIRMED |
7 项:DEPOSIT_PAID / TRAVELER_INFO / ARRIVAL_INFO(到达)/ DEPARTURE_INFO(离开)/ CONTRACT_SIGN / INSURANCE / CHECKLIST_CONFIRMED |
ChecklistItemKey 取值对照
| 新 key | 之前文案 | 现在文案 |
|---|---|---|
ARRIVAL_INFO |
接送机信息 |
到达信息 |
DEPARTURE_INFO(新增) |
— | 离开信息 |
前端如果用 ARRIVAL_INFO 这个枚举值做判断:逻辑保留即可,但文案"接送机"需要改为"到达";新增 DEPARTURE_INFO 需要渲染一项。
变化二:状态新增 WARNING(黄色提示态)
之前单项状态只有两个:DONE / PENDING;现在在到达/离开两项上新增 WARNING。
到达 / 离开项的三态判断
| 状态 | 触发条件 | 文案示例(title + subtitle) |
|---|---|---|
DONE |
订单有至少 1 批到达/离开,且所有出行人都已被某个批次覆盖 | 「到达信息已填」 · 「N 批 · 全员已覆盖」 |
WARNING(新) |
有批次但漏填了部分出行人 | 「到达信息未填全」 · 「还有 X 人未安排」 |
PENDING |
0 批次 | 「填写到达信息」 · 「司机将根据此信息接机」 |
离开项同理,文案里"到达 / 接机" → "离开 / 送机"。
前端如果沿用「DONE=绿色 / PENDING=灰色」两色方案,新增一个"黄色"(
WARNING)即可。
变化三:actionPayload 新增 section 字段
点击「到达 / 离开」项跳转表单时,actionPayload 新增 section 区分是到达还是离开:
{
"title": "填写到达信息",
"status": "PENDING",
"actionType": "NAVIGATE",
"actionPayload": {
"target": "arrival_form",
"orderId": 1900001,
"section": "arrival" // ← 新增,取值 arrival | departure
}
}
前端跳到达/离开表单页时,可用 section 定位默认展开的 tab。
接口
路径不变(以 Swagger 为准)。返回体结构:
{
"code": 200,
"data": {
"items": [
{ "key": "DEPOSIT_PAID", "status": "DONE", "title": "...", "subtitle": "..." },
{ "key": "TRAVELER_INFO", "status": "PENDING", "title": "...", "subtitle": "..." },
{ "key": "ARRIVAL_INFO", "status": "WARNING", "title": "到达信息未填全", "subtitle": "还有 1 人未安排",
"actionType": "NAVIGATE", "actionPayload": { "target": "arrival_form", "orderId": 1900001, "section": "arrival" } },
{ "key": "DEPARTURE_INFO", "status": "PENDING", "title": "填写离开信息", "subtitle": "司机将根据此信息送机",
"actionType": "NAVIGATE", "actionPayload": { "target": "arrival_form", "orderId": 1900001, "section": "departure" } },
{ "key": "CONTRACT_SIGN", "status": "DONE" },
{ "key": "INSURANCE", "status": "DONE" },
{ "key": "CHECKLIST_CONFIRMED", "status": "PENDING" }
]
},
"success": true
}
前端需要做的事
- 清单项渲染循环:从 6 项改为按后端返回
items数组长度渲染(避免硬编码数量) - 新增
DEPARTURE_INFO的 icon / 文案映射 - 新增
WARNING状态的颜色 / 图标样式 - 点击到达/离开项跳转时,从
actionPayload.section判断 tab 默认态
不影响范围
- 其它 5 项(
DEPOSIT_PAID / TRAVELER_INFO / CONTRACT_SIGN / INSURANCE / CHECKLIST_CONFIRMED)行为零变化 - 到达 / 离开信息的 CRUD 接口(
/mp/order/{orderId}/arrival等)零变化 - 管理端行前清单(若有)不涉及
相关
- PR:wx/HL#1289
- 部署:
hl-order-service-v2(8094)