hl-api-changelog/changelogs/2026-04/2026-04-23_mp-pre-trip-checklist-split-arrival-departure.md

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
}

前端需要做的事

  1. 清单项渲染循环:从 6 项改为按后端返回 items 数组长度渲染(避免硬编码数量)
  2. 新增 DEPARTURE_INFO 的 icon / 文案映射
  3. 新增 WARNING 状态的颜色 / 图标样式
  4. 点击到达/离开项跳转时,从 actionPayload.section 判断 tab 默认态

不影响范围

  • 其它 5 项(DEPOSIT_PAID / TRAVELER_INFO / CONTRACT_SIGN / INSURANCE / CHECKLIST_CONFIRMED)行为零变化
  • 到达 / 离开信息的 CRUD 接口(/mp/order/{orderId}/arrival 等)零变化
  • 管理端行前清单(若有)不涉及

相关

  • PRwx/HL#1289
  • 部署:hl-order-service-v28094