docs(changelog): 司机录入表单守卫BUG精确定位更正(守卫读meta但部署build的requiresAuth未生效)
这个提交包含在:
父节点
ef1f72e195
当前提交
9fb1d5a9fc
@ -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 参数格式契约不一致)—— **后端来对齐,前端无需动**
|
||||
|
||||
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户