From 1bfa14e3c6a2cf43dead7a7cb622dcd16853ba06 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Sat, 10 Jul 2021 12:17:32 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=AF=8C=E6=96=87=E6=9C=AC=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E4=B8=8A=E4=BC=A0=E8=BF=94=E5=9B=9Eurl=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-ui/src/components/Editor/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-ui/src/components/Editor/index.vue b/ruoyi-ui/src/components/Editor/index.vue index 8e6167941..2c906c522 100644 --- a/ruoyi-ui/src/components/Editor/index.vue +++ b/ruoyi-ui/src/components/Editor/index.vue @@ -49,7 +49,7 @@ export default { /* 类型(base64格式、url格式) */ type: { type: String, - default: "", + default: "url", } }, data() { From c02dad2ca3830eafe476c7fa96724ec267cb82e5 Mon Sep 17 00:00:00 2001 From: RuoYi Date: Sun, 11 Jul 2021 15:28:11 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E9=BB=98=E8=AE=A4=E8=AE=BF=E9=97=AE?= =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=96=B0=E5=A2=9E=E6=8F=90=E7=A4=BA=E8=AF=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/system/SysIndexController.java | 29 +++++++++++++++++++ .../framework/config/SecurityConfig.java | 5 ++-- 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java new file mode 100644 index 000000000..9a5cb97dd --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java @@ -0,0 +1,29 @@ +package com.ruoyi.web.controller.system; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.utils.StringUtils; + +/** + * 首页 + * + * @author ruoyi + */ +@RestController +public class SysIndexController +{ + /** 系统基础配置 */ + @Autowired + private RuoYiConfig ruoyiConfig; + + /** + * 访问首页,提示语 + */ + @RequestMapping("/") + public String index() + { + return StringUtils.format("欢迎使用RuoYi后台管理框架,当前版本:v{}", ruoyiConfig.getVersion()); + } +} diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java index 786611507..30718c3c5 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java @@ -100,12 +100,13 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter .antMatchers("/login", "/captchaImage").anonymous() .antMatchers( HttpMethod.GET, + "/", "/*.html", "/**/*.html", "/**/*.css", - "/**/*.js" + "/**/*.js", + "/profile/**" ).permitAll() - .antMatchers("/profile/**").anonymous() .antMatchers("/common/download**").anonymous() .antMatchers("/common/download/resource**").anonymous() .antMatchers("/swagger-ui.html").anonymous() From 5879c2484aa6879e7b5abf3d6ae0ebd9517604cb Mon Sep 17 00:00:00 2001 From: RuoYi Date: Sun, 11 Jul 2021 16:31:10 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E8=8F=9C=E5=8D=95=E8=B7=AF=E7=94=B1?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=94=AF=E6=8C=81=E5=86=85=E9=93=BE=E8=AE=BF?= =?UTF-8?q?=E9=97=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/system/SysIndexController.java | 2 +- .../controller/system/SysMenuController.java | 7 +--- .../ruoyi/common/constant/UserConstants.java | 3 ++ .../com/ruoyi/common/utils/StringUtils.java | 12 ++++++ .../com/ruoyi/system/domain/vo/MetaVo.java | 35 +++++++++++++++++ .../service/impl/SysMenuServiceImpl.java | 39 ++++++++++++++++++- .../src/components/HeaderSearch/index.vue | 4 +- ruoyi-ui/src/layout/components/AppMain.vue | 2 +- .../src/layout/components/InnerLink/index.vue | 27 +++++++++++++ ruoyi-ui/src/router/index.js | 1 + ruoyi-ui/src/store/modules/permission.js | 3 ++ 11 files changed, 125 insertions(+), 10 deletions(-) create mode 100644 ruoyi-ui/src/layout/components/InnerLink/index.vue diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java index 9a5cb97dd..009219e02 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java @@ -24,6 +24,6 @@ public class SysIndexController @RequestMapping("/") public String index() { - return StringUtils.format("欢迎使用RuoYi后台管理框架,当前版本:v{}", ruoyiConfig.getVersion()); + return StringUtils.format("欢迎使用{}后台管理框架,当前版本:v{},请通过前端地址访问。", ruoyiConfig.getName(), ruoyiConfig.getVersion()); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java index 4c7b7c001..eb66ea355 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java @@ -13,7 +13,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -102,8 +101,7 @@ public class SysMenuController extends BaseController { return AjaxResult.error("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在"); } - else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) - && !StringUtils.startsWithAny(menu.getPath(), Constants.HTTP, Constants.HTTPS)) + else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) { return AjaxResult.error("新增菜单'" + menu.getMenuName() + "'失败,地址必须以http(s)://开头"); } @@ -123,8 +121,7 @@ public class SysMenuController extends BaseController { return AjaxResult.error("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在"); } - else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) - && !StringUtils.startsWithAny(menu.getPath(), Constants.HTTP, Constants.HTTPS)) + else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) { return AjaxResult.error("修改菜单'" + menu.getMenuName() + "'失败,地址必须以http(s)://开头"); } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java index 94b23a94f..36797ad8a 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java @@ -57,6 +57,9 @@ public class UserConstants /** ParentView组件标识 */ public final static String PARENT_VIEW = "ParentView"; + /** InnerLink组件标识 */ + public final static String INNER_LINK = "InnerLink"; + /** 校验返回结果码 */ public final static String UNIQUE = "0"; public final static String NOT_UNIQUE = "1"; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java index 1f0d0725e..72ddb566c 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java @@ -6,6 +6,7 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; +import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.text.StrFormatter; /** @@ -260,6 +261,17 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils return StrFormatter.format(template, params); } + /** + * 是否为http(s)://开头 + * + * @param link 链接 + * @return 结果 + */ + public static boolean ishttp(String link) + { + return StringUtils.startsWithAny(link, Constants.HTTP, Constants.HTTPS); + } + /** * 字符串转set * diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MetaVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MetaVo.java index ec0420878..682632615 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MetaVo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MetaVo.java @@ -1,5 +1,7 @@ package com.ruoyi.system.domain.vo; +import com.ruoyi.common.utils.StringUtils; + /** * 路由显示信息 * @@ -22,6 +24,11 @@ public class MetaVo */ private boolean noCache; + /** + * 内链地址(http(s)://开头) + */ + private String link; + public MetaVo() { } @@ -39,6 +46,24 @@ public class MetaVo this.noCache = noCache; } + public MetaVo(String title, String icon, String link) + { + this.title = title; + this.icon = icon; + this.link = link; + } + + public MetaVo(String title, String icon, boolean noCache, String link) + { + this.title = title; + this.icon = icon; + this.noCache = noCache; + if (StringUtils.ishttp(link)) + { + this.link = link; + } + } + public boolean isNoCache() { return noCache; @@ -68,4 +93,14 @@ public class MetaVo { this.icon = icon; } + + public String getLink() + { + return link; + } + + public void setLink(String link) + { + this.link = link; + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java index 23fcebbb5..b633b84a8 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java @@ -10,6 +10,7 @@ import java.util.Set; import java.util.stream.Collectors; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.TreeSelect; import com.ruoyi.common.core.domain.entity.SysMenu; @@ -150,7 +151,7 @@ public class SysMenuServiceImpl implements ISysMenuService router.setName(getRouteName(menu)); router.setPath(getRouterPath(menu)); router.setComponent(getComponent(menu)); - router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()))); + router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath())); List cMenus = menu.getChildren(); if (!cMenus.isEmpty() && cMenus.size() > 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType())) { @@ -166,7 +167,21 @@ public class SysMenuServiceImpl implements ISysMenuService children.setPath(menu.getPath()); children.setComponent(menu.getComponent()); children.setName(StringUtils.capitalize(menu.getPath())); - children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()))); + children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath())); + childrenList.add(children); + router.setChildren(childrenList); + } + else if (menu.getParentId().intValue() == 0 && isInnerLink(menu)) + { + router.setMeta(null); + router.setPath("/inner"); + List childrenList = new ArrayList(); + RouterVo children = new RouterVo(); + String routerPath = StringUtils.replaceEach(menu.getPath(), new String[] { Constants.HTTP, Constants.HTTPS }, new String[] { "", "" }); + children.setPath(routerPath); + children.setComponent(UserConstants.INNER_LINK); + children.setName(StringUtils.capitalize(routerPath)); + children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), menu.getPath())); childrenList.add(children); router.setChildren(childrenList); } @@ -338,6 +353,11 @@ public class SysMenuServiceImpl implements ISysMenuService public String getRouterPath(SysMenu menu) { String routerPath = menu.getPath(); + // 内链打开外网方式 + if (menu.getParentId().intValue() != 0 && isInnerLink(menu)) + { + routerPath = StringUtils.replaceEach(routerPath, new String[] { Constants.HTTP, Constants.HTTPS }, new String[] { "", "" }); + } // 非外链并且是一级目录(类型为目录) if (0 == menu.getParentId().intValue() && UserConstants.TYPE_DIR.equals(menu.getMenuType()) && UserConstants.NO_FRAME.equals(menu.getIsFrame())) @@ -365,6 +385,10 @@ public class SysMenuServiceImpl implements ISysMenuService { component = menu.getComponent(); } + else if (StringUtils.isEmpty(menu.getComponent()) && menu.getParentId().intValue() != 0 && isInnerLink(menu)) + { + component = UserConstants.INNER_LINK; + } else if (StringUtils.isEmpty(menu.getComponent()) && isParentView(menu)) { component = UserConstants.PARENT_VIEW; @@ -384,6 +408,17 @@ public class SysMenuServiceImpl implements ISysMenuService && menu.getIsFrame().equals(UserConstants.NO_FRAME); } + /** + * 是否为内链组件 + * + * @param menu 菜单信息 + * @return 结果 + */ + public boolean isInnerLink(SysMenu menu) + { + return menu.getIsFrame().equals(UserConstants.NO_FRAME) && StringUtils.ishttp(menu.getPath()); + } + /** * 是否为parent_view组件 * diff --git a/ruoyi-ui/src/components/HeaderSearch/index.vue b/ruoyi-ui/src/components/HeaderSearch/index.vue index ae952a984..093118425 100644 --- a/ruoyi-ui/src/components/HeaderSearch/index.vue +++ b/ruoyi-ui/src/components/HeaderSearch/index.vue @@ -70,9 +70,11 @@ export default { this.show = false }, change(val) { + const path = val.path; if(this.ishttp(val.path)) { // http(s):// 路径新窗口打开 - window.open(val.path, "_blank"); + const pindex = path.indexOf("http"); + window.open(path.substr(pindex, path.length), "_blank"); } else { this.$router.push(val.path) } diff --git a/ruoyi-ui/src/layout/components/AppMain.vue b/ruoyi-ui/src/layout/components/AppMain.vue index 423437b72..7cc667488 100644 --- a/ruoyi-ui/src/layout/components/AppMain.vue +++ b/ruoyi-ui/src/layout/components/AppMain.vue @@ -51,7 +51,7 @@ export default { // fix css style bug in open el-dialog .el-popup-parent--hidden { .fixed-header { - padding-right: 15px; + padding-right: 17px; } } diff --git a/ruoyi-ui/src/layout/components/InnerLink/index.vue b/ruoyi-ui/src/layout/components/InnerLink/index.vue new file mode 100644 index 000000000..227ff2a70 --- /dev/null +++ b/ruoyi-ui/src/layout/components/InnerLink/index.vue @@ -0,0 +1,27 @@ + diff --git a/ruoyi-ui/src/router/index.js b/ruoyi-ui/src/router/index.js index 0de4c2fdf..7f0b1059d 100644 --- a/ruoyi-ui/src/router/index.js +++ b/ruoyi-ui/src/router/index.js @@ -6,6 +6,7 @@ Vue.use(Router) /* Layout */ import Layout from '@/layout' import ParentView from '@/components/ParentView'; +import InnerLink from '@/layout/components/InnerLink' /** * Note: 路由配置项 diff --git a/ruoyi-ui/src/store/modules/permission.js b/ruoyi-ui/src/store/modules/permission.js index f3a1d11f9..340524abc 100644 --- a/ruoyi-ui/src/store/modules/permission.js +++ b/ruoyi-ui/src/store/modules/permission.js @@ -2,6 +2,7 @@ import { constantRoutes } from '@/router' import { getRouters } from '@/api/menu' import Layout from '@/layout/index' import ParentView from '@/components/ParentView'; +import InnerLink from '@/layout/components/InnerLink' const permission = { state: { @@ -65,6 +66,8 @@ function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) { route.component = Layout } else if (route.component === 'ParentView') { route.component = ParentView + } else if (route.component === 'InnerLink') { + route.component = InnerLink } else { route.component = loadView(route.component) } From 170cfb356c93c32fa804799c4bc9d02b83b21dae Mon Sep 17 00:00:00 2001 From: RuoYi Date: Mon, 12 Jul 2021 08:42:11 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E8=8B=A5=E4=BE=9D=203.6.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 4 +- ruoyi-admin/pom.xml | 2 +- .../src/main/resources/application.yml | 2 +- ruoyi-common/pom.xml | 2 +- ruoyi-framework/pom.xml | 2 +- ruoyi-generator/pom.xml | 2 +- ruoyi-quartz/pom.xml | 2 +- ruoyi-system/pom.xml | 2 +- ruoyi-ui/package.json | 2 +- ruoyi-ui/src/views/index.vue | 41 ++++++++++++++++++- 10 files changed, 50 insertions(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index 456b1480e..60c01e2ee 100644 --- a/pom.xml +++ b/pom.xml @@ -6,14 +6,14 @@ com.ruoyi ruoyi - 3.5.0 + 3.6.0 ruoyi http://www.ruoyi.vip 若依管理系统 - 3.5.0 + 3.6.0 UTF-8 UTF-8 1.8 diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index 25016b056..a0cb8a857 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -5,7 +5,7 @@ ruoyi com.ruoyi - 3.5.0 + 3.6.0 4.0.0 jar diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 3e6d53b7f..eb6af14c0 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -3,7 +3,7 @@ ruoyi: # 名称 name: RuoYi # 版本 - version: 3.5.0 + version: 3.6.0 # 版权年份 copyrightYear: 2021 # 实例演示开关 diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml index 653cfdb8c..02be00ce1 100644 --- a/ruoyi-common/pom.xml +++ b/ruoyi-common/pom.xml @@ -5,7 +5,7 @@ ruoyi com.ruoyi - 3.5.0 + 3.6.0 4.0.0 diff --git a/ruoyi-framework/pom.xml b/ruoyi-framework/pom.xml index e6a567c24..eb58d1875 100644 --- a/ruoyi-framework/pom.xml +++ b/ruoyi-framework/pom.xml @@ -5,7 +5,7 @@ ruoyi com.ruoyi - 3.5.0 + 3.6.0 4.0.0 diff --git a/ruoyi-generator/pom.xml b/ruoyi-generator/pom.xml index d65176e04..c87ee7cff 100644 --- a/ruoyi-generator/pom.xml +++ b/ruoyi-generator/pom.xml @@ -5,7 +5,7 @@ ruoyi com.ruoyi - 3.5.0 + 3.6.0 4.0.0 diff --git a/ruoyi-quartz/pom.xml b/ruoyi-quartz/pom.xml index 477333c41..67b7abd41 100644 --- a/ruoyi-quartz/pom.xml +++ b/ruoyi-quartz/pom.xml @@ -5,7 +5,7 @@ ruoyi com.ruoyi - 3.5.0 + 3.6.0 4.0.0 diff --git a/ruoyi-system/pom.xml b/ruoyi-system/pom.xml index c68f4c2f0..da5569eee 100644 --- a/ruoyi-system/pom.xml +++ b/ruoyi-system/pom.xml @@ -5,7 +5,7 @@ ruoyi com.ruoyi - 3.5.0 + 3.6.0 4.0.0 diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json index 3e5c3eabe..b765eee79 100644 --- a/ruoyi-ui/package.json +++ b/ruoyi-ui/package.json @@ -1,6 +1,6 @@ { "name": "ruoyi", - "version": "3.5.0", + "version": "3.6.0", "description": "若依管理系统", "author": "若依", "license": "MIT", diff --git a/ruoyi-ui/src/views/index.vue b/ruoyi-ui/src/views/index.vue index f82497111..1fc8586ca 100644 --- a/ruoyi-ui/src/views/index.vue +++ b/ruoyi-ui/src/views/index.vue @@ -147,6 +147,45 @@ 更新日志 + +
    +
  1. 角色管理新增分配用户功能
  2. +
  3. 用户管理新增分配角色功能
  4. +
  5. 日志列表支持排序操作
  6. +
  7. 优化参数&字典缓存操作
  8. +
  9. 系统布局配置支持动态标题开关
  10. +
  11. 菜单路由配置支持内链访问
  12. +
  13. 默认访问后端首页新增提示语
  14. +
  15. 富文本默认上传返回url类型
  16. +
  17. 新增自定义弹窗拖拽指令
  18. +
  19. 全局注册常用通用组件
  20. +
  21. 全局挂载字典标签组件
  22. +
  23. ImageUpload组件支持多图片上传
  24. +
  25. FileUpload组件支持多文件上传
  26. +
  27. 文件上传组件添加数量限制属性
  28. +
  29. 富文本编辑组件添加类型属性
  30. +
  31. 富文本组件工具栏配置视频
  32. +
  33. 封装通用iframe组件
  34. +
  35. 限制超级管理员不允许操作
  36. +
  37. 用户信息长度校验限制
  38. +
  39. 分页组件新增pagerCount属性
  40. +
  41. 添加bat脚本执行应用
  42. +
  43. 升级oshi到最新版本v5.7.4
  44. +
  45. 升级element-ui到最新版本2.15.2
  46. +
  47. 升级pagehelper到最新版1.3.1
  48. +
  49. 升级commons.io到最新版本v2.10.0
  50. +
  51. 升级commons.fileupload到最新版本v1.4
  52. +
  53. 升级swagger到最新版本v3.0.0
  54. +
  55. 修复关闭confirm提示框控制台报错问题
  56. +
  57. 修复存在的SQL注入漏洞问题
  58. +
  59. 定时任务屏蔽rmi远程调用
  60. +
  61. 修复用户搜索分页变量错误
  62. +
  63. 修复导出角色数据范围翻译缺少仅本人
  64. +
  65. 修复表单构建选择下拉选择控制台报错问题
  66. +
  67. 优化图片工具类读取文件
  68. +
  69. 其他细节优化
  70. +
+
  1. 新增菜单导航显示风格TopNav(false为左侧导航菜单,true为顶部导航菜单)
  2. @@ -566,7 +605,7 @@ export default { data() { return { // 版本号 - version: "3.5.0", + version: "3.6.0", }; }, methods: {