From 83905db7170ea5981949e0f4b56695fb4ee02c83 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期二, 13 七月 2021 13:50:21 +0800
Subject: [PATCH] !69 同步dev分支 Merge pull request !69 from 疯狂的狮子Li/dev
---
ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/CaptchaProperties.java | 5 -
ruoyi-ui/src/components/Editor/index.vue | 16 +-
ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MetaVo.java | 4
ruoyi-ui/src/views/index.vue | 12 ++
pom.xml | 4
ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java | 36 ++++--
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java | 7 +
docker/docker-compose.yml | 8 +
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java | 47 ++++++---
ruoyi-quartz/pom.xml | 2
ruoyi-ui/package.json | 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java | 4
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java | 13 ++
ruoyi-extend/ruoyi-monitor-admin/pom.xml | 2
ruoyi-framework/pom.xml | 2
ruoyi-admin/pom.xml | 2
ruoyi-system/pom.xml | 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java | 6
ruoyi-generator/src/main/resources/vm/vue/index.vue.vm | 6
ruoyi-ui/src/components/ImageUpload/index.vue | 2
ruoyi-admin/Dockerfile | 1
ruoyi-generator/pom.xml | 2
ruoyi-admin/src/main/resources/application.yml | 2
ruoyi-common/pom.xml | 2
README.md | 2
ruoyi-ui/src/views/login.vue | 14 +-
/dev/null | 28 -----
ruoyi-extend/pom.xml | 2
ruoyi-demo/pom.xml | 2
ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm | 6
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java | 12 +
sql/ry_20210713.sql | 7
32 files changed, 146 insertions(+), 116 deletions(-)
diff --git a/README.md b/README.md
index a56dc6c..6fb00c1 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
[](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/blob/master/LICENSE)
[
<br>
-[](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus)
+[](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus)
[]()
[]()
[]()
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index d40ae29..63c46a4 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -76,12 +76,13 @@
ipv4_address: 172.30.0.48
ruoyi-server1:
- image: "ruoyi/ruoyi-server:2.5.0"
+ image: "ruoyi/ruoyi-server:2.5.1"
environment:
- TZ=Asia/Shanghai
volumes:
# 閰嶇疆鏂囦欢
- /docker/server1/logs/:/ruoyi/server/logs/
+ - /docker/ruoyi/uploadPath/:/ruoyi/server/ruoyi/uploadPath/
privileged: true
restart: always
networks:
@@ -89,12 +90,13 @@
ipv4_address: 172.30.0.60
ruoyi-server2:
- image: "ruoyi/ruoyi-server:2.5.0"
+ image: "ruoyi/ruoyi-server:2.5.1"
environment:
- TZ=Asia/Shanghai
volumes:
# 閰嶇疆鏂囦欢
- /docker/server2/logs/:/ruoyi/server/logs/
+ - /docker/ruoyi/uploadPath/:/ruoyi/server/ruoyi/uploadPath/
privileged: true
restart: always
networks:
@@ -102,7 +104,7 @@
ipv4_address: 172.30.0.61
ruoyi-monitor-admin:
- image: "ruoyi/ruoyi-monitor-admin:2.5.0"
+ image: "ruoyi/ruoyi-monitor-admin:2.5.1"
environment:
- TZ=Asia/Shanghai
privileged: true
diff --git a/pom.xml b/pom.xml
index d56898b..00becec 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,14 +6,14 @@
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-vue-plus</artifactId>
- <version>2.5.0</version>
+ <version>2.5.1</version>
<name>RuoYi-Vue-Plus</name>
<url>https://gitee.com/JavaLionLi/RuoYi-Vue-Plus</url>
<description>RuoYi-Vue-Plus鍚庡彴绠$悊绯荤粺</description>
<properties>
- <ruoyi-vue-plus.version>2.5.0</ruoyi-vue-plus.version>
+ <ruoyi-vue-plus.version>2.5.1</ruoyi-vue-plus.version>
<spring-boot.version>2.4.8</spring-boot.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
diff --git a/ruoyi-admin/Dockerfile b/ruoyi-admin/Dockerfile
index 88f4932..dc484c5 100644
--- a/ruoyi-admin/Dockerfile
+++ b/ruoyi-admin/Dockerfile
@@ -4,6 +4,7 @@
RUN mkdir -p /ruoyi/server
RUN mkdir -p /ruoyi/server/logs
+RUN mkdir -p /ruoyi/server/ruoyi/uploadPath
WORKDIR /ruoyi/server
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index 7450213..7ff67be 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -5,7 +5,7 @@
<parent>
<artifactId>ruoyi-vue-plus</artifactId>
<groupId>com.ruoyi</groupId>
- <version>2.5.0</version>
+ <version>2.5.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
index 2f303ba..4654516 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
@@ -14,6 +14,7 @@
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.framework.captcha.UnsignedMathGenerator;
import com.ruoyi.framework.config.properties.CaptchaProperties;
+import com.ruoyi.system.service.ISysConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -26,7 +27,7 @@
/**
* 楠岃瘉鐮佹搷浣滃鐞�
*
- * @author Lion Li
+ * @author ruoyi
*/
@RestController
public class CaptchaController {
@@ -47,15 +48,18 @@
@Autowired
private CaptchaProperties captchaProperties;
+ @Autowired
+ private ISysConfigService configService;
+
/**
* 鐢熸垚楠岃瘉鐮�
*/
@GetMapping("/captchaImage")
public AjaxResult getCode() {
Map<String, Object> ajax = new HashMap<>();
- Boolean enabled = captchaProperties.getEnabled();
- ajax.put("enabled", enabled);
- if (!enabled) {
+ boolean captchaOnOff = configService.selectCaptchaOnOff();
+ ajax.put("captchaOnOff", captchaOnOff);
+ if (!captchaOnOff) {
return AjaxResult.success(ajax);
}
// 淇濆瓨楠岃瘉鐮佷俊鎭�
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 f418541..246abf4 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
@@ -1,5 +1,6 @@
package com.ruoyi.web.controller.system;
+import cn.hutool.core.lang.Validator;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
@@ -9,7 +10,6 @@
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.ServletUtils;
-import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.service.ISysMenuService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -97,7 +97,7 @@
{
return AjaxResult.error("鏂板鑿滃崟'" + menu.getMenuName() + "'澶辫触锛岃彍鍗曞悕绉板凡瀛樺湪");
}
- else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath()))
+ else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !Validator.isUrl(menu.getPath()))
{
return AjaxResult.error("鏂板鑿滃崟'" + menu.getMenuName() + "'澶辫触锛屽湴鍧�蹇呴』浠ttp(s)://寮�澶�");
}
@@ -117,7 +117,7 @@
{
return AjaxResult.error("淇敼鑿滃崟'" + menu.getMenuName() + "'澶辫触锛岃彍鍗曞悕绉板凡瀛樺湪");
}
- else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath()))
+ else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !Validator.isUrl(menu.getPath()))
{
return AjaxResult.error("淇敼鑿滃崟'" + menu.getMenuName() + "'澶辫触锛屽湴鍧�蹇呴』浠ttp(s)://寮�澶�");
}
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index b88929d..4a52958 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -14,8 +14,6 @@
addressEnabled: true
captcha:
- # 楠岃瘉鐮佸紑鍏�
- enabled: true
# 楠岃瘉鐮佺被鍨� math 鏁扮粍璁$畻 char 瀛楃楠岃瘉
type: math
# line 绾挎骞叉壈 circle 鍦嗗湀骞叉壈 shear 鎵洸骞叉壈
diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml
index 28af304..1c2eb3c 100644
--- a/ruoyi-common/pom.xml
+++ b/ruoyi-common/pom.xml
@@ -5,7 +5,7 @@
<parent>
<artifactId>ruoyi-vue-plus</artifactId>
<groupId>com.ruoyi</groupId>
- <version>2.5.0</version>
+ <version>2.5.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
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
deleted file mode 100644
index f3f29f4..0000000
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.ruoyi.common.utils;
-
-import cn.hutool.core.util.StrUtil;
-import com.ruoyi.common.constant.Constants;
-
-/**
- * 瀛楃涓插伐鍏风被
- *
- * @author ruoyi
- */
-public class StringUtils extends org.apache.commons.lang3.StringUtils {
- /** 绌哄瓧绗︿覆 */
- private static final String NULLSTR = "";
-
- /** 涓嬪垝绾� */
- private static final char SEPARATOR = '_';
-
- /**
- * 鏄惁涓篽ttp(s)://寮�澶�
- *
- * @param link 閾炬帴
- * @return 缁撴灉
- */
- public static boolean ishttp(String link) {
- return StrUtil.startWithAny(link, Constants.HTTP, Constants.HTTPS);
- }
-
-}
diff --git a/ruoyi-demo/pom.xml b/ruoyi-demo/pom.xml
index d3909a2..99d40dd 100644
--- a/ruoyi-demo/pom.xml
+++ b/ruoyi-demo/pom.xml
@@ -5,7 +5,7 @@
<parent>
<artifactId>ruoyi-vue-plus</artifactId>
<groupId>com.ruoyi</groupId>
- <version>2.5.0</version>
+ <version>2.5.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/ruoyi-extend/pom.xml b/ruoyi-extend/pom.xml
index e71a426..dc04bc6 100644
--- a/ruoyi-extend/pom.xml
+++ b/ruoyi-extend/pom.xml
@@ -5,7 +5,7 @@
<parent>
<artifactId>ruoyi-vue-plus</artifactId>
<groupId>com.ruoyi</groupId>
- <version>2.5.0</version>
+ <version>2.5.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-extend</artifactId>
diff --git a/ruoyi-extend/ruoyi-monitor-admin/pom.xml b/ruoyi-extend/ruoyi-monitor-admin/pom.xml
index e9d48d6..7c45549 100644
--- a/ruoyi-extend/ruoyi-monitor-admin/pom.xml
+++ b/ruoyi-extend/ruoyi-monitor-admin/pom.xml
@@ -5,7 +5,7 @@
<parent>
<artifactId>ruoyi-extend</artifactId>
<groupId>com.ruoyi</groupId>
- <version>2.5.0</version>
+ <version>2.5.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
diff --git a/ruoyi-framework/pom.xml b/ruoyi-framework/pom.xml
index e7ed991..d3c2739 100644
--- a/ruoyi-framework/pom.xml
+++ b/ruoyi-framework/pom.xml
@@ -5,7 +5,7 @@
<parent>
<artifactId>ruoyi-vue-plus</artifactId>
<groupId>com.ruoyi</groupId>
- <version>2.5.0</version>
+ <version>2.5.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/CaptchaProperties.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/CaptchaProperties.java
index 86ac706..cf9ad8b 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/CaptchaProperties.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/CaptchaProperties.java
@@ -15,11 +15,6 @@
public class CaptchaProperties {
/**
- * 楠岃瘉鐮佸紑鍏�
- */
- private Boolean enabled;
-
- /**
* 楠岃瘉鐮佺被鍨�
*/
private String type;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
index d0b9511..239825f 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
@@ -11,7 +11,7 @@
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.MessageUtils;
import com.ruoyi.common.utils.ServletUtils;
-import com.ruoyi.framework.config.properties.CaptchaProperties;
+import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.AuthenticationManager;
@@ -41,10 +41,10 @@
private RedisCache redisCache;
@Autowired
- private CaptchaProperties captchaProperties;
+ private ISysUserService userService;
@Autowired
- private ISysUserService userService;
+ private ISysConfigService configService;
@Autowired
private AsyncService asyncService;
@@ -61,19 +61,12 @@
public String login(String username, String password, String code, String uuid)
{
HttpServletRequest request = ServletUtils.getRequest();
- if(captchaProperties.getEnabled()) {
- String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid;
- String captcha = redisCache.getCacheObject(verifyKey);
- redisCache.deleteObject(verifyKey);
- if (captcha == null) {
- asyncService.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire"), request);
- throw new CaptchaExpireException();
- }
- if (!code.equalsIgnoreCase(captcha)) {
- asyncService.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error"), request);
- throw new CaptchaException();
- }
- }
+ boolean captchaOnOff = configService.selectCaptchaOnOff();
+ // 楠岃瘉鐮佸紑鍏�
+ if (captchaOnOff)
+ {
+ validateCapcha(username, code, uuid, request);
+ }
// 鐢ㄦ埛楠岃瘉
Authentication authentication = null;
try
@@ -103,6 +96,28 @@
}
/**
+ * 鏍¢獙楠岃瘉鐮�
+ *
+ * @param username 鐢ㄦ埛鍚�
+ * @param code 楠岃瘉鐮�
+ * @param uuid 鍞竴鏍囪瘑
+ * @return 缁撴灉
+ */
+ public void validateCapcha(String username, String code, String uuid, HttpServletRequest request) {
+ String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid;
+ String captcha = redisCache.getCacheObject(verifyKey);
+ redisCache.deleteObject(verifyKey);
+ if (captcha == null) {
+ asyncService.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire"), request);
+ throw new CaptchaExpireException();
+ }
+ if (!code.equalsIgnoreCase(captcha)) {
+ asyncService.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error"), request);
+ throw new CaptchaException();
+ }
+ }
+
+ /**
* 璁板綍鐧诲綍淇℃伅
*/
public void recordLoginInfo(SysUser user)
diff --git a/ruoyi-generator/pom.xml b/ruoyi-generator/pom.xml
index 642dfec..693a8dc 100644
--- a/ruoyi-generator/pom.xml
+++ b/ruoyi-generator/pom.xml
@@ -5,7 +5,7 @@
<parent>
<artifactId>ruoyi-vue-plus</artifactId>
<groupId>com.ruoyi</groupId>
- <version>2.5.0</version>
+ <version>2.5.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
index 5fcdd3b..1778910 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
@@ -35,10 +35,7 @@
import java.io.File;
import java.io.IOException;
import java.io.StringWriter;
-import java.util.Arrays;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
@@ -137,14 +134,17 @@
for (GenTableColumn cenTableColumn : genTable.getColumns()) {
genTableColumnMapper.update(cenTableColumn,
new LambdaUpdateWrapper<GenTableColumn>()
- .set(cenTableColumn.getIsPk() == null, GenTableColumn::getIsPk, null)
- .set(cenTableColumn.getIsIncrement() == null, GenTableColumn::getIsIncrement, null)
- .set(cenTableColumn.getIsInsert() == null, GenTableColumn::getIsInsert, null)
- .set(cenTableColumn.getIsEdit() == null, GenTableColumn::getIsEdit, null)
- .set(cenTableColumn.getIsList() == null, GenTableColumn::getIsList, null)
- .set(cenTableColumn.getIsQuery() == null, GenTableColumn::getIsQuery, null)
- .set(cenTableColumn.getIsRequired() == null, GenTableColumn::getIsRequired, null)
- .eq(GenTableColumn::getColumnId,cenTableColumn.getColumnId()));
+ .set(StrUtil.isBlank(cenTableColumn.getColumnComment()), GenTableColumn::getColumnComment, null)
+ .set(StrUtil.isBlank(cenTableColumn.getIsPk()), GenTableColumn::getIsPk, null)
+ .set(StrUtil.isBlank(cenTableColumn.getIsIncrement()), GenTableColumn::getIsIncrement, null)
+ .set(StrUtil.isBlank(cenTableColumn.getIsInsert()), GenTableColumn::getIsInsert, null)
+ .set(StrUtil.isBlank(cenTableColumn.getIsEdit()), GenTableColumn::getIsEdit, null)
+ .set(StrUtil.isBlank(cenTableColumn.getIsList()), GenTableColumn::getIsList, null)
+ .set(StrUtil.isBlank(cenTableColumn.getIsQuery()), GenTableColumn::getIsQuery, null)
+ .set(StrUtil.isBlank(cenTableColumn.getIsRequired()), GenTableColumn::getIsRequired, null)
+ .set(StrUtil.isBlank(cenTableColumn.getQueryType()), GenTableColumn::getQueryType, null)
+ .set(StrUtil.isBlank(cenTableColumn.getDictType()), GenTableColumn::getDictType, null)
+ .eq(GenTableColumn::getColumnId,cenTableColumn.getColumnId()));
}
}
}
@@ -180,10 +180,14 @@
if (row > 0) {
// 淇濆瓨鍒椾俊鎭�
List<GenTableColumn> genTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName);
+ List<GenTableColumn> saveColumns = new ArrayList<>();
for (GenTableColumn column : genTableColumns) {
GenUtils.initColumnField(column, table);
+ saveColumns.add(column);
}
- genTableColumnMapper.insertAll(genTableColumns);
+ if (CollUtil.isNotEmpty(saveColumns)) {
+ genTableColumnMapper.insertAll(saveColumns);
+ }
}
}
} catch (Exception e) {
@@ -287,12 +291,16 @@
}
List<String> dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList());
+ List<GenTableColumn> saveColumns = new ArrayList<>();
dbTableColumns.forEach(column -> {
if (!tableColumnNames.contains(column.getColumnName())) {
GenUtils.initColumnField(column, table);
+ saveColumns.add(column);
}
});
- genTableColumnMapper.insertAll(tableColumns);
+ if (CollUtil.isNotEmpty(saveColumns)) {
+ genTableColumnMapper.insertAll(saveColumns);
+ }
List<GenTableColumn> delColumns = tableColumns.stream().filter(column -> !dbTableColumnNames.contains(column.getColumnName())).collect(Collectors.toList());
if (CollUtil.isNotEmpty(delColumns)) {
diff --git a/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm b/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
index cedab30..30489e0 100644
--- a/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
+++ b/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
@@ -285,7 +285,7 @@
#else
#set($comment=$column.columnComment)
#end
-#if(${column.dictType} != '')
+#if(${column.dictType} && ${column.dictType} != '')
// $comment瀛楀吀
${column.javaField}Options: [],
#elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
@@ -327,7 +327,7 @@
created() {
this.getList();
#foreach ($column in $columns)
-#if(${column.dictType} != '')
+#if(${column.dictType} && ${column.dictType} != '')
this.getDicts("${column.dictType}").then(response => {
this.${column.javaField}Options = response.data;
});
@@ -379,7 +379,7 @@
});
},
#foreach ($column in $columns)
-#if(${column.dictType} != '')
+#if(${column.dictType} && ${column.dictType} != '')
#set($parentheseIndex=$column.columnComment.indexOf("锛�"))
#if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
diff --git a/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm b/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
index 12a9a63..6667c1e 100644
--- a/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
+++ b/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
@@ -350,7 +350,7 @@
#else
#set($comment=$column.columnComment)
#end
-#if(${column.dictType} != '')
+#if(${column.dictType} && ${column.dictType} != '')
// $comment瀛楀吀
${column.javaField}Options: [],
#elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
@@ -394,7 +394,7 @@
created() {
this.getList();
#foreach ($column in $columns)
-#if(${column.dictType} != '')
+#if(${column.dictType} && ${column.dictType} != '')
this.getDicts("${column.dictType}").then(response => {
this.${column.javaField}Options = response.data;
});
@@ -427,7 +427,7 @@
});
},
#foreach ($column in $columns)
-#if(${column.dictType} != '')
+#if(${column.dictType} && ${column.dictType} != '')
#set($parentheseIndex=$column.columnComment.indexOf("锛�"))
#if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
diff --git a/ruoyi-quartz/pom.xml b/ruoyi-quartz/pom.xml
index 522a84e..8d74198 100644
--- a/ruoyi-quartz/pom.xml
+++ b/ruoyi-quartz/pom.xml
@@ -5,7 +5,7 @@
<parent>
<artifactId>ruoyi-vue-plus</artifactId>
<groupId>com.ruoyi</groupId>
- <version>2.5.0</version>
+ <version>2.5.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/ruoyi-system/pom.xml b/ruoyi-system/pom.xml
index 85576db..3f99565 100644
--- a/ruoyi-system/pom.xml
+++ b/ruoyi-system/pom.xml
@@ -5,7 +5,7 @@
<parent>
<artifactId>ruoyi-vue-plus</artifactId>
<groupId>com.ruoyi</groupId>
- <version>2.5.0</version>
+ <version>2.5.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
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 495db54..dbe7a6e 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,6 +1,6 @@
package com.ruoyi.system.domain.vo;
-import com.ruoyi.common.utils.StringUtils;
+import cn.hutool.core.lang.Validator;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@@ -56,7 +56,7 @@
this.title = title;
this.icon = icon;
this.noCache = noCache;
- if (StringUtils.ishttp(link)) {
+ if (Validator.isUrl(link)) {
this.link = link;
}
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java
index 429559b..b649c7f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java
@@ -33,6 +33,13 @@
public String selectConfigByKey(String configKey);
/**
+ * 鑾峰彇楠岃瘉鐮佸紑鍏�
+ *
+ * @return true寮�鍚紝false鍏抽棴
+ */
+ public boolean selectCaptchaOnOff();
+
+ /**
* 鏌ヨ鍙傛暟閰嶇疆鍒楄〃
*
* @param config 鍙傛暟閰嶇疆淇℃伅
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
index dd7321a..41be807 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
@@ -94,6 +94,19 @@
}
/**
+ * 鑾峰彇楠岃瘉鐮佸紑鍏�
+ *
+ * @return true寮�鍚紝false鍏抽棴
+ */
+ public boolean selectCaptchaOnOff() {
+ String captchaOnOff = selectConfigByKey("sys.account.captchaOnOff");
+ if (StrUtil.isEmpty(captchaOnOff)) {
+ return true;
+ }
+ return Convert.toBool(captchaOnOff);
+ }
+
+ /**
* 鏌ヨ鍙傛暟閰嶇疆鍒楄〃
*
* @param config 鍙傛暟閰嶇疆淇℃伅
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 f23e661..e1b4314 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
@@ -11,7 +11,6 @@
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.SysRoleMenu;
import com.ruoyi.system.domain.vo.MetaVo;
import com.ruoyi.system.domain.vo.RouterVo;
@@ -19,6 +18,7 @@
import com.ruoyi.system.mapper.SysRoleMapper;
import com.ruoyi.system.mapper.SysRoleMenuMapper;
import com.ruoyi.system.service.ISysMenuService;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -371,7 +371,7 @@
* @return 缁撴灉
*/
public boolean isInnerLink(SysMenu menu) {
- return menu.getIsFrame().equals(UserConstants.NO_FRAME) && StringUtils.ishttp(menu.getPath());
+ return menu.getIsFrame().equals(UserConstants.NO_FRAME) && Validator.isUrl(menu.getPath());
}
/**
diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json
index 648b172..bdd09f4 100644
--- a/ruoyi-ui/package.json
+++ b/ruoyi-ui/package.json
@@ -1,6 +1,6 @@
{
"name": "ruoyi-vue-plus",
- "version": "2.5.0",
+ "version": "2.5.1",
"description": "RuoYi-Vue-Plus鍚庡彴绠$悊绯荤粺",
"author": "LionLi",
"license": "MIT",
diff --git a/ruoyi-ui/src/components/Editor/index.vue b/ruoyi-ui/src/components/Editor/index.vue
index 98b9fa7..f78dfcc 100644
--- a/ruoyi-ui/src/components/Editor/index.vue
+++ b/ruoyi-ui/src/components/Editor/index.vue
@@ -130,14 +130,14 @@
this.quill.format("image", false);
}
});
- toolbar.addHandler("video", (value) => {
- this.uploadType = "video";
- if (value) {
- this.$refs.upload.$children[0].$refs.input.click();
- } else {
- this.quill.format("video", false);
- }
- });
+ // toolbar.addHandler("video", (value) => {
+ // this.uploadType = "video";
+ // if (value) {
+ // this.$refs.upload.$children[0].$refs.input.click();
+ // } else {
+ // this.quill.format("video", false);
+ // }
+ // });
}
this.Quill.pasteHTML(this.currentValue);
this.Quill.on("text-change", (delta, oldDelta, source) => {
diff --git a/ruoyi-ui/src/components/ImageUpload/index.vue b/ruoyi-ui/src/components/ImageUpload/index.vue
index f2a7402..31940af 100644
--- a/ruoyi-ui/src/components/ImageUpload/index.vue
+++ b/ruoyi-ui/src/components/ImageUpload/index.vue
@@ -116,7 +116,7 @@
methods: {
// 鍒犻櫎鍥剧墖
handleRemove(file, fileList) {
- const findex = this.fileList.indexOf(file.name);
+ const findex = this.fileList.map(f => f.name).indexOf(file.name);
this.fileList.splice(findex, 1);
this.$emit("input", this.listToString(this.fileList));
},
diff --git a/ruoyi-ui/src/views/index.vue b/ruoyi-ui/src/views/index.vue
index 671dcde..9f8e79f 100644
--- a/ruoyi-ui/src/views/index.vue
+++ b/ruoyi-ui/src/views/index.vue
@@ -91,6 +91,18 @@
<span>鏇存柊鏃ュ織</span>
</div>
<el-collapse accordion>
+ <el-collapse-item title="v2.5.1 - 2021-7-13">
+ <ol>
+ <li>update 楠岃瘉鐮佸紑鍏� 杞Щ鍒拌〃 鍙傛暟绠$悊 鍐�</li>
+ <li>update 浣跨敤hutool閲嶆瀯 鍒ゆ柇鏄惁url</li>
+ <li>fix 淇 docker涓氬姟闆嗙兢閮ㄧ讲涓庢枃浠朵笂浼犵殑闂</li>
+ <li>fix 淇浠g爜鐢熸垚鍚屾琛ㄧ粨鏋刬d鍐茬獊闂</li>
+ <li>fix 淇浠g爜鐢熸垚閫夋嫨瀛楀吀 鏃犳硶鍙栨秷闂</li>
+ <li>fix 淇浠g爜鐢熸垚瀛楀吀涓簄ull闂</li>
+ <li>fix 鍥剧墖涓婁紶 澶氬浘鏃舵棤娉曞垹闄ょ浉搴斿浘鐗囦慨澶�</li>
+ <li>remove 鍒犻櫎瀵屾枃鏈瑅ideo浜嬩欢</li>
+ </ol>
+ </el-collapse-item>
<el-collapse-item title="v2.5.0 - 2021-7-12">
<ol>
<li>update springboot 2.4.7 => 2.4.8</li>
diff --git a/ruoyi-ui/src/views/login.vue b/ruoyi-ui/src/views/login.vue
index e8da56b..a87cb9d 100644
--- a/ruoyi-ui/src/views/login.vue
+++ b/ruoyi-ui/src/views/login.vue
@@ -18,7 +18,7 @@
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
</el-input>
</el-form-item>
- <el-form-item prop="code" v-if="captchaEnabled">
+ <el-form-item prop="code" v-if="captchaOnOff">
<el-input
v-model="loginForm.code"
auto-complete="off"
@@ -81,8 +81,8 @@
code: [{ required: true, trigger: "change", message: "楠岃瘉鐮佷笉鑳戒负绌�" }]
},
loading: false,
- redirect: undefined,
- captchaEnabled:false
+ captchaOnOff: true,
+ redirect: undefined
};
},
watch: {
@@ -100,8 +100,8 @@
methods: {
getCode() {
getCodeImg().then(res => {
- this.captchaEnabled = res.data.enabled;
- if(res.data.enabled){
+ this.captchaOnOff = res.data.captchaOnOff === undefined ? true : res.data.captchaOnOff;
+ if (this.captchaOnOff) {
this.codeUrl = "data:image/gif;base64," + res.data.img;
this.loginForm.uuid = res.data.uuid;
}
@@ -134,7 +134,9 @@
this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
}).catch(() => {
this.loading = false;
- this.getCode();
+ if (this.captchaOnOff) {
+ this.getCode();
+ }
});
}
});
diff --git a/sql/ry_20210210.sql b/sql/ry_20210713.sql
similarity index 98%
rename from sql/ry_20210210.sql
rename to sql/ry_20210713.sql
index 59a55f1..088960e 100644
--- a/sql/ry_20210210.sql
+++ b/sql/ry_20210713.sql
@@ -537,9 +537,10 @@
primary key (config_id)
) engine=innodb auto_increment=100 comment = '鍙傛暟閰嶇疆琛�';
-insert into sys_config values(1, '涓绘鏋堕〉-榛樿鐨偆鏍峰紡鍚嶇О', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', sysdate(), '', null, '钃濊壊 skin-blue銆佺豢鑹� skin-green銆佺传鑹� skin-purple銆佺孩鑹� skin-red銆侀粍鑹� skin-yellow' );
-insert into sys_config values(2, '鐢ㄦ埛绠$悊-璐﹀彿鍒濆瀵嗙爜', 'sys.user.initPassword', '123456', 'Y', 'admin', sysdate(), '', null, '鍒濆鍖栧瘑鐮� 123456' );
-insert into sys_config values(3, '涓绘鏋堕〉-渚ц竟鏍忎富棰�', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', sysdate(), '', null, '娣辫壊涓婚theme-dark锛屾祬鑹蹭富棰榯heme-light' );
+insert into sys_config values(1, '涓绘鏋堕〉-榛樿鐨偆鏍峰紡鍚嶇О', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', sysdate(), '', null, '钃濊壊 skin-blue銆佺豢鑹� skin-green銆佺传鑹� skin-purple銆佺孩鑹� skin-red銆侀粍鑹� skin-yellow' );
+insert into sys_config values(2, '鐢ㄦ埛绠$悊-璐﹀彿鍒濆瀵嗙爜', 'sys.user.initPassword', '123456', 'Y', 'admin', sysdate(), '', null, '鍒濆鍖栧瘑鐮� 123456' );
+insert into sys_config values(3, '涓绘鏋堕〉-渚ц竟鏍忎富棰�', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', sysdate(), '', null, '娣辫壊涓婚theme-dark锛屾祬鑹蹭富棰榯heme-light' );
+insert into sys_config values(4, '璐﹀彿鑷姪-楠岃瘉鐮佸紑鍏�', 'sys.account.captchaOnOff', 'true', 'Y', 'admin', sysdate(), '', null, '鏄惁寮�鍚櫥褰曢獙璇佺爜鍔熻兘锛坱rue寮�鍚紝false鍏抽棴锛�');
-- ----------------------------
--
Gitblit v1.9.3