diff --git a/src/main.tsx b/src/main.tsx index d8e0544..e95e756 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -2,12 +2,12 @@ import ReactDOM from 'react-dom/client' import { RouterProvider, createRouter } from '@tanstack/react-router' import { routeTree } from './routeTree.gen' import './index.css' -import { basename } from './modules/basename' +import { getDynamicBasename } from './modules/basename' // Set up a Router instance const router = createRouter({ routeTree, - basepath: basename, + basepath: getDynamicBasename(), defaultPreload: 'intent', scrollRestoration: true, }) diff --git a/src/modules/basename.ts b/src/modules/basename.ts index df380e1..0516610 100644 --- a/src/modules/basename.ts +++ b/src/modules/basename.ts @@ -8,4 +8,15 @@ export const wrapBasename = (path: string) => { } else { return path; } +} + +// 动态计算 basename,根据当前 URL 路径 +export const getDynamicBasename = (): string => { + const path = window.location.pathname + const [user, key, id] = path.split('/').filter(Boolean) + if (key === 'v1' && id) { + return `/${user}/v1/${id}` + } + // 默认使用构建时的 basename + return basename } \ No newline at end of file