build: 适配管理端 flow 基路径
- 调整开发与分析环境的 base 和接口前缀为 /flow - 更新 Vite 代理配置,兼容 /flow/api 与 /flow/userCenter - 修复基路径下的 Logo 与启动加载图资源地址
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
# 是否打开 devtools,true 为打开,false 为关闭
|
||||
VITE_DEVTOOLS=false
|
||||
|
||||
@@ -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',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@@ -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 };
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user