docs(changelog): 司机H5录入全链路免登录已就绪(PR#3803已修,路由守卫误报更正)+标真实拍照上传缺免登录OSS/STS通道前瞻缺口 [前端通知]

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
这个提交包含在:
API Changelog Bot 2026-06-15 09:54:38 +08:00
父节点 05ed56a8aa
当前提交 f47e9fb458

查看文件

@ -0,0 +1,41 @@
# 【后端确认·司机H5】司机自助录入「链接+接口+提交」全链路免登录已就绪PR #3803);唯一前瞻缺口=真实证件照/头像上传缺免登录 OSS 通道
> 端hl-ui司机自助录入 H5,fleet 二期)+ 后端 hl-fleet-service | 关联 PR #3803onboard 长链补 `/h5/` 前缀,已合 dev-v3| 测试服网关 9443 实测2026-06-15
> 结论:**当前无阻塞,前端无需立即改动**。本条只做两件事——①确认司机录入链接本就该免登录、现在确已免登录且能正常打开;②钉一个"做到真实拍照上传那步才会遇到"的后端缺口,避免遗忘。
## ⚠️ 关键说明(一句话)
司机自助录入链接**已经是免登录且能正常打开**——后端网关白名单 / 前端公开路由 / token 自校验全就绪。上一条 `13_…导航守卫误拦公开路由` 报的"前端守卫 bug"已确认是**误报**:真因是后端 onboard 长链缺 `/h5/` 前缀,**PR #3803 已修并验证,前端守卫无 bug、无需再动**。本条补充说明整条链路现状 + 标记唯一一个前瞻缺口。
## 1. 已就绪并实测(全程免登录,前端无需动)
| 环节 | 路径 | 鉴权 | 实测2026-06-15,无任何登录 token|
|---|---|---|---|
| 链接落地页 | `/h5/driver-intake/{token}` | 前端公开路由 | 200 渲染录入表单 ✓PR #3803 已对齐前缀+路径参数)|
| 初始化 | `GET /app/h5/driver-onboard/init?token=` | 网关 `/app/h5/**` 免 JWT + token 自校验 | 200 返 8 步配置 + 车型选项 ✓ |
| OCR 识别 | `POST /app/h5/driver-onboard/ocr/{step}` | 同上 | 可调;stub 返固定假数据、**不存图**#2797 待真实 OCR|
| 新招/续签提交 | `POST /app/h5/driver-onboard/submit/{new,renew}` | 同上 | 可提交建档;**除 token、licenseNo驾驶证号外,含全部照片 URL 在内的字段当前全选填**,空照片也能提交进「待审核」|
| 短信短链 | `/app/h5/s/{code}` | 完全公开 302 | 跳转 OK |
实测示例(无登录态直接打):
```bash
curl -k "https://web.test.1814.love:9443/app/h5/driver-onboard/init?token=<有效token>"
# → {"code":200,"message":"成功","data":{"mode":"new","tokenValid":true,
# "tokenState":"fresh","stepConfig":{"totalSteps":8,...},"vehicleTypeOptions":[...]}}
```
## 2. 唯一前瞻缺口:真实证件照/头像上传缺免登录通道(做到那步前需后端先补)
**现在不阻塞**照片字段全选填、OCR 是 stub,但等做"司机真实拍照上传证件照/头像"时会撞到:
- 现状OCR 端点收到图片但 **stub 不存**`H5OnboardService.ocr` 注释"file 暂不处理内容,stub 不读取");提交入参里的 `idCardFrontUrl / licenseFrontUrl / regFrontUrl / regBackUrl / exteriorUrls / interiorUrls / portraitUrl` 都是 OSS URL,需要先把图片传上去拿到 URL 才能回填。
- 设计API-SPEC-FLEET §2.3/§3.6,line 776/1926附件走**前端 STS 直传 OSS** 后回填 URL;真实 OCR 也改成入参 `ossUrl`
- 缺口:后端**目前没有任何 STS 发证端点**(全仓 grep `sts` 主代码 0 命中),网关白名单也只放行了文件 **preview**、**未放行任何 upload**;现有 `/mp/file/upload` 需 C 端登录、`/admin/file/upload` 需管理端登录,**司机端(无任何账号)都用不了**。
- 结论:做"司机真实拍照上传"时,后端需补一个挂在 `/app/h5/` 下、token 自校验的**免登录上传或 STS 发证端点**(届时独立小工单)。
**请前端在排到"拍照上传"那步前先找后端对齐走法**STS 前端直传 OSS后端补免登录发证端点vs 后端中转上传(后端补免登录 `/app/h5/.../upload`)。两种都需要后端先动,前端别先按需登录的 `/mp/file``/admin/file` 接。
## 验收(现状,可自测)
浏览器**不登录**开 `https://web.test.1814.love:9443/h5/driver-intake/{管理后台生成的有效token}` → 直接渲染录入表单;填完(**可不传照片**)提交 → 进「司机档案·待审核」。整条已通。