From 78149e19dc95d2e905e5993e2df04b69300422c2 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期一, 19 四月 2021 17:54:33 +0800
Subject: [PATCH] !17 同步 ruoyi Merge pull request !17 from 疯狂的狮子li/dev
---
ruoyi-ui/src/components/ThemePicker/index.vue | 1
ruoyi-ui/src/components/TopNav/index.vue | 55 +++++++++++++++++++--------
ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityInitializer.java | 2
ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java | 3 -
ruoyi-framework/src/main/java/com/ruoyi/framework/config/FeignConfig.java | 5 ++
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java | 4 +
ruoyi-ui/src/layout/components/Settings/index.vue | 8 ++--
pom.xml | 2
ruoyi-admin/src/main/resources/application.yml | 2 +
ruoyi-demo/src/main/java/com/ruoyi/demo/feign/fallback/FeignTestFallback.java | 7 +++
ruoyi-ui/src/assets/styles/ruoyi.scss | 6 ---
ruoyi-ui/src/store/modules/settings.js | 2
12 files changed, 62 insertions(+), 35 deletions(-)
diff --git a/pom.xml b/pom.xml
index ba9aa6d..ef756ab 100644
--- a/pom.xml
+++ b/pom.xml
@@ -52,7 +52,7 @@
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
-
+
<!-- pagehelper 鍒嗛〉鎻掍欢 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
index 4c87cc8..6be5918 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
@@ -3,14 +3,13 @@
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
-import org.springframework.cloud.openfeign.EnableFeignClients;
/**
* 鍚姩绋嬪簭
*
* @author ruoyi
*/
-@EnableFeignClients
+
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
public class RuoYiApplication
{
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 963614d..3bc738d 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -207,4 +207,6 @@
response:
enabled: true
okhttp:
+ enabled: true
+ hystrix:
enabled: true
\ No newline at end of file
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/fallback/FeignTestFallback.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/fallback/FeignTestFallback.java
index f2012f9..9e49701 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/fallback/FeignTestFallback.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/feign/fallback/FeignTestFallback.java
@@ -2,11 +2,16 @@
import com.ruoyi.demo.feign.FeignTestService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+@Slf4j
+@Component
public class FeignTestFallback implements FeignTestService {
@Override
public String search(String wd) {
- return null;
+ log.error("fallback");
+ return "鎶ラ敊鍟�";
}
}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
index e73fc9e..42b0031 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
@@ -23,6 +23,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
+import org.springframework.validation.BindingResult;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.HandlerMapping;
@@ -238,6 +239,7 @@
return entry.getValue() instanceof MultipartFile;
}
}
- return o instanceof MultipartFile || o instanceof HttpServletRequest || o instanceof HttpServletResponse;
+ return o instanceof MultipartFile || o instanceof HttpServletRequest || o instanceof HttpServletResponse
+ || o instanceof BindingResult;
}
}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FeignConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FeignConfig.java
index cdb0c8b..919882b 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FeignConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/FeignConfig.java
@@ -1,10 +1,12 @@
package com.ruoyi.framework.config;
import feign.*;
+import feign.hystrix.HystrixFeign;
import okhttp3.ConnectionPool;
import okhttp3.OkHttpClient;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.cloud.openfeign.FeignAutoConfiguration;
import org.springframework.cloud.openfeign.support.SpringMvcContract;
import org.springframework.context.annotation.Bean;
@@ -12,6 +14,7 @@
import java.util.concurrent.TimeUnit;
+@EnableFeignClients
@Configuration
@ConditionalOnClass(Feign.class)
@AutoConfigureBefore(FeignAutoConfiguration.class)
@@ -29,7 +32,7 @@
@Bean
public Feign.Builder feignBuilder() {
- return Feign.builder();
+ return HystrixFeign.builder();
}
@Bean
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityInitializer.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityInitializer.java
index 3b7b3a1..32452b8 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityInitializer.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityInitializer.java
@@ -22,7 +22,7 @@
// 鍔犺浇classpath鐩綍涓嬬殑vm鏂囦欢
p.setProperty("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
// 瀹氫箟瀛楃闆�
- p.setProperty(Velocity.ENCODING_DEFAULT, Constants.UTF8);
+ p.setProperty(Velocity.INPUT_ENCODING, Constants.UTF8);
p.setProperty(Velocity.OUTPUT_ENCODING, Constants.UTF8);
// 鍒濆鍖朧elocity寮曟搸锛屾寚瀹氶厤缃甈roperties
Velocity.init(p);
diff --git a/ruoyi-ui/src/assets/styles/ruoyi.scss b/ruoyi-ui/src/assets/styles/ruoyi.scss
index c7ff69c..de1db7f 100644
--- a/ruoyi-ui/src/assets/styles/ruoyi.scss
+++ b/ruoyi-ui/src/assets/styles/ruoyi.scss
@@ -176,12 +176,6 @@
color: #FFFFFF;
}
-/* submenu item */
-.el-menu--horizontal > .el-submenu .el-submenu__title {
- height: 50px !important;
- line-height: 50px !important;
-}
-
/* text color */
.text-navy {
color: #1ab394;
diff --git a/ruoyi-ui/src/components/ThemePicker/index.vue b/ruoyi-ui/src/components/ThemePicker/index.vue
index 3879c5a..b0df471 100644
--- a/ruoyi-ui/src/components/ThemePicker/index.vue
+++ b/ruoyi-ui/src/components/ThemePicker/index.vue
@@ -35,7 +35,6 @@
if (typeof val !== 'string') return
const themeCluster = this.getThemeCluster(val.replace('#', ''))
const originalCluster = this.getThemeCluster(oldVal.replace('#', ''))
- console.log(themeCluster, originalCluster)
const $message = this.$message({
message: ' Compiling the theme',
diff --git a/ruoyi-ui/src/components/TopNav/index.vue b/ruoyi-ui/src/components/TopNav/index.vue
index 3eebda4..6f7b688 100644
--- a/ruoyi-ui/src/components/TopNav/index.vue
+++ b/ruoyi-ui/src/components/TopNav/index.vue
@@ -5,7 +5,7 @@
@select="handleSelect"
>
<template v-for="(item, index) in topMenus">
- <el-menu-item :index="item.path" :key="index" v-if="index < visibleNumber"
+ <el-menu-item :style="{'--theme': theme}" :index="item.path" :key="index" v-if="index < visibleNumber"
><svg-icon :icon-class="item.meta.icon" />
{{ item.meta.title }}</el-menu-item
>
@@ -30,9 +30,6 @@
<script>
import { constantRoutes } from "@/router";
-// 涓嶉渶瑕佹縺娲荤殑璺敱
-const noactiveList = ["/user/profile", "/dict/type", "/gen/edit", "/job/log"];
-
export default {
data() {
return {
@@ -40,15 +37,25 @@
visibleNumber: 5,
// 鏄惁涓洪娆″姞杞�
isFrist: false,
+ // 褰撳墠婵�娲昏彍鍗曠殑 index
+ currentIndex: undefined
};
},
computed: {
+ theme() {
+ return this.$store.state.settings.theme;
+ },
// 椤堕儴鏄剧ず鑿滃崟
topMenus() {
let topMenus = [];
this.routers.map((menu) => {
if (menu.hidden !== true) {
- topMenus.push(menu);
+ // 鍏煎椤堕儴鏍忎竴绾ц彍鍗曞唴閮ㄨ烦杞�
+ if (menu.path === "/") {
+ topMenus.push(menu.children[0]);
+ } else {
+ topMenus.push(menu);
+ }
}
});
return topMenus;
@@ -63,7 +70,11 @@
this.routers.map((router) => {
for (var item in router.children) {
if (router.children[item].parentPath === undefined) {
- router.children[item].path = router.path + "/" + router.children[item].path;
+ if(router.path === "/") {
+ router.children[item].path = "/redirect/" + router.children[item].path;
+ } else {
+ router.children[item].path = router.path + "/" + router.children[item].path;
+ }
router.children[item].parentPath = router.path;
}
childrenMenus.push(router.children[item]);
@@ -75,12 +86,6 @@
activeMenu() {
const path = this.$route.path;
let activePath = this.routers[0].path;
- var noactive = noactiveList.some(function (item) {
- return path.indexOf(item) !== -1;
- });
- if (noactive) {
- return;
- }
if (path.lastIndexOf("/") > 0) {
const tmpPath = path.substring(1, path.length);
activePath = "/" + tmpPath.substring(0, tmpPath.indexOf("/"));
@@ -91,7 +96,11 @@
activePath = "index";
}
}
- this.activeRoutes(activePath);
+ var routes = this.activeRoutes(activePath);
+ if (routes.length === 0) {
+ activePath = this.currentIndex || this.routers[0].path
+ this.activeRoutes(activePath);
+ }
return activePath;
},
},
@@ -112,10 +121,15 @@
},
// 鑿滃崟閫夋嫨浜嬩欢
handleSelect(key, keyPath) {
+ this.currentIndex = key;
if (key.indexOf("http://") !== -1 || key.indexOf("https://") !== -1) {
// http(s):// 璺緞鏂扮獥鍙f墦寮�
window.open(key, "_blank");
+ } else if (key.indexOf("/redirect") !== -1) {
+ // /redirect 璺緞鍐呴儴鎵撳紑
+ this.$router.push({ path: key.replace("/redirect", "") });
} else {
+ // 鏄剧ず宸︿晶鑱斿姩鑿滃崟
this.activeRoutes(key);
}
},
@@ -129,13 +143,16 @@
}
});
}
- this.$store.commit("SET_SIDEBAR_ROUTERS", routes);
+ if(routes.length > 0) {
+ this.$store.commit("SET_SIDEBAR_ROUTERS", routes);
+ }
+ return routes;
}
},
};
</script>
-<style lang="scss" scoped>
+<style lang="scss">
.el-menu--horizontal > .el-menu-item {
float: left;
height: 50px;
@@ -148,7 +165,13 @@
}
.el-menu--horizontal > .el-menu-item.is-active {
- border-bottom: 3px solid #409eff;
+ border-bottom: 3px solid #{'var(--theme)'};
color: #303133;
}
+
+/* submenu item */
+.el-menu--horizontal > .el-submenu .el-submenu__title {
+ height: 50px !important;
+ line-height: 50px !important;
+}
</style>
diff --git a/ruoyi-ui/src/layout/components/Settings/index.vue b/ruoyi-ui/src/layout/components/Settings/index.vue
index 193ccae..3895199 100644
--- a/ruoyi-ui/src/layout/components/Settings/index.vue
+++ b/ruoyi-ui/src/layout/components/Settings/index.vue
@@ -77,13 +77,11 @@
components: { ThemePicker },
data() {
return {
+ theme: this.$store.state.settings.theme,
sideTheme: this.$store.state.settings.sideTheme
};
},
computed: {
- theme() {
- return this.$store.state.settings.theme
- },
fixedHeader: {
get() {
return this.$store.state.settings.fixedHeader
@@ -138,6 +136,7 @@
key: 'theme',
value: val
})
+ this.theme = val;
},
handleTheme(val) {
this.$store.dispatch('settings/changeSetting', {
@@ -161,7 +160,8 @@
"tagsView":${this.tagsView},
"fixedHeader":${this.fixedHeader},
"sidebarLogo":${this.sidebarLogo},
- "sideTheme":"${this.sideTheme}"
+ "sideTheme":"${this.sideTheme}",
+ "theme":"${this.theme}"
}`
);
setTimeout(loading.close(), 1000)
diff --git a/ruoyi-ui/src/store/modules/settings.js b/ruoyi-ui/src/store/modules/settings.js
index bb8062f..93f7c04 100644
--- a/ruoyi-ui/src/store/modules/settings.js
+++ b/ruoyi-ui/src/store/modules/settings.js
@@ -5,7 +5,7 @@
const storageSetting = JSON.parse(localStorage.getItem('layout-setting')) || ''
const state = {
- theme: variables.theme,
+ theme: storageSetting.theme || variables.theme,
sideTheme: storageSetting.sideTheme || sideTheme,
showSettings: showSettings,
topNav: storageSetting.topNav === undefined ? topNav : storageSetting.topNav,
--
Gitblit v1.9.3