From f9199f75b9cea21a7860704fdf6323bf4f1c3c3e Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Sat, 13 Jun 2026 17:27:37 +0800 Subject: [PATCH] =?UTF-8?q?docs(changelog):=20=E5=8F=B8=E6=9C=BA=E5=BD=95?= =?UTF-8?q?=E5=85=A5H5=E8=A1=A8=E5=8D=95=E6=89=93=E4=B8=8D=E5=BC=80-?= =?UTF-8?q?=E5=AF=BC=E8=88=AA=E5=AE=88=E5=8D=AB=E8=AF=AF=E6=8B=A6=E5=85=AC?= =?UTF-8?q?=E5=BC=80=E8=B7=AF=E7=94=B1(=E5=89=8D=E7=AB=AFBUG=C2=B7P0,?= =?UTF-8?q?=E9=80=9A=E7=9F=A5mmg)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...H5表单打不开-导航守卫误拦公开路由-前端BUG.md | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 changelogs-v2/2026-06/13_司机录入H5表单打不开-导航守卫误拦公开路由-前端BUG.md diff --git a/changelogs-v2/2026-06/13_司机录入H5表单打不开-导航守卫误拦公开路由-前端BUG.md b/changelogs-v2/2026-06/13_司机录入H5表单打不开-导航守卫误拦公开路由-前端BUG.md new file mode 100644 index 0000000..c3b8f56 --- /dev/null +++ b/changelogs-v2/2026-06/13_司机录入H5表单打不开-导航守卫误拦公开路由-前端BUG.md @@ -0,0 +1,31 @@ +# 【前端BUG·司机录入H5】司机录入链接打不开:/driver-intake 公开路由被导航守卫误拦去登录页 + +> 端:hl-ui(司机自助录入 H5,fleet 二期) | 严重度:**P0**(整条司机自助录入前端不可用,阿里云短信模板因此过不了审) | 后端/基建已全部就绪,**仅差前端这一处** | 2026-06-13 + +## ⚠️ 现象 + +司机点开录入短信里的链接,落地页**不是录入表单**,而是被重定向到**管理后台登录页**。阿里云短信模板 `SMS_508070093` 三次被拒,最新拒因「**根据您提供的链接,核实功能内容太少,无法判断实际内容**」——因为审核员打开链接看到的不是录入表单。 + +## 1. 问题一(P0 · 导航守卫误拦公开路由)—— **需前端修** + +- 路由 `/driver-intake/:token` 的 `meta.requiresAuth` 已是 `false`(公开),但**全局导航守卫仍把未登录访问重定向到 `/login`**。 +- **复现**:浏览器直接开 `https://web.test.1814.love:9443/driver-intake/{有效token}` → 立即跳 `https://web.test.1814.love:9443/login?redirect=/driver-intake/{token}`。 +- 司机是 C 端、**没有后台账号**,这个页面必须公开放行。 +- **修法**:把 `/driver-intake`(及其子路径)加入导航守卫的**公开白名单**。常见原因是守卫用自己的 `whiteList` 数组判断、不读 `meta.requiresAuth`——请确认 whitelist 含 `/driver-intake`。 + +## 2. 问题二(URL token 参数格式契约不一致)—— **后端来对齐,前端无需动** + +- 前端路由是 `/driver-intake/:token`(token 是**路径参数**)。 +- 但后端 onboard 长链历史生成的是 `/driver-intake?t={token}`(**查询参数**),两者对不上、路由不匹配。 +- **我(后端)改 `buildOnboardUrl` → 生成 `/driver-intake/{token}`,对齐你们现有路由**。前端这条不用动。(等问题一修好、表单能渲染后我同步改+联调。) + +## 后端 / 基建现状(已就绪,仅说明,无需前端关心) + +- `hr.1814.love` 已配**独立 Let's Encrypt 证书**(此前它没有独立配置、用了 aboutme 的证书导致域名不匹配,是阿里云最初拒因「链接无法打开」,已修)。 +- 短链 `hr.1814.love/s/t{code}` → 转发回测试服解析 → 302 到 onboard 链接,已验证。 +- `hr.1814.love/app/h5/**`(录入页后端接口)→ 转发回测试 fleet,`init?token=真token` 返 `200 success`(后端校验链路 OK)。 +- 即:**后端全通,只要前端表单能在 `/driver-intake/{token}` 公开渲染,整条链路立刻打通**,我随即重提阿里云短信模板并收尾。 + +## 验收(前端修完后这样验) + +浏览器开 `https://web.test.1814.love:9443/driver-intake/{管理后台生成的有效token}`(**不登录**)应直接渲染司机录入表单(身份证 / 驾驶证 / 行驶证等录入项),而不是跳登录页。修好后回执我,我立即改后端 URL 格式 + 联调 + 重提阿里云模板。