diff --git a/basic-properties/pom.xml b/basic-properties/pom.xml new file mode 100644 index 00000000..90a8f5ac --- /dev/null +++ b/basic-properties/pom.xml @@ -0,0 +1,28 @@ + + + + wg-basic + ink.wgink + 1.0-SNAPSHOT + + 4.0.0 + + basic-properties + + + + org.springframework + spring-beans + + + + org.springframework.boot + spring-boot-autoconfigure + compile + + + + + \ No newline at end of file diff --git a/common/src/main/java/ink/wgink/common/config/properties/AccessControlProperties.java b/basic-properties/src/main/java/ink/wgink/properties/AccessControlProperties.java similarity index 95% rename from common/src/main/java/ink/wgink/common/config/properties/AccessControlProperties.java rename to basic-properties/src/main/java/ink/wgink/properties/AccessControlProperties.java index b2a4766a..d5217f73 100644 --- a/common/src/main/java/ink/wgink/common/config/properties/AccessControlProperties.java +++ b/basic-properties/src/main/java/ink/wgink/properties/AccessControlProperties.java @@ -1,4 +1,4 @@ -package ink.wgink.common.config.properties; +package ink.wgink.properties; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; diff --git a/login-base/src/main/java/ink/wgink/login/base/config/BaseConfig.java b/basic-properties/src/main/java/ink/wgink/properties/BaseProperties.java similarity index 97% rename from login-base/src/main/java/ink/wgink/login/base/config/BaseConfig.java rename to basic-properties/src/main/java/ink/wgink/properties/BaseProperties.java index 6eac5547..a14b3a1d 100644 --- a/login-base/src/main/java/ink/wgink/login/base/config/BaseConfig.java +++ b/basic-properties/src/main/java/ink/wgink/properties/BaseProperties.java @@ -1,4 +1,4 @@ -package ink.wgink.login.base.config; +package ink.wgink.properties; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @@ -12,7 +12,7 @@ import org.springframework.stereotype.Component; **/ @Component @ConfigurationProperties(prefix = "spring") -public class BaseConfig { +public class BaseProperties { private String loginUrl; private String loginFailure; diff --git a/common/src/main/java/ink/wgink/common/config/properties/ServerProperties.java b/basic-properties/src/main/java/ink/wgink/properties/ClientServerProperties.java similarity index 95% rename from common/src/main/java/ink/wgink/common/config/properties/ServerProperties.java rename to basic-properties/src/main/java/ink/wgink/properties/ClientServerProperties.java index 5e4d22c3..2eda6013 100644 --- a/common/src/main/java/ink/wgink/common/config/properties/ServerProperties.java +++ b/basic-properties/src/main/java/ink/wgink/properties/ClientServerProperties.java @@ -1,4 +1,4 @@ -package ink.wgink.common.config.properties; +package ink.wgink.properties; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @@ -15,7 +15,7 @@ import org.springframework.stereotype.Component; **/ @Component @ConfigurationProperties(prefix = "server") -public class ServerProperties { +public class ClientServerProperties { private Integer port; private String url; diff --git a/module-file/src/main/java/ink/wgink/module/file/config/properties/FileMediaAppMaxDurationProperties.java b/basic-properties/src/main/java/ink/wgink/properties/FileMediaAppMaxDurationProperties.java similarity index 88% rename from module-file/src/main/java/ink/wgink/module/file/config/properties/FileMediaAppMaxDurationProperties.java rename to basic-properties/src/main/java/ink/wgink/properties/FileMediaAppMaxDurationProperties.java index 63151533..b561b4f1 100644 --- a/module-file/src/main/java/ink/wgink/module/file/config/properties/FileMediaAppMaxDurationProperties.java +++ b/basic-properties/src/main/java/ink/wgink/properties/FileMediaAppMaxDurationProperties.java @@ -1,4 +1,4 @@ -package ink.wgink.module.file.config.properties; +package ink.wgink.properties; /** * When you feel like quitting. Think about why you started diff --git a/module-file/src/main/java/ink/wgink/module/file/config/properties/FileMediaBackendMaxDurationProperties.java b/basic-properties/src/main/java/ink/wgink/properties/FileMediaBackendMaxDurationProperties.java similarity index 88% rename from module-file/src/main/java/ink/wgink/module/file/config/properties/FileMediaBackendMaxDurationProperties.java rename to basic-properties/src/main/java/ink/wgink/properties/FileMediaBackendMaxDurationProperties.java index 6b9d1112..dc9413be 100644 --- a/module-file/src/main/java/ink/wgink/module/file/config/properties/FileMediaBackendMaxDurationProperties.java +++ b/basic-properties/src/main/java/ink/wgink/properties/FileMediaBackendMaxDurationProperties.java @@ -1,4 +1,4 @@ -package ink.wgink.module.file.config.properties; +package ink.wgink.properties; /** * When you feel like quitting. Think about why you started diff --git a/module-file/src/main/java/ink/wgink/module/file/config/properties/FileMediaBaseMaxDurationProperties.java b/basic-properties/src/main/java/ink/wgink/properties/FileMediaBaseMaxDurationProperties.java similarity index 95% rename from module-file/src/main/java/ink/wgink/module/file/config/properties/FileMediaBaseMaxDurationProperties.java rename to basic-properties/src/main/java/ink/wgink/properties/FileMediaBaseMaxDurationProperties.java index 85b57409..95a38051 100644 --- a/module-file/src/main/java/ink/wgink/module/file/config/properties/FileMediaBaseMaxDurationProperties.java +++ b/basic-properties/src/main/java/ink/wgink/properties/FileMediaBaseMaxDurationProperties.java @@ -1,4 +1,4 @@ -package ink.wgink.module.file.config.properties; +package ink.wgink.properties; /** * When you feel like quitting. Think about why you started diff --git a/module-file/src/main/java/ink/wgink/module/file/config/properties/FileMediaMaxDurationProperties.java b/basic-properties/src/main/java/ink/wgink/properties/FileMediaMaxDurationProperties.java similarity index 89% rename from module-file/src/main/java/ink/wgink/module/file/config/properties/FileMediaMaxDurationProperties.java rename to basic-properties/src/main/java/ink/wgink/properties/FileMediaMaxDurationProperties.java index c3066bfe..fd3d384a 100644 --- a/module-file/src/main/java/ink/wgink/module/file/config/properties/FileMediaMaxDurationProperties.java +++ b/basic-properties/src/main/java/ink/wgink/properties/FileMediaMaxDurationProperties.java @@ -1,4 +1,7 @@ -package ink.wgink.module.file.config.properties; +package ink.wgink.properties; + +import ink.wgink.properties.FileMediaAppMaxDurationProperties; +import ink.wgink.properties.FileMediaBackendMaxDurationProperties; /** * When you feel like quitting. Think about why you started diff --git a/module-file/src/main/java/ink/wgink/module/file/config/properties/FileMediaWechatMaxDurationProperties.java b/basic-properties/src/main/java/ink/wgink/properties/FileMediaWechatMaxDurationProperties.java similarity index 80% rename from module-file/src/main/java/ink/wgink/module/file/config/properties/FileMediaWechatMaxDurationProperties.java rename to basic-properties/src/main/java/ink/wgink/properties/FileMediaWechatMaxDurationProperties.java index be1f0f7c..a99642e9 100644 --- a/module-file/src/main/java/ink/wgink/module/file/config/properties/FileMediaWechatMaxDurationProperties.java +++ b/basic-properties/src/main/java/ink/wgink/properties/FileMediaWechatMaxDurationProperties.java @@ -1,4 +1,6 @@ -package ink.wgink.module.file.config.properties; +package ink.wgink.properties; + +import ink.wgink.properties.FileMediaBaseMaxDurationProperties; /** * When you feel like quitting. Think about why you started diff --git a/module-file/src/main/java/ink/wgink/module/file/config/properties/FileProperties.java b/basic-properties/src/main/java/ink/wgink/properties/FileProperties.java similarity index 98% rename from module-file/src/main/java/ink/wgink/module/file/config/properties/FileProperties.java rename to basic-properties/src/main/java/ink/wgink/properties/FileProperties.java index 7fc46d09..b93d61cd 100644 --- a/module-file/src/main/java/ink/wgink/module/file/config/properties/FileProperties.java +++ b/basic-properties/src/main/java/ink/wgink/properties/FileProperties.java @@ -1,4 +1,4 @@ -package ink.wgink.module.file.config.properties; +package ink.wgink.properties; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; diff --git a/login-wechat/src/main/java/ink/wgink/login/wechat/config/properties/MiniAppProperties.java b/basic-properties/src/main/java/ink/wgink/properties/MiniAppProperties.java similarity index 85% rename from login-wechat/src/main/java/ink/wgink/login/wechat/config/properties/MiniAppProperties.java rename to basic-properties/src/main/java/ink/wgink/properties/MiniAppProperties.java index 70b33072..b12dc8e3 100644 --- a/login-wechat/src/main/java/ink/wgink/login/wechat/config/properties/MiniAppProperties.java +++ b/basic-properties/src/main/java/ink/wgink/properties/MiniAppProperties.java @@ -1,4 +1,4 @@ -package ink.wgink.login.wechat.config.properties; +package ink.wgink.properties; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; @@ -19,7 +19,6 @@ public class MiniAppProperties { private Boolean active; private String authorizeUrl; - private String bindUserUrl; private String grantType; private String appKey; private String appSecret; @@ -40,14 +39,6 @@ public class MiniAppProperties { this.authorizeUrl = authorizeUrl; } - public String getBindUserUrl() { - return bindUserUrl == null ? "" : bindUserUrl; - } - - public void setBindUserUrl(String bindUserUrl) { - this.bindUserUrl = bindUserUrl; - } - public String getGrantType() { return grantType == null ? "" : grantType; } @@ -79,8 +70,6 @@ public class MiniAppProperties { .append(active); sb.append(",\"authorizeUrl\":\"") .append(authorizeUrl).append('\"'); - sb.append(",\"bindUserUrl\":\"") - .append(bindUserUrl).append('\"'); sb.append(",\"grantType\":\"") .append(grantType).append('\"'); sb.append(",\"appKey\":\"") diff --git a/login-base/src/main/java/ink/wgink/login/base/config/properties/SystemProperties.java b/basic-properties/src/main/java/ink/wgink/properties/ServerProperties.java similarity index 97% rename from login-base/src/main/java/ink/wgink/login/base/config/properties/SystemProperties.java rename to basic-properties/src/main/java/ink/wgink/properties/ServerProperties.java index 4cef13db..6306cb96 100644 --- a/login-base/src/main/java/ink/wgink/login/base/config/properties/SystemProperties.java +++ b/basic-properties/src/main/java/ink/wgink/properties/ServerProperties.java @@ -1,4 +1,4 @@ -package ink.wgink.login.base.config.properties; +package ink.wgink.properties; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @@ -15,7 +15,7 @@ import org.springframework.stereotype.Component; **/ @Component @ConfigurationProperties(prefix = "server") -public class SystemProperties { +public class ServerProperties { /** * 服务端口 diff --git a/common/src/main/java/ink/wgink/common/config/properties/TransactionProperties.java b/basic-properties/src/main/java/ink/wgink/properties/TransactionProperties.java similarity index 98% rename from common/src/main/java/ink/wgink/common/config/properties/TransactionProperties.java rename to basic-properties/src/main/java/ink/wgink/properties/TransactionProperties.java index f9c8b924..6b221cb5 100644 --- a/common/src/main/java/ink/wgink/common/config/properties/TransactionProperties.java +++ b/basic-properties/src/main/java/ink/wgink/properties/TransactionProperties.java @@ -1,4 +1,4 @@ -package ink.wgink.common.config.properties; +package ink.wgink.properties; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; diff --git a/basic-util/pom.xml b/basic-util/pom.xml index d536ab78..ae632f61 100644 --- a/basic-util/pom.xml +++ b/basic-util/pom.xml @@ -13,14 +13,6 @@ - - org.springframework - spring-context - - - org.springframework - spring-beans - org.springframework spring-web diff --git a/common/pom.xml b/common/pom.xml index 9253e888..216d535e 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -32,14 +32,11 @@ basic-annotation 1.0-SNAPSHOT - - - org.springframework.boot - spring-boot-autoconfigure - compile + ink.wgink + basic-properties + 1.0-SNAPSHOT - diff --git a/common/src/main/java/ink/wgink/common/config/TransactionConfig.java b/common/src/main/java/ink/wgink/common/config/TransactionConfig.java index 1bf0cd2e..808c56fb 100644 --- a/common/src/main/java/ink/wgink/common/config/TransactionConfig.java +++ b/common/src/main/java/ink/wgink/common/config/TransactionConfig.java @@ -1,7 +1,6 @@ package ink.wgink.common.config; -import ink.wgink.common.config.properties.TransactionProperties; -import ink.wgink.exceptions.SaveException; +import ink.wgink.properties.TransactionProperties; import org.aspectj.lang.annotation.Aspect; import org.springframework.aop.Advisor; import org.springframework.aop.aspectj.AspectJExpressionPointcut; diff --git a/common/src/main/java/ink/wgink/common/service/rbac/impl/RbacServiceImpl.java b/common/src/main/java/ink/wgink/common/service/rbac/impl/RbacServiceImpl.java index fd8b716a..b99af821 100644 --- a/common/src/main/java/ink/wgink/common/service/rbac/impl/RbacServiceImpl.java +++ b/common/src/main/java/ink/wgink/common/service/rbac/impl/RbacServiceImpl.java @@ -2,10 +2,10 @@ package ink.wgink.common.service.rbac.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import ink.wgink.common.config.properties.AccessControlProperties; import ink.wgink.common.service.rbac.IRbacService; import ink.wgink.interfaces.consts.ISystemConstant; import ink.wgink.pojo.bos.RoleGrantedAuthorityBO; +import ink.wgink.properties.AccessControlProperties; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/login-base/src/main/java/ink/wgink/login/base/consts/IUserCenterConst.java b/login-base/src/main/java/ink/wgink/login/base/consts/IUserCenterConst.java index 61499dda..97e92c35 100644 --- a/login-base/src/main/java/ink/wgink/login/base/consts/IUserCenterConst.java +++ b/login-base/src/main/java/ink/wgink/login/base/consts/IUserCenterConst.java @@ -77,4 +77,8 @@ public interface IUserCenterConst { * 登录框位置 */ String LOGIN_BOX_POSITION = "loginBoxPosition"; + /** + * 菜单模式 + */ + String MENU_MODE = "menuMode"; } diff --git a/login-base/src/main/java/ink/wgink/login/base/controller/route/IndexRouteController.java b/login-base/src/main/java/ink/wgink/login/base/controller/route/IndexRouteController.java index 19f64ce8..ba96bb81 100644 --- a/login-base/src/main/java/ink/wgink/login/base/controller/route/IndexRouteController.java +++ b/login-base/src/main/java/ink/wgink/login/base/controller/route/IndexRouteController.java @@ -4,12 +4,12 @@ import ink.wgink.common.component.SecurityComponent; import ink.wgink.interfaces.consts.ISystemConstant; import ink.wgink.interfaces.menu.IMenuBaseService; import ink.wgink.interfaces.role.IRoleMenuBaseService; -import ink.wgink.login.base.config.properties.SystemProperties; import ink.wgink.login.base.consts.IUserCenterConst; import ink.wgink.login.base.manager.ConfigManager; import ink.wgink.pojo.bos.UserInfoBO; import ink.wgink.pojo.dtos.menu.MenuDTO; import ink.wgink.pojo.pos.RolePO; +import ink.wgink.properties.ServerProperties; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -38,7 +38,7 @@ public class IndexRouteController { @Autowired private SecurityComponent securityComponent; @Autowired - private SystemProperties systemProperties; + private ServerProperties serverProperties; @Autowired(required = false) private IMenuBaseService menuBaseService; @Autowired(required = false) @@ -46,8 +46,8 @@ public class IndexRouteController { @GetMapping("index") public ModelAndView goIndex() { - if (!StringUtils.isBlank(systemProperties.getDefaultIndexPage())) { - return new ModelAndView(new RedirectView(systemProperties.getDefaultHomePage())); + if (!StringUtils.isBlank(serverProperties.getDefaultIndexPage())) { + return new ModelAndView(new RedirectView(serverProperties.getDefaultHomePage())); } return new ModelAndView("forward:/default-main"); } @@ -66,12 +66,12 @@ public class IndexRouteController { if (!Objects.isNull(config.get(IUserCenterConst.SYSTEM_TITLE)) && !StringUtils.isBlank(config.get(IUserCenterConst.SYSTEM_TITLE).toString())) { mv.addObject(IUserCenterConst.SYSTEM_TITLE, config.get(IUserCenterConst.SYSTEM_TITLE).toString()); } else { - mv.addObject(IUserCenterConst.SYSTEM_TITLE, systemProperties.getSystemTitle()); + mv.addObject(IUserCenterConst.SYSTEM_TITLE, serverProperties.getSystemTitle()); } if (!Objects.isNull(config.get(IUserCenterConst.SYSTEM_SUB_TITLE)) && !StringUtils.isBlank(config.get(IUserCenterConst.SYSTEM_SUB_TITLE).toString())) { mv.addObject(IUserCenterConst.SYSTEM_SUB_TITLE, config.get(IUserCenterConst.SYSTEM_SUB_TITLE).toString()); } else { - mv.addObject(IUserCenterConst.SYSTEM_SUB_TITLE, systemProperties.getSystemSubTitle()); + mv.addObject(IUserCenterConst.SYSTEM_SUB_TITLE, serverProperties.getSystemSubTitle()); } // 系统LOGO if (!Objects.isNull(config.get(IUserCenterConst.SYSTEM_LOGO)) && !StringUtils.isBlank(config.get(IUserCenterConst.SYSTEM_LOGO).toString())) { @@ -79,7 +79,11 @@ public class IndexRouteController { } else { mv.addObject(IUserCenterConst.SYSTEM_LOGO, ""); } - mv.addObject("ws", systemProperties.getWs()); + mv.addObject("ws", serverProperties.getWs()); + // 菜单模式 + if (!Objects.isNull(config.get(IUserCenterConst.MENU_MODE)) && !StringUtils.isBlank(config.get(IUserCenterConst.MENU_MODE).toString())) { + mv.addObject(IUserCenterConst.MENU_MODE, config.get(IUserCenterConst.MENU_MODE).toString()); + } if (menuBaseService != null) { List menus; if (StringUtils.equalsIgnoreCase(ISystemConstant.ADMIN, userInfoBO.getUserUsername())) { @@ -117,8 +121,8 @@ public class IndexRouteController { @GetMapping("default-home") public ModelAndView defaultHome() { ModelAndView mv; - if (!StringUtils.isBlank(systemProperties.getDefaultHomePage())) { - mv = new ModelAndView(new RedirectView(systemProperties.getDefaultHomePage())); + if (!StringUtils.isBlank(serverProperties.getDefaultHomePage())) { + mv = new ModelAndView(new RedirectView(serverProperties.getDefaultHomePage())); } else { mv = new ModelAndView("default-home"); } diff --git a/login-base/src/main/java/ink/wgink/login/base/controller/route/OAuthRouteController.java b/login-base/src/main/java/ink/wgink/login/base/controller/route/OAuthRouteController.java index 90fe556f..e626e94a 100644 --- a/login-base/src/main/java/ink/wgink/login/base/controller/route/OAuthRouteController.java +++ b/login-base/src/main/java/ink/wgink/login/base/controller/route/OAuthRouteController.java @@ -1,9 +1,9 @@ package ink.wgink.login.base.controller.route; import ink.wgink.interfaces.consts.ISystemConstant; -import ink.wgink.login.base.config.properties.SystemProperties; import ink.wgink.login.base.consts.IUserCenterConst; import ink.wgink.login.base.manager.ConfigManager; +import ink.wgink.properties.ServerProperties; import ink.wgink.util.verification.code.Captcha; import ink.wgink.util.verification.code.GifCaptcha; import ink.wgink.util.verification.code.SpecCaptcha; @@ -38,7 +38,7 @@ import java.util.Objects; public class OAuthRouteController { @Autowired - private SystemProperties systemProperties; + private ServerProperties serverProperties; /** * 登录 @@ -48,7 +48,7 @@ public class OAuthRouteController { @GetMapping("login") public ModelAndView login(HttpServletRequest request) { ModelAndView mv = new ModelAndView("login"); - mv.addObject(IUserCenterConst.SERVER_URL, systemProperties.getUrl()); + mv.addObject(IUserCenterConst.SERVER_URL, serverProperties.getUrl()); if (request.getParameter(IUserCenterConst.ERROR) != null) { mv.addObject(IUserCenterConst.ERROR_MESSAGE, request.getSession().getAttribute(IUserCenterConst.ERROR_MESSAGE)); } @@ -69,7 +69,7 @@ public class OAuthRouteController { if (!Objects.isNull(config.get(IUserCenterConst.SYSTEM_TITLE)) && !StringUtils.isBlank(config.get(IUserCenterConst.SYSTEM_TITLE).toString())) { mv.addObject(IUserCenterConst.SYSTEM_TITLE, config.get(IUserCenterConst.SYSTEM_TITLE).toString()); } else { - mv.addObject(IUserCenterConst.SYSTEM_TITLE, systemProperties.getSystemTitle()); + mv.addObject(IUserCenterConst.SYSTEM_TITLE, serverProperties.getSystemTitle()); } // 系统标题大小 if (!Objects.isNull(config.get(IUserCenterConst.SYSTEM_SUB_TITLE_SIZE)) && Integer.parseInt(config.get(IUserCenterConst.SYSTEM_SUB_TITLE_SIZE).toString()) > 12) { @@ -81,7 +81,7 @@ public class OAuthRouteController { if (!Objects.isNull(config.get(IUserCenterConst.SYSTEM_SUB_TITLE)) && !StringUtils.isBlank(config.get(IUserCenterConst.SYSTEM_SUB_TITLE).toString())) { mv.addObject(IUserCenterConst.SYSTEM_SUB_TITLE, config.get(IUserCenterConst.SYSTEM_SUB_TITLE).toString()); } else { - mv.addObject(IUserCenterConst.SYSTEM_SUB_TITLE, systemProperties.getSystemSubTitle()); + mv.addObject(IUserCenterConst.SYSTEM_SUB_TITLE, serverProperties.getSystemSubTitle()); } // 系统子标题大小 if (!Objects.isNull(config.get(IUserCenterConst.SYSTEM_SUB_TITLE_SIZE)) && Integer.parseInt(config.get(IUserCenterConst.SYSTEM_SUB_TITLE_SIZE).toString()) > 12) { diff --git a/login-base/src/main/java/ink/wgink/login/base/pojo/vos/ConfigVO.java b/login-base/src/main/java/ink/wgink/login/base/pojo/vos/ConfigVO.java index 2b474f35..dd41a33b 100644 --- a/login-base/src/main/java/ink/wgink/login/base/pojo/vos/ConfigVO.java +++ b/login-base/src/main/java/ink/wgink/login/base/pojo/vos/ConfigVO.java @@ -66,6 +66,9 @@ public class ConfigVO { private String scanCodeLogin; @ApiModelProperty(name = "loginBoxPosition", value = "登录框位置") private String loginBoxPosition; + @ApiModelProperty(name = "menuMode", value = "菜单模式") + @CheckEmptyAnnotation(name = "菜单模式", types = {"fixedLeft", "floatLeft"}) + private String menuMode; public String getPasswordValidity() { return passwordValidity == null ? "" : passwordValidity.trim(); @@ -218,4 +221,12 @@ public class ConfigVO { public void setLoginBoxPosition(String loginBoxPosition) { this.loginBoxPosition = loginBoxPosition; } + + public String getMenuMode() { + return menuMode == null ? "" : menuMode; + } + + public void setMenuMode(String menuMode) { + this.menuMode = menuMode; + } } diff --git a/login-base/src/main/java/ink/wgink/login/base/security/WebSecurityConfig.java b/login-base/src/main/java/ink/wgink/login/base/security/WebSecurityConfig.java index eecdfd65..be9c6bac 100644 --- a/login-base/src/main/java/ink/wgink/login/base/security/WebSecurityConfig.java +++ b/login-base/src/main/java/ink/wgink/login/base/security/WebSecurityConfig.java @@ -1,12 +1,12 @@ package ink.wgink.login.base.security; import ink.wgink.common.handler.AccessDenyHandler; -import ink.wgink.login.base.config.BaseConfig; import ink.wgink.login.base.handler.LoginFailureHandler; import ink.wgink.login.base.handler.LogoutHandler; import ink.wgink.login.base.security.user.UserSecurityConfig; import ink.wgink.login.base.service.user.UserDetailServiceImpl; import ink.wgink.login.base.service.user.UserLoginService; +import ink.wgink.properties.BaseProperties; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.security.authentication.AuthenticationManager; @@ -26,7 +26,7 @@ import org.springframework.security.crypto.password.PasswordEncoder; public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Autowired - private BaseConfig baseConfig; + private BaseProperties baseProperties; @Autowired private UserDetailServiceImpl userDetailService; @Autowired @@ -36,12 +36,12 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { - LoginFailureHandler loginFailureHandler = new LoginFailureHandler(baseConfig.getLoginFailure()); + LoginFailureHandler loginFailureHandler = new LoginFailureHandler(baseProperties.getLoginFailure()); http .formLogin() - .loginPage(baseConfig.getLoginUrl()) - .loginProcessingUrl(baseConfig.getLoginProcess()) - .failureForwardUrl(baseConfig.getLoginUrl()) + .loginPage(baseProperties.getLoginUrl()) + .loginProcessingUrl(baseProperties.getLoginProcess()) + .failureForwardUrl(baseProperties.getLoginUrl()) .failureHandler(loginFailureHandler) .and() .logout() @@ -52,17 +52,17 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { .disable() .and() .authorizeRequests() - .antMatchers(baseConfig.getAssetsMatchers(), - baseConfig.getLoginUrl(), - baseConfig.getLoginProcess(), - baseConfig.getLoginFailure(), + .antMatchers(baseProperties.getAssetsMatchers(), + baseProperties.getLoginUrl(), + baseProperties.getLoginProcess(), + baseProperties.getLoginFailure(), "/oauth/**", "/oauth_client/**", "/app/**", "/approute/**", "/wechat/**", - "/wechatroute/**", - "/wxminiapp/**", + "/wechat/route/**", + "/wechat/miniapp/**", "/route/file/**", "/api/sms/getverificationcode/*", "/api/user/getsignintype/**") @@ -96,7 +96,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { UserSecurityConfig userSecurityConfig = new UserSecurityConfig(); userSecurityConfig.setUserDetailService(userDetailService); userSecurityConfig.setPasswordEncoder(passwordEncoder); - userSecurityConfig.setLoginProcessUrl(baseConfig.getLoginProcess()); + userSecurityConfig.setLoginProcessUrl(baseProperties.getLoginProcess()); userSecurityConfig.setLoginFailureHandler(loginFailureHandler); userSecurityConfig.setUserLoginService(userLoginService); http.apply(userSecurityConfig); diff --git a/login-base/src/main/resources/templates/config/update.html b/login-base/src/main/resources/templates/config/update.html index 01b1397c..29ad60c4 100644 --- a/login-base/src/main/resources/templates/config/update.html +++ b/login-base/src/main/resources/templates/config/update.html @@ -218,6 +218,13 @@ +
+
菜单模式
+
+ + +
+
@@ -386,7 +393,8 @@ verificationCode: data.verificationCode, uKeyLogin: data.uKeyLogin, scanCodeLogin: data.scanCodeLogin, - loginBoxPosition: data.loginBoxPosition + loginBoxPosition: data.loginBoxPosition, + menuMode: data.menuMode }); form.render(null, 'dataForm'); if(data.systemLogo) { diff --git a/login-base/src/main/resources/templates/default-main.html b/login-base/src/main/resources/templates/default-main.html index c9795a7f..4915905e 100644 --- a/login-base/src/main/resources/templates/default-main.html +++ b/login-base/src/main/resources/templates/default-main.html @@ -11,6 +11,11 @@ + +
@@ -18,7 +23,7 @@
    -
  • +
  • @@ -71,7 +76,7 @@
-
+
-
+
@@ -144,7 +149,7 @@
-
+
@@ -160,7 +165,8 @@ base: 'assets/layuiadmin/' //静态资源所在路径 }).extend({ index: 'lib/index' //主入口模块 - }).use(['index', 'restajax', 'datamessage', 'dialog'], function() { + }).use(['index', 'element', 'restajax', 'datamessage', 'dialog'], function() { + var element = layui.element; var $ = layui.$; var layer = layui.layer; @@ -205,6 +211,27 @@ window.location.href = 'oauth/logout'; }); }); + + /** 左浮动菜单 start **/ + var hideSideMenuTimeout = null; + $('.layui-side-menu-show').on('mouseover', function(event) { + $('#sideMenu').removeClass('layui-side-menu-hidden'); + }); + $('#sideMenu').on('mouseout', function(event) { + if(hideSideMenuTimeout) { + return; + } + hideSideMenuTimeout = setTimeout(function() { + $('#sideMenu').addClass('layui-side-menu-hidden') + }, 100); + }); + $('#sideMenu').on('mouseover', function(event) { + if(hideSideMenuTimeout) { + clearTimeout(hideSideMenuTimeout); + hideSideMenuTimeout = null; + } + }); + /** 左浮动菜单 end **/ }); diff --git a/login-wechat/src/main/java/ink/wgink/login/wechat/service/sign/impl/MiniAppSignServiceImpl.java b/login-wechat/src/main/java/ink/wgink/login/wechat/service/sign/impl/MiniAppSignServiceImpl.java index 465f76e3..36e537d8 100644 --- a/login-wechat/src/main/java/ink/wgink/login/wechat/service/sign/impl/MiniAppSignServiceImpl.java +++ b/login-wechat/src/main/java/ink/wgink/login/wechat/service/sign/impl/MiniAppSignServiceImpl.java @@ -7,7 +7,7 @@ import ink.wgink.exceptions.WechatAccessTokenForUserException; import ink.wgink.exceptions.WechatUserInfoException; import ink.wgink.interfaces.consts.ISystemConstant; import ink.wgink.login.base.service.BaseAppSignService; -import ink.wgink.login.wechat.config.properties.MiniAppProperties; +import ink.wgink.properties.MiniAppProperties; import ink.wgink.login.wechat.pojo.bos.user.MiniAppUserInfoBO; import ink.wgink.login.wechat.pojo.vos.sign.MiniAppLoginVO; import ink.wgink.login.wechat.service.sign.IMiniAppSignService; diff --git a/login-wechat/src/main/java/ink/wgink/login/wechat/startup/LoginWechatStartUp.java b/login-wechat/src/main/java/ink/wgink/login/wechat/startup/LoginWechatStartUp.java new file mode 100644 index 00000000..79920ed4 --- /dev/null +++ b/login-wechat/src/main/java/ink/wgink/login/wechat/startup/LoginWechatStartUp.java @@ -0,0 +1,40 @@ +package ink.wgink.login.wechat.startup; + +import ink.wgink.login.wechat.dao.user.IMiniAppUserDao; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.stereotype.Component; + +/** + * When you feel like quitting. Think about why you started + * 当你想要放弃的时候,想想当初你为何开始 + * + * @ClassName: LoginWechatStartUp + * @Description: 微信登录 + * @Author: wanggeng + * @Date: 2021/4/9 11:44 上午 + * @Version: 1.0 + */ +@Component +public class LoginWechatStartUp implements ApplicationRunner { + + private static final Logger LOG = LoggerFactory.getLogger(LoginWechatStartUp.class); + @Autowired + private IMiniAppUserDao miniAppUserDao; + + @Override + public void run(ApplicationArguments args) throws Exception { + initTable(); + } + + /** + * 建表 + */ + private void initTable() { + LOG.debug("创建 wechat_mini_app_user 表"); + miniAppUserDao.createTable(); + } +} diff --git a/login-wechat/src/main/resources/mybatis/mapper/miniapp-user-mapper.xml b/login-wechat/src/main/resources/mybatis/mapper/miniapp-user-mapper.xml index 4654a15c..b5b1e7a2 100644 --- a/login-wechat/src/main/resources/mybatis/mapper/miniapp-user-mapper.xml +++ b/login-wechat/src/main/resources/mybatis/mapper/miniapp-user-mapper.xml @@ -14,7 +14,7 @@ - CREATE TABLE `wechat_mini_app_user` ( + CREATE TABLE IF NOT EXISTS `wechat_mini_app_user` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `app_id` varchar(255) DEFAULT NULL COMMENT 'appid', `open_id` varchar(255) DEFAULT NULL COMMENT 'openid', diff --git a/module-file/src/main/java/ink/wgink/module/file/controller/api/FileController.java b/module-file/src/main/java/ink/wgink/module/file/controller/api/FileController.java index ace96724..e8d15b82 100644 --- a/module-file/src/main/java/ink/wgink/module/file/controller/api/FileController.java +++ b/module-file/src/main/java/ink/wgink/module/file/controller/api/FileController.java @@ -3,7 +3,7 @@ package ink.wgink.module.file.controller.api; import com.alibaba.fastjson.JSONObject; import ink.wgink.common.base.DefaultBaseController; import ink.wgink.interfaces.consts.ISystemConstant; -import ink.wgink.module.file.config.properties.FileProperties; +import ink.wgink.properties.FileProperties; import ink.wgink.module.file.enums.UploadTypeEnum; import ink.wgink.module.file.pojo.dtos.FileDTO; import ink.wgink.module.file.pojo.dtos.FileInfoDTO; diff --git a/module-file/src/main/java/ink/wgink/module/file/controller/app/api/FileAppController.java b/module-file/src/main/java/ink/wgink/module/file/controller/app/api/FileAppController.java index 826b16cd..c4c5e4d1 100644 --- a/module-file/src/main/java/ink/wgink/module/file/controller/app/api/FileAppController.java +++ b/module-file/src/main/java/ink/wgink/module/file/controller/app/api/FileAppController.java @@ -3,7 +3,7 @@ package ink.wgink.module.file.controller.app.api; import com.alibaba.fastjson.JSONObject; import ink.wgink.common.base.DefaultBaseController; import ink.wgink.interfaces.consts.ISystemConstant; -import ink.wgink.module.file.config.properties.FileProperties; +import ink.wgink.properties.FileProperties; import ink.wgink.module.file.enums.UploadTypeEnum; import ink.wgink.module.file.pojo.dtos.FileDTO; import ink.wgink.module.file.service.IFileService; diff --git a/module-file/src/main/java/ink/wgink/module/file/controller/route/FileRouteController.java b/module-file/src/main/java/ink/wgink/module/file/controller/route/FileRouteController.java index f3ad6226..c9af792f 100644 --- a/module-file/src/main/java/ink/wgink/module/file/controller/route/FileRouteController.java +++ b/module-file/src/main/java/ink/wgink/module/file/controller/route/FileRouteController.java @@ -3,7 +3,7 @@ package ink.wgink.module.file.controller.route; import ink.wgink.common.base.DefaultBaseController; import ink.wgink.exceptions.ParamsException; import ink.wgink.interfaces.consts.ISystemConstant; -import ink.wgink.module.file.config.properties.FileProperties; +import ink.wgink.properties.FileProperties; import ink.wgink.module.file.service.IFileService; import ink.wgink.pojo.result.ErrorResult; import io.swagger.annotations.*; diff --git a/module-file/src/main/java/ink/wgink/module/file/controller/wechat/FileWechatController.java b/module-file/src/main/java/ink/wgink/module/file/controller/wechat/FileWechatController.java index a05b805d..f03bbd03 100644 --- a/module-file/src/main/java/ink/wgink/module/file/controller/wechat/FileWechatController.java +++ b/module-file/src/main/java/ink/wgink/module/file/controller/wechat/FileWechatController.java @@ -2,7 +2,7 @@ package ink.wgink.module.file.controller.wechat; import ink.wgink.common.base.DefaultBaseController; import ink.wgink.interfaces.consts.ISystemConstant; -import ink.wgink.module.file.config.properties.FileProperties; +import ink.wgink.properties.FileProperties; import ink.wgink.module.file.enums.UploadTypeEnum; import ink.wgink.module.file.pojo.dtos.FileDTO; import ink.wgink.module.file.service.IFileService; diff --git a/module-file/src/main/java/ink/wgink/module/file/service/impl/FileServiceImpl.java b/module-file/src/main/java/ink/wgink/module/file/service/impl/FileServiceImpl.java index da7cb276..ed7d8b0c 100644 --- a/module-file/src/main/java/ink/wgink/module/file/service/impl/FileServiceImpl.java +++ b/module-file/src/main/java/ink/wgink/module/file/service/impl/FileServiceImpl.java @@ -10,7 +10,7 @@ import ink.wgink.exceptions.ParamsException; import ink.wgink.exceptions.SaveException; import ink.wgink.exceptions.SearchException; import ink.wgink.exceptions.base.SystemException; -import ink.wgink.module.file.config.properties.FileProperties; +import ink.wgink.properties.FileProperties; import ink.wgink.module.file.dao.IFileDao; import ink.wgink.module.file.enums.UploadTypeEnum; import ink.wgink.module.file.pojo.dtos.FileDTO; diff --git a/pom.xml b/pom.xml index 778b913e..e88dd65e 100644 --- a/pom.xml +++ b/pom.xml @@ -28,6 +28,7 @@ login-base login-app login-wechat + basic-properties pom diff --git a/service-user/src/main/java/ink/wgink/service/user/service/impl/UserServiceImpl.java b/service-user/src/main/java/ink/wgink/service/user/service/impl/UserServiceImpl.java index 980ce6e6..bc22287a 100644 --- a/service-user/src/main/java/ink/wgink/service/user/service/impl/UserServiceImpl.java +++ b/service-user/src/main/java/ink/wgink/service/user/service/impl/UserServiceImpl.java @@ -142,7 +142,11 @@ public class UserServiceImpl extends DefaultBaseService implements IUserService throw new SystemException("未引入APP登录模块"); } String userId = securityComponent.getAppTokenUser(token).getId(); - Map params = HashMapUtil.beanToMap(updateUserVO); + Map params = getHashMap(8); + params.put("userAvatar", updateUserVO.getAvatar()); + params.put("userEmail", updateUserVO.getEmail()); + params.put("userPhone", updateUserVO.getPhone()); + params.put("userName", updateUserVO.getName()); params.put("userId", userId); setAppUpdateInfo(token, params); userDao.update(params);