From 76a2e7f8e5978e9ee13d7401c7153820b309cd6d Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期二, 28 九月 2021 09:46:56 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into satoken --- ruoyi-extend/ruoyi-monitor-admin/pom.xml | 2 ruoyi-system/src/main/java/com/ruoyi/system/service/SysRegisterService.java | 67 ++++-------- ruoyi-framework/pom.xml | 2 ruoyi-admin/pom.xml | 4 ruoyi-system/pom.xml | 2 ruoyi-ui/src/views/index.vue | 41 ++++++++ ruoyi-generator/pom.xml | 2 pom.xml | 4 ruoyi-common/pom.xml | 2 README.md | 2 docker/docker-compose.yml | 6 ruoyi-extend/pom.xml | 2 ruoyi-quartz/pom.xml | 2 ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java | 72 ++++++-------- ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java | 34 ++---- ruoyi-demo/pom.xml | 2 ruoyi-oss/pom.xml | 2 ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java | 2 ruoyi-ui/package.json | 6 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java | 2 ruoyi-ui/src/plugins/download.js | 4 21 files changed, 133 insertions(+), 129 deletions(-) diff --git a/README.md b/README.md index c103879..c910560 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 1535f3d..e676d56 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -103,7 +103,7 @@ ipv4_address: 172.30.0.54 ruoyi-server1: - image: "ruoyi/ruoyi-server:3.1.0" + image: "ruoyi/ruoyi-server:3.2.0" container_name: ruoyi-server1 environment: # 鏃跺尯涓婃捣 @@ -118,7 +118,7 @@ ipv4_address: 172.30.0.60 ruoyi-server2: - image: "ruoyi/ruoyi-server:3.1.0" + image: "ruoyi/ruoyi-server:3.2.0" container_name: ruoyi-server2 environment: # 鏃跺尯涓婃捣 @@ -133,7 +133,7 @@ ipv4_address: 172.30.0.61 ruoyi-monitor-admin: - image: "ruoyi/ruoyi-monitor-admin:3.1.0" + image: "ruoyi/ruoyi-monitor-admin:3.2.0" container_name: ruoyi-monitor-admin environment: # 鏃跺尯涓婃捣 diff --git a/pom.xml b/pom.xml index c6cb024..c6db868 100644 --- a/pom.xml +++ b/pom.xml @@ -6,14 +6,14 @@ <groupId>com.ruoyi</groupId> <artifactId>ruoyi-vue-plus</artifactId> - <version>3.1.0</version> + <version>3.2.0</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>3.1.0</ruoyi-vue-plus.version> + <ruoyi-vue-plus.version>3.2.0</ruoyi-vue-plus.version> <spring-boot.version>2.5.5</spring-boot.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index 37cc33b..12327e3 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>3.1.0</version> + <version>3.2.0</version> </parent> <modelVersion>4.0.0</modelVersion> <packaging>jar</packaging> @@ -87,7 +87,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> - <version>3.1.0</version> + <version>3.2.0</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> <warName>${project.artifactId}</warName> diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java index 4acc311..bd1dcb6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java @@ -102,7 +102,7 @@ response.reset(); response.addHeader("Access-Control-Allow-Origin", "*"); response.addHeader("Access-Control-Expose-Headers", "Content-Disposition"); - FileUtils.setAttachmentResponseHeader(response, URLEncoder.encode(sysOss.getOriginalName(), StandardCharsets.UTF_8.toString())); + FileUtils.setAttachmentResponseHeader(response, sysOss.getOriginalName()); response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE + "; charset=UTF-8"); long data; try { diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml index 310e0ed..1d1bd80 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>3.1.0</version> + <version>3.2.0</version> </parent> <modelVersion>4.0.0</modelVersion> diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java index 4060b17..e3001c6 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java @@ -46,7 +46,7 @@ response.reset(); response.addHeader("Access-Control-Allow-Origin", "*"); response.addHeader("Access-Control-Expose-Headers", "Content-Disposition"); - FileUtils.setAttachmentResponseHeader(response, URLEncoder.encode(filename, StandardCharsets.UTF_8.toString())); + FileUtils.setAttachmentResponseHeader(response, filename); response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8"); ServletOutputStream os = response.getOutputStream(); EasyExcel.write(os, clazz) diff --git a/ruoyi-demo/pom.xml b/ruoyi-demo/pom.xml index 2eff3c2..339cbde 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>3.1.0</version> + <version>3.2.0</version> </parent> <modelVersion>4.0.0</modelVersion> diff --git a/ruoyi-extend/pom.xml b/ruoyi-extend/pom.xml index 2a348af..6378eb9 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>3.1.0</version> + <version>3.2.0</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 dc08303..d63b110 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>3.1.0</version> + <version>3.2.0</version> </parent> <modelVersion>4.0.0</modelVersion> <packaging>jar</packaging> diff --git a/ruoyi-framework/pom.xml b/ruoyi-framework/pom.xml index 7010724..20176a0 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>3.1.0</version> + <version>3.2.0</version> </parent> <modelVersion>4.0.0</modelVersion> diff --git a/ruoyi-generator/pom.xml b/ruoyi-generator/pom.xml index d5bdc7e..e19cbb2 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>3.1.0</version> + <version>3.2.0</version> </parent> <modelVersion>4.0.0</modelVersion> diff --git a/ruoyi-oss/pom.xml b/ruoyi-oss/pom.xml index 51111c1..6c93df8 100644 --- a/ruoyi-oss/pom.xml +++ b/ruoyi-oss/pom.xml @@ -5,7 +5,7 @@ <parent> <artifactId>ruoyi-vue-plus</artifactId> <groupId>com.ruoyi</groupId> - <version>3.1.0</version> + <version>3.2.0</version> </parent> <modelVersion>4.0.0</modelVersion> diff --git a/ruoyi-quartz/pom.xml b/ruoyi-quartz/pom.xml index cba3e92..ee682f7 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>3.1.0</version> + <version>3.2.0</version> </parent> <modelVersion>4.0.0</modelVersion> diff --git a/ruoyi-system/pom.xml b/ruoyi-system/pom.xml index 8d1d85f..e7c12ef 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>3.1.0</version> + <version>3.2.0</version> </parent> <modelVersion>4.0.0</modelVersion> diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java index e44d31b..fb8273a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java @@ -13,7 +13,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; -import org.springframework.stereotype.Component; +import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; @@ -23,57 +23,48 @@ * @author ruoyi */ @Slf4j -@Component -public class SysLoginService -{ +@Service +public class SysLoginService { - @Autowired + @Autowired private ISysUserService userService; - @Autowired - private ISysConfigService configService; + @Autowired + private ISysConfigService configService; - @Autowired - private LogininforService asyncService; + @Autowired + private LogininforService asyncService; /** * 鐧诲綍楠岃瘉 * * @param username 鐢ㄦ埛鍚� * @param password 瀵嗙爜 - * @param code 楠岃瘉鐮� - * @param uuid 鍞竴鏍囪瘑 + * @param code 楠岃瘉鐮� + * @param uuid 鍞竴鏍囪瘑 * @return 缁撴灉 */ - public String login(String username, String password, String code, String uuid) - { - HttpServletRequest request = ServletUtils.getRequest(); - boolean captchaOnOff = configService.selectCaptchaOnOff(); + public String login(String username, String password, String code, String uuid) { + HttpServletRequest request = ServletUtils.getRequest(); + boolean captchaOnOff = configService.selectCaptchaOnOff(); // 楠岃瘉鐮佸紑鍏� - if (captchaOnOff) - { + if (captchaOnOff) { validateCaptcha(username, code, uuid, request); } SysUser user = userService.selectUserByUserName(username); - if (StringUtils.isNull(user)) - { + if (StringUtils.isNull(user)) { log.info("鐧诲綍鐢ㄦ埛锛歿} 涓嶅瓨鍦�.", username); throw new ServiceException("鐧诲綍鐢ㄦ埛锛�" + username + " 涓嶅瓨鍦�"); - } - else if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) - { + } else if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) { log.info("鐧诲綍鐢ㄦ埛锛歿} 宸茶鍒犻櫎.", username); throw new ServiceException("瀵逛笉璧凤紝鎮ㄧ殑璐﹀彿锛�" + username + " 宸茶鍒犻櫎"); - } - else if (UserStatus.DISABLE.getCode().equals(user.getStatus())) - { + } else if (UserStatus.DISABLE.getCode().equals(user.getStatus())) { log.info("鐧诲綍鐢ㄦ埛锛歿} 宸茶鍋滅敤.", username); throw new ServiceException("瀵逛笉璧凤紝鎮ㄧ殑璐﹀彿锛�" + username + " 宸插仠鐢�"); } BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); String encodePassword = passwordEncoder.encode(password); - if (SecurityUtils.matchesPassword(user.getPassword(), encodePassword)) - { + if (SecurityUtils.matchesPassword(user.getPassword(), encodePassword)) { asyncService.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match"), request); throw new UserPasswordNotMatchException(); } @@ -89,22 +80,22 @@ * 鏍¢獙楠岃瘉鐮� * * @param username 鐢ㄦ埛鍚� - * @param code 楠岃瘉鐮� - * @param uuid 鍞竴鏍囪瘑 + * @param code 楠岃瘉鐮� + * @param uuid 鍞竴鏍囪瘑 * @return 缁撴灉 */ public void validateCaptcha(String username, String code, String uuid, HttpServletRequest request) { - String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid; - String captcha = RedisUtils.getCacheObject(verifyKey); + String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid; + String captcha = RedisUtils.getCacheObject(verifyKey); RedisUtils.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(); - } + 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(); + } } /** @@ -112,8 +103,7 @@ * * @param userId 鐢ㄦ埛ID */ - public void recordLoginInfo(Long userId) - { + public void recordLoginInfo(Long userId) { SysUser sysUser = new SysUser(); sysUser.setUserId(userId); sysUser.setLoginIp(ServletUtils.getClientIP()); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java index d8c657b..095b3b5 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysPermissionService.java @@ -2,19 +2,19 @@ import com.ruoyi.common.core.domain.entity.SysUser; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; +import org.springframework.stereotype.Service; import java.util.HashSet; import java.util.Set; /** * 鐢ㄦ埛鏉冮檺澶勭悊 - * + * * @author ruoyi */ -@Component -public class SysPermissionService -{ +@Service +public class SysPermissionService { + @Autowired private ISysRoleService roleService; @@ -23,20 +23,16 @@ /** * 鑾峰彇瑙掕壊鏁版嵁鏉冮檺 - * + * * @param user 鐢ㄦ埛淇℃伅 * @return 瑙掕壊鏉冮檺淇℃伅 */ - public Set<String> getRolePermission(SysUser user) - { + public Set<String> getRolePermission(SysUser user) { Set<String> roles = new HashSet<String>(); // 绠$悊鍛樻嫢鏈夋墍鏈夋潈闄� - if (user.isAdmin()) - { + if (user.isAdmin()) { roles.add("admin"); - } - else - { + } else { roles.addAll(roleService.selectRolePermissionByUserId(user.getUserId())); } return roles; @@ -44,20 +40,16 @@ /** * 鑾峰彇鑿滃崟鏁版嵁鏉冮檺 - * + * * @param user 鐢ㄦ埛淇℃伅 * @return 鑿滃崟鏉冮檺淇℃伅 */ - public Set<String> getMenuPermission(SysUser user) - { + public Set<String> getMenuPermission(SysUser user) { Set<String> perms = new HashSet<String>(); // 绠$悊鍛樻嫢鏈夋墍鏈夋潈闄� - if (user.isAdmin()) - { + if (user.isAdmin()) { perms.add("*:*:*"); - } - else - { + } else { perms.addAll(menuService.selectMenuPermsByUserId(user.getUserId())); } return perms; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysRegisterService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysRegisterService.java index 8171cb0..045c680 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysRegisterService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysRegisterService.java @@ -9,75 +9,59 @@ import com.ruoyi.common.exception.user.CaptchaExpireException; import com.ruoyi.common.utils.*; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; +import org.springframework.stereotype.Service; /** * 娉ㄥ唽鏍¢獙鏂规硶 * * @author ruoyi */ -@Component -public class SysRegisterService -{ +@Service +public class SysRegisterService { + @Autowired private ISysUserService userService; @Autowired private ISysConfigService configService; - @Autowired - private LogininforService asyncService; + @Autowired + private LogininforService asyncService; /** * 娉ㄥ唽 */ - public String register(RegisterBody registerBody) - { + public String register(RegisterBody registerBody) { String msg = "", username = registerBody.getUsername(), password = registerBody.getPassword(); boolean captchaOnOff = configService.selectCaptchaOnOff(); // 楠岃瘉鐮佸紑鍏� - if (captchaOnOff) - { + if (captchaOnOff) { validateCaptcha(username, registerBody.getCode(), registerBody.getUuid()); } - if (StringUtils.isEmpty(username)) - { + if (StringUtils.isEmpty(username)) { msg = "鐢ㄦ埛鍚嶄笉鑳戒负绌�"; - } - else if (StringUtils.isEmpty(password)) - { + } else if (StringUtils.isEmpty(password)) { msg = "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖"; - } - else if (username.length() < UserConstants.USERNAME_MIN_LENGTH - || username.length() > UserConstants.USERNAME_MAX_LENGTH) - { + } else if (username.length() < UserConstants.USERNAME_MIN_LENGTH + || username.length() > UserConstants.USERNAME_MAX_LENGTH) { msg = "璐︽埛闀垮害蹇呴』鍦�2鍒�20涓瓧绗︿箣闂�"; - } - else if (password.length() < UserConstants.PASSWORD_MIN_LENGTH - || password.length() > UserConstants.PASSWORD_MAX_LENGTH) - { + } else if (password.length() < UserConstants.PASSWORD_MIN_LENGTH + || password.length() > UserConstants.PASSWORD_MAX_LENGTH) { msg = "瀵嗙爜闀垮害蹇呴』鍦�5鍒�20涓瓧绗︿箣闂�"; - } - else if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(username))) - { + } else if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(username))) { msg = "淇濆瓨鐢ㄦ埛'" + username + "'澶辫触锛屾敞鍐岃处鍙峰凡瀛樺湪"; - } - else - { + } else { SysUser sysUser = new SysUser(); sysUser.setUserName(username); sysUser.setNickName(username); sysUser.setPassword(SecurityUtils.encryptPassword(registerBody.getPassword())); boolean regFlag = userService.registerUser(sysUser); - if (!regFlag) - { + if (!regFlag) { msg = "娉ㄥ唽澶辫触,璇疯仈绯荤郴缁熺鐞嗕汉鍛�"; - } - else - { - asyncService.recordLogininfor(username, Constants.REGISTER, + } else { + asyncService.recordLogininfor(username, Constants.REGISTER, MessageUtils.message("user.register.success"), ServletUtils.getRequest()); } } @@ -88,21 +72,18 @@ * 鏍¢獙楠岃瘉鐮� * * @param username 鐢ㄦ埛鍚� - * @param code 楠岃瘉鐮� - * @param uuid 鍞竴鏍囪瘑 + * @param code 楠岃瘉鐮� + * @param uuid 鍞竴鏍囪瘑 * @return 缁撴灉 */ - public void validateCaptcha(String username, String code, String uuid) - { + public void validateCaptcha(String username, String code, String uuid) { String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid; String captcha = RedisUtils.getCacheObject(verifyKey); RedisUtils.deleteObject(verifyKey); - if (captcha == null) - { + if (captcha == null) { throw new CaptchaExpireException(); } - if (!code.equalsIgnoreCase(captcha)) - { + if (!code.equalsIgnoreCase(captcha)) { throw new CaptchaException(); } } diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json index d43aee1..1189455 100644 --- a/ruoyi-ui/package.json +++ b/ruoyi-ui/package.json @@ -1,6 +1,6 @@ { "name": "ruoyi-vue-plus", - "version": "3.1.0", + "version": "3.2.0", "description": "RuoYi-Vue-Plus鍚庡彴绠$悊绯荤粺", "author": "LionLi", "license": "MIT", @@ -71,8 +71,8 @@ "eslint-plugin-vue": "7.2.0", "lint-staged": "10.5.3", "runjs": "4.4.2", - "sass": "1.42.1", - "sass-loader": "10.1.0", + "sass": "1.32.13", + "sass-loader": "10.1.1", "script-ext-html-webpack-plugin": "2.1.5", "svg-sprite-loader": "5.1.1", "vue-template-compiler": "2.6.12" diff --git a/ruoyi-ui/src/plugins/download.js b/ruoyi-ui/src/plugins/download.js index 248ed01..50f664a 100644 --- a/ruoyi-ui/src/plugins/download.js +++ b/ruoyi-ui/src/plugins/download.js @@ -40,7 +40,7 @@ this.saveAs(blob, decodeURI(res.headers['download-filename'])) }) }, - oss(ossId, name) { + oss(ossId) { var url = baseURL + '/system/oss/download/' + ossId axios({ method: 'get', @@ -49,7 +49,7 @@ headers: { 'Authorization': 'Bearer ' + getToken() } }).then(res => { const blob = new Blob([res.data], { type: 'application/octet-stream' }) - this.saveAs(blob, name) + this.saveAs(blob, decodeURI(res.headers['download-filename'])) }) }, zip(url, name) { diff --git a/ruoyi-ui/src/views/index.vue b/ruoyi-ui/src/views/index.vue index 3d90e45..ae96e99 100644 --- a/ruoyi-ui/src/views/index.vue +++ b/ruoyi-ui/src/views/index.vue @@ -93,6 +93,47 @@ <span>鏇存柊鏃ュ織</span> </div> <el-collapse accordion> + <el-collapse-item title="v3.2.0 - 2021-9-28"> + <ol> + <li>update [閲嶅ぇ鏀瑰姩]鎺ュ彛鏂囨。 鏀寔鍒嗙粍閰嶇疆</li> + <li>update [閲嶅ぇ鏀瑰姩]security 璺緞閰嶇疆鎶藉彇鍒伴厤缃枃浠�</li> + <li>update [閲嶅ぇ鏀瑰姩] 灏� framework 涓� system 妯″潡 瑙h�� 璋冩暣渚濊禆缁撴瀯 瑙e喅渚濊禆鍐茬獊</li> + <li>update [閲嶅ぇ鏀瑰姩]閲嶅啓 闃查噸鎻愪氦瀹炵幇 浣跨敤鍒嗗竷寮忛攣 瑙e喅骞跺彂闂 鍘嬫祴閫氳繃</li> + <li>update springboot 2.5.4 => 2.5.5 bugfix鐗堟湰</li> + <li>update mybatis-plus 3.4.3.3 => 3.4.3.4 bugfix鐗堟湰</li> + <li>update redisson 3.16.2 => 3.16.3 bugfix鐗堟湰</li> + <li>update easyexcel 2.2.10 => 2.2.11</li> + <li>update hutool 5.7.11 => 5.7.13</li> + <li>update file-saver 2.0.4 => 2.0.5</li> + <li>update dart-sass 1.32.0 => 1.32.13</li> + <li>update sass-loader 10.1.0 => 10.1.1</li> + <li>update 浼樺寲浠g爜鐢熸垚 鏍规嵁MP鐢熸垚鐗规�� 璋冩暣瀵煎叆琛ㄧ粨鏋勯粯璁ゅ�煎悎鐞嗗寲</li> + <li>update 灏嗘墍鏈� 浜戝瓨鍌ㄥ瓧鏍� 鏀逛负 瀵硅薄瀛樺偍 閬垮厤璇В</li> + <li>update 鏇存柊 @Cacheable 閿欒鐢ㄦ硶 娉ㄦ剰浜嬮」</li> + <li>update 浼樺寲 AddressUtils 绌烘牎楠屽鐞�</li> + <li>update 鑿滃崟绠$悊鏀寔閰嶇疆璺敱鍙傛暟</li> + <li>update 浼樺寲aop璇硶 浣跨敤spring鑷姩娉ㄥ叆娉ㄨВ</li> + <li>update 浣跨敤 Redisson 闄愭祦宸ュ叿 閲嶅啓闄愭祦瀹炵幇</li> + <li>update 浣跨敤 vue-data-dict 绠�鍖栨暟鎹瓧鍏镐娇鐢�</li> + <li>update 澧炲姞鏃ュ織娉ㄨВ鏂板鏄惁淇濆瓨鍝嶅簲鍙傛暟寮�鍏�</li> + <li>update 鐢ㄦ埛鏈櫥褰曟棩蹇楁敼涓� warn 绾у埆</li> + <li>update OSS妯″潡 鍏充簬涓嬭浇403鎶ラ敊淇℃伅浼樺寲</li> + <li>update 鏇存柊 Actuator prod 榛樿鏆存紡绔偣 澧炲姞鏆存紡 logfile 鏃ュ織绔偣</li> + <li>update 榛樿閫傞厤jdk11 娴嬭瘯 jdk17 鏃犲紓甯�</li> + <li>update 灏佽閫氱敤涓嬭浇鏂规硶绠�鍖栦笅杞戒娇鐢�</li> + <li>add 鏂板閫氱敤鏂规硶绠�鍖栨ā鎬�/缂撳瓨浣跨敤</li> + <li>add 澧炲姞 闄愭祦婕旂ず妗堜緥</li> + <li>add 澧炲姞 redis redisson 闆嗙兢閰嶇疆</li> + <li>fix Cron琛ㄨ揪寮忕敓鎴愬櫒鍏抽棴鏃堕攢姣侊紝閬垮厤鍐嶆鎵撳紑鏃跺瓨鍦ㄤ笂涓�娆′慨鏀圭殑鏁版嵁</li> + <li>fix 鍏ㄥ眬闄愭祦key浼氬鍑轰竴涓�"-" 灏嗗叾绉诲姩鍒癐P鍚庨潰 鍘婚櫎澶氫綑鐨勭┖鏍�</li> + <li>fix 淇澶氫富閿唬鐮佺敓鎴恇ug</li> + <li>fix 淇 @Cacheable 涓� @DataScope 鍐茬獊闂</li> + <li>fix 淇浠g爜鐢熸垚椤甸潰鏁版嵁缂栬緫淇濆瓨涔嬪悗鎬绘槸璺宠浆绗竴椤电殑闂</li> + <li>remove 绉婚櫎杩囨湡宸ュ叿 RedisCache</li> + <li>remove 绉婚櫎鏃犵敤閰嶇疆绫� ServerConfig</li> + <li>remove 绉婚櫎 SysUser 鏃犵敤瀛楁 salt</li> + </ol> + </el-collapse-item> <el-collapse-item title="v3.1.0 - 2021-9-7"> <ol> <li>add [閲嶅ぇ鏀瑰姩] 杩囨湡 RedisCache 鏂板 RedisUtils 宸ュ叿绫� 鏂板 鍙戝竷璁㈤槄鍔熻兘 鏇寸伒宸т究浜庝娇鐢�</li> -- Gitblit v1.9.3