ai-coding
2026-07-22 14354035ed8a8cb5c503f9c1620b4f91188555e1
feat: 删除临时绕过逻辑

Co-Authored-By: 王心悦 <wangxy84@xiaopeng.com>
5个文件已修改
23 ■■■■■ 已修改文件
.env.dev 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/hooks/usePermission.ts 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/guard.ts 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/service/http/handle.ts 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/typings/env.d.ts 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.env.dev
@@ -1,12 +1,6 @@
# 是否开启服务接口代理 Y | N
VITE_HTTP_PROXY=Y
# 【临时】本地预览权限绕过:Y=默认拥有全部权限,可进任意页面(验收后改回 N 或删除)
VITE_PERMISSION_BYPASS=N
# 【临时·本地调试】Y=关闭 401→SSO 自动跳转,页面不再跳登录页(仅 dev 生效,调试完改回 N 或删除)
VITE_SSO_BYPASS=N
# SSO退出登录
# VITE_SSO_HOST=sso.test.xiaopeng.com
# VITE_SSO_APP_ID=RoboTaxi-admin-predeploy
src/hooks/usePermission.ts
@@ -8,11 +8,6 @@
  function hasPermission(
    permission?: Entity.RoleType | Entity.RoleType[] | string | string[] | number | number[],
  ) {
    // 【临时】本地预览权限绕过:VITE_PERMISSION_BYPASS=Y 时默认拥有全部权限,
    // 使所有静态路由/菜单都生成、不再跳无权限页(验收后删除本段)
    if (import.meta.env.VITE_PERMISSION_BYPASS === 'Y')
      return true
    // return true
    if (!permission)
      return true
src/router/guard.ts
@@ -24,9 +24,7 @@
    appStore.showProgress && window.$loadingBar?.start()
    // 判断有无TOKEN,登录鉴权
    // 本地调试绕过:VITE_SSO_BYPASS=Y 时(仅 dev)视为已登录,便于无 token 调试页面跳转
    const ssoBypass = import.meta.env.DEV && import.meta.env.VITE_SSO_BYPASS === 'Y'
    const isLogin = Boolean(local.get('accessToken')) || ssoBypass
    const isLogin = Boolean(local.get('accessToken'))
    // 修时序:已登录但用户信息未就绪(首次登录/无痕/清缓存)时,先补拉一次用户信息+权限,
    // 保证下面 initAuthRoute 构建菜单时能拿到真实权限,避免"有权限却被误判无权限/来回跳"。
src/service/http/handle.ts
@@ -44,12 +44,6 @@
}
export function redirectToSsoAuth(payload?: unknown) {
  // 本地调试开关:显式开启后,关闭 401→SSO 自动跳转,页面停留便于调试(仅 dev 生效)
  if (import.meta.env.DEV && import.meta.env.VITE_SSO_BYPASS === 'Y') {
    console.warn('[SSO] VITE_SSO_BYPASS=Y 已开启,已跳过 SSO 登录跳转(仅本地调试,勿用于线上)')
    return false
  }
  if (typeof window === 'undefined' || isRedirectingToSso || hasSsoCallbackParams())
    return false
src/typings/env.d.ts
@@ -38,8 +38,6 @@
  readonly VITE_SSO_APP_ID: string
  /** SSO 退出后回跳地址 */
  readonly VITE_SSO_REDIRECT_URL: string
  /** 【本地调试】Y=关闭 401→SSO 自动跳转,仅 dev 生效 */
  readonly VITE_SSO_BYPASS?: 'Y' | 'N'
  /** 后端服务的环境类型 */
  readonly MODE: ServiceEnvType
  /** 指挥中心 Socket.IO 地址 */