build: 适配管理端 flow 基路径

- 调整开发与分析环境的 base 和接口前缀为 /flow

- 更新 Vite 代理配置,兼容 /flow/api 与 /flow/userCenter

- 修复基路径下的 Logo 与启动加载图资源地址
This commit is contained in:
2026-03-18 21:56:36 +08:00
parent 5d3c7d8692
commit cff4fe8da9
5 changed files with 24 additions and 13 deletions

View File

@@ -1,7 +1,7 @@
# public path
VITE_BASE=/
VITE_BASE=/flow/
# Basic interface address SPA
VITE_GLOB_API_URL=/api
VITE_GLOB_API_URL=/flow
VITE_VISUALIZER=true

View File

@@ -1,10 +1,10 @@
# 端口号
VITE_PORT=5090
VITE_BASE=/
VITE_BASE=/flow/
# 接口地址
VITE_GLOB_API_URL=http://127.0.0.1:8111
VITE_GLOB_API_URL=/flow
# 是否打开 devtoolstrue 为打开false 为关闭
VITE_DEVTOOLS=false

View File

@@ -20,13 +20,17 @@ export default defineConfig(async () => {
],
server: {
proxy: {
'/api': {
'/flow/api': {
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, ''),
// mock代理目标地址
target: 'http://localhost:5320/api',
rewrite: (path) => path.replace(/^\/flow/, ''),
target: 'http://127.0.0.1:8111',
ws: true,
},
'/flow/userCenter': {
changeOrigin: true,
rewrite: (path) => path.replace(/^\/flow/, ''),
target: 'http://127.0.0.1:8111',
},
},
},
},

View File

@@ -20,6 +20,7 @@ async function viteInjectAppLoadingPlugin(
const { version } = await readPackageJSON(process.cwd());
const envRaw = isBuild ? 'prod' : 'dev';
const cacheName = `'${env.VITE_APP_NAMESPACE}-${version}-${envRaw}-preferences-theme'`;
const appBase = JSON.stringify(ensureTrailingSlash(env.VITE_BASE || '/'));
// 获取缓存的主题
// 保证黑暗主题下刷新页面时loading也是黑暗主题
@@ -29,7 +30,7 @@ async function viteInjectAppLoadingPlugin(
document.documentElement.classList.toggle('dark', /dark/.test(theme));
setTimeout(() => {
if (/dark/.test(theme)) {
document.querySelector('#__app-loading__ img').src = '/logoDark.svg';
document.querySelector('#__app-loading__ img').src = ${appBase} + 'logoDark.svg';
}
})
</script>
@@ -68,4 +69,8 @@ async function getLoadingRawByHtmlTemplate(loadingTemplate: string) {
return await fsp.readFile(appLoadingPath, 'utf8');
}
function ensureTrailingSlash(path: string) {
return path.endsWith('/') ? path : `${path}/`;
}
export { viteInjectAppLoadingPlugin };

View File

@@ -1,5 +1,7 @@
import type { Preferences } from './types';
const assetBase = import.meta.env.BASE_URL || '/';
const defaultPreferences: Preferences = {
app: {
accessMode: 'frontend',
@@ -65,10 +67,10 @@ const defaultPreferences: Preferences = {
logo: {
enable: true,
fit: 'contain',
source: '/logo.svg',
sourceDark: '/logoDark.svg',
sourceMini: '/logoMini.svg',
sourceMiniDark: '/logoMiniDark.svg',
source: `${assetBase}logo.svg`,
sourceDark: `${assetBase}logoDark.svg`,
sourceMini: `${assetBase}logoMini.svg`,
sourceMiniDark: `${assetBase}logoMiniDark.svg`,
},
navigation: {
accordion: true,