diff --git a/escheduler-api/src/main/java/cn/escheduler/api/configuration/AppConfiguration.java b/escheduler-api/src/main/java/cn/escheduler/api/configuration/AppConfiguration.java
index 7010a9bcd2..de0331cc00 100644
--- a/escheduler-api/src/main/java/cn/escheduler/api/configuration/AppConfiguration.java
+++ b/escheduler-api/src/main/java/cn/escheduler/api/configuration/AppConfiguration.java
@@ -75,7 +75,7 @@ public class AppConfiguration implements WebMvcConfigurer {
//i18n
registry.addInterceptor(localeChangeInterceptor());
- registry.addInterceptor(loginInterceptor()).addPathPatterns(LOGIN_INTERCEPTOR_PATH_PATTERN).excludePathPatterns(LOGIN_PATH_PATTERN,"/swagger-resources/**", "/webjars/**", "/v2/**", "/doc.html", "*.html");
+ registry.addInterceptor(loginInterceptor()).addPathPatterns(LOGIN_INTERCEPTOR_PATH_PATTERN).excludePathPatterns(LOGIN_PATH_PATTERN,"/swagger-resources/**", "/webjars/**", "/v2/**", "/doc.html", "*.html", "/ui/**");
}
@@ -87,6 +87,12 @@ public class AppConfiguration implements WebMvcConfigurer {
registry.addResourceHandler("/ui/**").addResourceLocations("file:ui/");
}
+ @Override
+ public void addViewControllers(ViewControllerRegistry registry) {
+ registry.addViewController("/ui/").setViewName("forward:/ui/index.html");
+ registry.addViewController("/").setViewName("forward:/ui/index.html");
+ }
+
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping(PATH_PATTERN).allowedOrigins("*").allowedMethods("*");
diff --git a/escheduler-ui/build/config.js b/escheduler-ui/build/config.js
index 7241671262..f0c555c773 100644
--- a/escheduler-ui/build/config.js
+++ b/escheduler-ui/build/config.js
@@ -189,11 +189,15 @@ const baseConfig = {
},
plugins: [
new webpack.ProvidePlugin({ vue: 'Vue', _: 'lodash' }),
+ new webpack.DefinePlugin({
+ PUBLIC_PATH: JSON.stringify(process.env.PUBLIC_PATH ? process.env.PUBLIC_PATH : '')
+ }),
new HtmlWebpackExtPlugin({
cache: true,
delimiter: '$',
locals: {
- NODE_ENV:isProduction
+ NODE_ENV:isProduction,
+ PUBLIC_PATH: process.env.PUBLIC_PATH ? process.env.PUBLIC_PATH : ''
}
}),
...pages
diff --git a/escheduler-ui/package.json b/escheduler-ui/package.json
index a824c2c5d4..acfa498a54 100644
--- a/escheduler-ui/package.json
+++ b/escheduler-ui/package.json
@@ -11,7 +11,7 @@
"lint:fix": "standard \"**/*.{js,vue}\" --fix",
"start": "npm run dev",
"combo": "node ./build/combo.js",
- "build:combined": "npm run clean && cross-env NODE_ENV=production webpack --config ./build/webpack.config.combined.js"
+ "build:combined": "npm run clean && cross-env NODE_ENV=production PUBLIC_PATH=/escheduler/ui webpack --config ./build/webpack.config.combined.js"
},
"dependencies": {
"autoprefixer": "^9.1.0",
diff --git a/escheduler-ui/src/js/conf/home/store/user/actions.js b/escheduler-ui/src/js/conf/home/store/user/actions.js
index 0bc12c33cd..951d9a0814 100644
--- a/escheduler-ui/src/js/conf/home/store/user/actions.js
+++ b/escheduler-ui/src/js/conf/home/store/user/actions.js
@@ -37,7 +37,7 @@ export default {
signOut () {
io.post(`signOut`, res => {
setTimeout(() => {
- window.location.href = '/view/login/index.html'
+ window.location.href = `${PUBLIC_PATH}/view/login/index.html`
}, 100)
}).catch(e => {
console.log(e)
diff --git a/escheduler-ui/src/js/conf/login/App.vue b/escheduler-ui/src/js/conf/login/App.vue
index 66ba574eb5..bac32e404d 100644
--- a/escheduler-ui/src/js/conf/login/App.vue
+++ b/escheduler-ui/src/js/conf/login/App.vue
@@ -69,9 +69,9 @@
setTimeout(() => {
this.spinnerLoading = false
if (this.userName === 'admin') {
- window.location.href = '/#/security/tenant'
+ window.location.href = `${PUBLIC_PATH}/#/security/tenant`
} else {
- window.location.href = '/#/home'
+ window.location.href = `${PUBLIC_PATH}/#/home`
}
}, 1000)
}).catch(e => {
diff --git a/escheduler-ui/src/js/module/io/index.js b/escheduler-ui/src/js/module/io/index.js
index 5e8a3b18ec..f9d56f1458 100644
--- a/escheduler-ui/src/js/module/io/index.js
+++ b/escheduler-ui/src/js/module/io/index.js
@@ -44,7 +44,7 @@ io.config.timeout = 0
io.config.maxContentLength = 200000
io.config.validateStatus = function (status) {
if (status === 401 || status === 504) {
- window.location.href = '/view/login/index.html'
+ window.location.href = `${PUBLIC_PATH}/view/login/index.html`
return
}
return status
diff --git a/escheduler-ui/src/view/common/meta.inc b/escheduler-ui/src/view/common/meta.inc
index fc307dd487..1f0f0afd63 100644
--- a/escheduler-ui/src/view/common/meta.inc
+++ b/escheduler-ui/src/view/common/meta.inc
@@ -11,12 +11,12 @@
-
-
-
+
+
+
-->
-
+