docs(changelog): 司机H5录入全链路免登录已就绪(PR#3803已修,路由守卫误报更正)+标真实拍照上传缺免登录OSS/STS通道前瞻缺口 [前端通知]
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
这个提交包含在:
父节点
05ed56a8aa
当前提交
f47e9fb458
@ -0,0 +1,41 @@
|
||||
# 【后端确认·司机H5】司机自助录入「链接+接口+提交」全链路免登录已就绪(PR #3803);唯一前瞻缺口=真实证件照/头像上传缺免登录 OSS 通道
|
||||
|
||||
> 端:hl-ui(司机自助录入 H5,fleet 二期)+ 后端 hl-fleet-service | 关联 PR #3803(onboard 长链补 `/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}` → 直接渲染录入表单;填完(**可不传照片**)提交 → 进「司机档案·待审核」。整条已通。
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户