From 9fb1d5a9fc704f2ca444bcfc3174009269d48b2d Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Mon, 15 Jun 2026 08:59:49 +0800 Subject: [PATCH] =?UTF-8?q?docs(changelog):=20=E5=8F=B8=E6=9C=BA=E5=BD=95?= =?UTF-8?q?=E5=85=A5=E8=A1=A8=E5=8D=95=E5=AE=88=E5=8D=ABBUG=E7=B2=BE?= =?UTF-8?q?=E7=A1=AE=E5=AE=9A=E4=BD=8D=E6=9B=B4=E6=AD=A3(=E5=AE=88?= =?UTF-8?q?=E5=8D=AB=E8=AF=BBmeta=E4=BD=86=E9=83=A8=E7=BD=B2build=E7=9A=84?= =?UTF-8?q?requiresAuth=E6=9C=AA=E7=94=9F=E6=95=88)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../13_司机录入H5表单打不开-导航守卫误拦公开路由-前端BUG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/changelogs-v2/2026-06/13_司机录入H5表单打不开-导航守卫误拦公开路由-前端BUG.md b/changelogs-v2/2026-06/13_司机录入H5表单打不开-导航守卫误拦公开路由-前端BUG.md index c3b8f56..648ea61 100644 --- a/changelogs-v2/2026-06/13_司机录入H5表单打不开-导航守卫误拦公开路由-前端BUG.md +++ b/changelogs-v2/2026-06/13_司机录入H5表单打不开-导航守卫误拦公开路由-前端BUG.md @@ -11,7 +11,8 @@ - 路由 `/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`。 +- **精确定位(2026-06-15 补充)**:守卫代码是 `if (to.meta.requiresAuth !== false && !token) → 跳 Login`,即**守卫确实读 `meta.requiresAuth`**、`requiresAuth:false` 本应放行。但实测 `/driver-intake/{token}` 仍被拦,说明**部署在测试服 `/var/www/hl-admin` 的这份构建里,driver-intake 路由在运行时 `to.meta.requiresAuth` 并不等于 `false`**(源码里 grep 到过 `requiresAuth:!1`,但运行时没生效——疑似重复/陈旧路由定义,或该 build 未带上 `requiresAuth:false`)。 +- **修法**:确认 `/driver-intake/:token` 路由 `meta.requiresAuth:false` 在**最终构建/部署**里真正生效(重新 build + 部署到 web.test),运行时该路由不应跳登录。 ## 2. 问题二(URL token 参数格式契约不一致)—— **后端来对齐,前端无需动**