Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
4.0 KiB
4.0 KiB
【后端确认·司机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 |
实测示例(无登录态直接打):
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} → 直接渲染录入表单;填完(可不传照片)提交 → 进「司机档案·待审核」。整条已通。