From e9ae6a5ae83bf6b1106de956eeadc6f63c79e4f7 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Thu, 18 Jun 2026 16:29:35 +0800 Subject: [PATCH] =?UTF-8?q?docs(changelog-v2):=20=E5=8F=B8=E6=9C=BA?= =?UTF-8?q?=E7=BB=AD=E7=AD=BE=E8=BD=A6=E8=BE=86=E5=8C=BA=E4=BB=85=E4=B8=AA?= =?UTF-8?q?=E4=BA=BA=E8=BD=A6+=E8=87=AA=E5=B8=A6=E6=98=BE=E7=A4=BA=20?= =?UTF-8?q?=E8=A1=8C=E4=B8=BA=E5=8F=98=E6=9B=B4=20(PR=20#3995=20=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=20#3991)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...签车辆区仅个人车自带显示-行为变更-司机H5.md | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 changelogs-v2/2026-06/18_3991_司机续签车辆区仅个人车自带显示-行为变更-司机H5.md diff --git a/changelogs-v2/2026-06/18_3991_司机续签车辆区仅个人车自带显示-行为变更-司机H5.md b/changelogs-v2/2026-06/18_3991_司机续签车辆区仅个人车自带显示-行为变更-司机H5.md new file mode 100644 index 0000000..8e39195 --- /dev/null +++ b/changelogs-v2/2026-06/18_3991_司机续签车辆区仅个人车自带显示-行为变更-司机H5.md @@ -0,0 +1,50 @@ +# 【行为变更·司机H5】司机续签车辆区仅「个人车 + 自带来源」显示,公司车/无常驻车隐藏 + +> 服务:hl-fleet-service(8087/8187) | 分支:dev-v3 | PR:#3995 | 工单:#3991 +> 已部署测试服双实例 health UP,A/B 真实数据实测通过(2026-06-18) + +## ⚠️ 关键说明 + +1. **后端口径变更**:司机续签初始化 `GET /app/h5/driver-onboard/init` 的 `prefill.currentVehicle`(常驻车回显/编辑块)**只在「司机常驻车是个人车(自用车)」时返回**;常驻车是**公司车**、或司机**无常驻车**,`currentVehicle` 一律为 `null`(旧行为:只要是某车常驻就返回,不分个人车/公司车)。 +2. **前端需配合的完整显隐规则(两者都要)**:车辆区是否展示 = `prefill.currentVehicle != null` **且** 当前「车辆来源 vehicleSource」== `own`(自带)。 + - `currentVehicle == null`(公司车/无常驻)→ **隐藏车辆区**(后端已兜住,前端按 null 隐藏即可)。 + - `currentVehicle != null` 但司机把「车辆来源」下拉切到 `company`(公司分配)→ **前端隐藏车辆区**(这一半后端不管,按实时下拉值动态显隐)。 + - 二者都满足(个人车常驻 + 自带来源)→ **显示车辆区**。 +3. **「个人车」判定按车辆所有权,与「车队归属(fleet)」无关**:前端无需关心 fleet 字段——后端已用所有权(ownerType=personal)gate,前端只看 `currentVehicle` 是否为 null + `vehicleSource` 下拉值。例:某个人车 `fleet=coopA`(合作车队A) 仍会下发 currentVehicle(因所有权=个人)。 + +## 1. currentVehicle 行为变更 + +| 场景(续签 init) | 旧行为 | 新行为 | +|---|---|---| +| 常驻车 = 个人车(自用车) | currentVehicle 返车辆档案块 | 不变,仍返(供前端在「车辆来源=自带」时展示) | +| 常驻车 = 公司车 | currentVehicle 返车辆档案块 | **currentVehicle = null** | +| 无常驻车 | currentVehicle = null | 不变,仍 null | + +## 2. 前端动作(hl-ui 司机 H5) + +续签流程「车辆区/携带车」的展示判定改为: + +``` +showVehicleSection = (prefill.currentVehicle != null) && (当前车辆来源下拉 vehicleSource === 'own') +``` + +- 车辆来源下拉值仍取 `prefill.vehicleSource`(own=自带 / company=公司分配)作初值,司机可实时改;改为 company 时即时隐藏车辆区,改回 own 且 currentVehicle 非 null 时再显示。 +- 公司车司机(currentVehicle 恒 null)续签时**不展示车辆区**,只填司机侧变更项。 + +## 3. A/B 实测(测试服真实续签 token) + +```bash +# 公司车常驻 → currentVehicle = null(车辆区隐藏) +curl -k "https://web.test.1814.love:9443/app/h5/driver-onboard/init?token=8dcfc0d597364bf7a6259afa3c5025ff" +# → data.prefill.currentVehicle = null (常驻车 蒙C01E01 = 公司车) + +# 个人车常驻 → currentVehicle 非 null(车辆区可显示) +curl -k "https://web.test.1814.love:9443/app/h5/driver-onboard/init?token=e8365dab9909445aad6725a23da17c00" +# → data.prefill.currentVehicle = { plate:"蒙A-H7777", ... } (个人车,fleet=coopA) +``` + +## 4. 后端内部变更(前端无需关注,备查) + +1. `VehicleService.getRenewVehiclePrefill`:门槛加 `ownerType=personal`,公司车/无常驻车返 null。 +2. `DriverPendingReviewService.updateRenewedVehicle`:对称兜底——续签审核回写时常驻车为公司车则跳过(防自助续签越权改公司车档案;正常流前端已隐藏不会发车辆编辑,此处再兜一道)。 +3. 无接口契约字段变更、无新增端点、无 Flyway:仅 `currentVehicle` 取值口径收紧。