diff --git a/changelogs-v2/2026-06/15_司机H5录入免登录已就绪PR3803-待补真实拍照上传OSS免登录通道-司机H5.md b/changelogs-v2/2026-06/15_司机H5录入免登录已就绪PR3803-待补真实拍照上传OSS免登录通道-司机H5.md new file mode 100644 index 0000000..532d3c8 --- /dev/null +++ b/changelogs-v2/2026-06/15_司机H5录入免登录已就绪PR3803-待补真实拍照上传OSS免登录通道-司机H5.md @@ -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}` → 直接渲染录入表单;填完(**可不传照片**)提交 → 进「司机档案·待审核」。整条已通。