董国庆
2026-05-14 139fcc58ded9f36a255a985bd233009759429998
feat(auth, config): 调整开发环境配置并更新SSO登出流程

- 调整开发环境服务配置,切换激活URL为测试域名地址
- 新增SSO登出URL归一化逻辑,修复参数格式问题
- 更新登出重定向至统一SSO登出页面
2个文件已修改
33 ■■■■■ 已修改文件
service.config.ts 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/auth.ts 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service.config.ts
@@ -2,8 +2,8 @@
export const serviceConfig: Record<ServiceEnvType, Record<string, string>> = {
  dev: {
    // url: 'http://localhost:3000',
    url: 'http://221.182.45.100:8000',
    // url: 'http://rt-admin.test.xiaopeng.local',
    // url: 'http://221.182.45.100:8000',
    url: 'http://rt-admin.test.xiaopeng.local',
    // url: 'http://rt-api.deploy-test.xiaopeng.com',
  },
  production: {
src/store/auth.ts
@@ -4,6 +4,31 @@
import { useRouteStore } from './router'
import { useTabStore } from './tab'
function normalizeLogoutRedirectUrl(rawUrl: string) {
  const normalizedUrl = rawUrl
    .trim()
    .replace(/\/sso\s+login_page\//, '/sso/login_page/')
  try {
    const url = new URL(normalizedUrl)
    const appId = url.searchParams.get('appId')
    const redirectUrl = url.searchParams.get('redirecturl')
    if (appId?.startsWith('{') && appId.endsWith('}'))
      url.searchParams.set('appId', appId.slice(1, -1))
    if (redirectUrl?.startsWith('{') && redirectUrl.endsWith('}'))
      url.searchParams.set('redirecturl', redirectUrl.slice(1, -1))
    return url.toString()
  }
  catch {
    return normalizedUrl
  }
}
const SSO_LOGOUT_REDIRECT_URL = 'https://sso-xt.deploy-test.xiaopeng.com/sso_login_page/logout.html?appId=RoboTaxi-admin-predeploy&redirectUrl=http://192.168.110.91:9980/dashboard'
// 临时补充权限,待服务端正式下发后删除。
const TEMP_PERMISSION_CODES = [
  '202642901',
@@ -140,8 +165,8 @@
      tabStore.clearAllTabs()
      // 重置当前存储库
      this.$reset()
      // 退出后回到首页
      router.replace({ path: '/dashboard' })
      // 退出后交给 SSO 退出页统一处理
      window.location.replace(SSO_LOGOUT_REDIRECT_URL)
    },
    clearAuthStorage() {
      local.remove('accessToken')