pom.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityInitializer.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-ui/src/assets/styles/ruoyi.scss | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-ui/src/components/ThemePicker/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-ui/src/components/TopNav/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-ui/src/layout/components/Settings/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-ui/src/store/modules/settings.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
pom.xml
@@ -52,7 +52,7 @@ <artifactId>druid-spring-boot-starter</artifactId> <version>${druid.version}</version> </dependency> <!-- pagehelper 分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
@@ -238,6 +238,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; } } 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); // 初始化Velocity引擎,指定配置Properties Velocity.init(p); 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; 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', 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):// 路径新窗口打开 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> 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) 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,