From 2bbec9b79af7da1062834a1c9b2b42ff17a2aadc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=BE=E6=96=87=E8=B1=AA?= <980287353@qq.com> Date: Wed, 5 Apr 2023 23:06:09 +0800 Subject: [PATCH] =?UTF-8?q?perf=EF=BC=9A=E7=99=BB=E5=BD=95=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/config/DemoWebConfigurer.java | 48 +++++++++---------- .../login/controller/LoginController.java | 15 +++--- .../com/tiesheng/login/pojos/DoLoginInfo.java | 12 +---- .../tiesheng/login/pojos/UniqueIndexDTO.java | 9 ++++ .../service/TieshengLoginConfigurer.java | 2 +- .../service/CorePlatformUniqueService.java | 4 +- .../core/service/TieshengWebConfigurer.java | 36 +++++--------- 7 files changed, 54 insertions(+), 72 deletions(-) diff --git a/springboot-ademo/src/main/java/com/tiesheng/demo/config/DemoWebConfigurer.java b/springboot-ademo/src/main/java/com/tiesheng/demo/config/DemoWebConfigurer.java index e043cf4..2e63887 100644 --- a/springboot-ademo/src/main/java/com/tiesheng/demo/config/DemoWebConfigurer.java +++ b/springboot-ademo/src/main/java/com/tiesheng/demo/config/DemoWebConfigurer.java @@ -27,30 +27,28 @@ public class DemoWebConfigurer implements TieshengWebConfigurer { } @Override - public LoginConfigurer loginConfigurer() { - return new LoginConfigurer() { - @Override - public TokenBean doLogin(CorePlatformUnique platformUnique, String to) { - - // 默认跳转到mobile - to = StrUtil.emptyToDefault(to, "mobile"); - - TokenBean tokenBean = null; - if (!StrUtil.isEmpty(platformUnique.getUserId())) { - tokenBean = new TokenBean(platformUnique.getUserId(), to, globalConfig.getService()); - } else { - // 获取用户信息判断是否可登录 - } - - return tokenBean; - } - - @Override - public void redirect(TokenBean bean, String to, String extra, HttpServletResponse response) { - if (Objects.equals(bean.getEnvironmentType(), "mobile")) { - globalConfig.redirect("mobile", "/?token=" + bean.toToken(), response); - } - } - }; + public TokenBean login(CorePlatformUnique platformUnique) { + TokenBean tokenBean = null; + if (!StrUtil.isEmpty(platformUnique.getUserId())) { + tokenBean = new TokenBean(platformUnique.getUserId(), "", globalConfig.getService()); + } else { + // 获取用户信息判断是否可登录 + + } + + return tokenBean; + } + + @Override + public void redirect(TokenBean bean, String to, String extra, HttpServletResponse response) { + + // 默认跳转到mobile + to = StrUtil.emptyToDefault(to, "mobile"); + bean.setEnvironmentType(to); + + if (Objects.equals(bean.getEnvironmentType(), "mobile")) { + globalConfig.redirect("mobile", "/?token=" + bean.toToken(), response); + } } + } diff --git a/springboot-login/src/main/java/com/tiesheng/login/controller/LoginController.java b/springboot-login/src/main/java/com/tiesheng/login/controller/LoginController.java index 7a608e5..ddfef9f 100644 --- a/springboot-login/src/main/java/com/tiesheng/login/controller/LoginController.java +++ b/springboot-login/src/main/java/com/tiesheng/login/controller/LoginController.java @@ -58,8 +58,8 @@ public class LoginController { */ @GetMapping("/unique/redirect") public void uniqueIndex(UniqueIndexDTO dto, HttpServletResponse response) { - TokenBean tokenBean = tieshengLoginConfigurer.doLogin(new DoLoginInfo("unique_index_web", - dto.getNo(), "web", dto.getTo(), dto.getInfo())); + TokenBean tokenBean = tieshengLoginConfigurer.doLogin(new DoLoginInfo("web_unique_redirect", + dto.getNo(), dto.getPlatform(), dto.getInfo())); tieshengLoginConfigurer.onLoginRedirect(tokenBean, dto.getTo(), dto.getExtra(), response); } @@ -72,8 +72,8 @@ public class LoginController { */ @PostMapping("/unique/index") public ApiResp uniqueIndex(@RequestBody UniqueIndexDTO dto) { - TokenBean tokenBean = tieshengLoginConfigurer.doLogin(new DoLoginInfo("unique_index_web", - dto.getNo(), "web", dto.getTo(), dto.getInfo())); + TokenBean tokenBean = tieshengLoginConfigurer.doLogin(new DoLoginInfo("web_unique_index", + dto.getNo(), dto.getPlatform(), dto.getInfo())); if (tokenBean == null) { throw new ApiException("登录失败"); } @@ -120,8 +120,7 @@ public class LoginController { String ddUserId = platformDingConfig.getUserIdByCode(service, dto.getCode()); DingUserInfo dingUserInfo = platformDingConfig.topapiV2UserGet(service, ddUserId); TokenBean tokenBean = tieshengLoginConfigurer.doLogin(new DoLoginInfo(dingUserInfo.getAppId(), - dingUserInfo.getUserid(), "ding", dto.getTo(), - JSON.toJSONString(dingUserInfo))); + dingUserInfo.getUserid(), "ding", JSON.toJSONString(dingUserInfo))); tieshengLoginConfigurer.onLoginRedirect(tokenBean, dto.getTo(), dto.getExtra(), response); } @@ -167,7 +166,7 @@ public class LoginController { public void wxmpOauth2(@PathVariable String service, CodeExtraDTO dto, HttpServletResponse response) { WxUserInfo wxUserInfo = platformWxmpConfig.getOAuth2AccessToken(service, dto.getCode()); TokenBean tokenBean = tieshengLoginConfigurer.doLogin(new DoLoginInfo(wxUserInfo.getAppId(), - wxUserInfo.getOpenid(), "wxmp", dto.getTo(), JSON.toJSONString(wxUserInfo))); + wxUserInfo.getOpenid(), "wxmp", JSON.toJSONString(wxUserInfo))); tieshengLoginConfigurer.onLoginRedirect(tokenBean, dto.getTo(), dto.getExtra(), response); } @@ -198,7 +197,7 @@ public class LoginController { String openid = platformWxminiConfig.jscode2session(service, code); WxConfigBean configBean = platformWxminiConfig.getConfigBean(service); TokenBean tokenBean = tieshengLoginConfigurer.doLogin(new DoLoginInfo(configBean.getAppId(), - openid, "wxmini", "mini", "{}")); + openid, "wxmini", "{}")); WxminiLoginVo loginVo = new WxminiLoginVo(); loginVo.setOpenid(openid); diff --git a/springboot-login/src/main/java/com/tiesheng/login/pojos/DoLoginInfo.java b/springboot-login/src/main/java/com/tiesheng/login/pojos/DoLoginInfo.java index 1ba0259..f9532b6 100644 --- a/springboot-login/src/main/java/com/tiesheng/login/pojos/DoLoginInfo.java +++ b/springboot-login/src/main/java/com/tiesheng/login/pojos/DoLoginInfo.java @@ -5,15 +5,13 @@ public class DoLoginInfo { private String appId; private String unique; private String platform; - private String to; private String info; private String extra; - public DoLoginInfo(String appId, String unique, String platform, String to, String info) { + public DoLoginInfo(String appId, String unique, String platform, String info) { this.appId = appId; this.unique = unique; this.platform = platform; - this.to = to; this.info = info; } @@ -45,14 +43,6 @@ public class DoLoginInfo { this.platform = platform; } - public String getTo() { - return to; - } - - public void setTo(String to) { - this.to = to; - } - public String getInfo() { return info; } diff --git a/springboot-login/src/main/java/com/tiesheng/login/pojos/UniqueIndexDTO.java b/springboot-login/src/main/java/com/tiesheng/login/pojos/UniqueIndexDTO.java index 33cf298..4691e7a 100644 --- a/springboot-login/src/main/java/com/tiesheng/login/pojos/UniqueIndexDTO.java +++ b/springboot-login/src/main/java/com/tiesheng/login/pojos/UniqueIndexDTO.java @@ -7,6 +7,7 @@ public class UniqueIndexDTO extends LoginToInfo { private String no; private String extra; private String info; + private String platform = "web"; /////////////////////////////////////////////////////////////////////////// // setter\getter @@ -38,4 +39,12 @@ public class UniqueIndexDTO extends LoginToInfo { public void setInfo(String info) { this.info = info; } + + public String getPlatform() { + return platform; + } + + public void setPlatform(String platform) { + this.platform = platform; + } } diff --git a/springboot-login/src/main/java/com/tiesheng/login/service/TieshengLoginConfigurer.java b/springboot-login/src/main/java/com/tiesheng/login/service/TieshengLoginConfigurer.java index 24f25a4..2055d7c 100644 --- a/springboot-login/src/main/java/com/tiesheng/login/service/TieshengLoginConfigurer.java +++ b/springboot-login/src/main/java/com/tiesheng/login/service/TieshengLoginConfigurer.java @@ -23,7 +23,7 @@ public interface TieshengLoginConfigurer { /** * 授权登录回调 * - * @param tokenBean + * @param bean */ void onLoginRedirect(TokenBean bean, String to, String extra, HttpServletResponse response); diff --git a/springboot-web/src/main/java/com/tiesheng/core/service/CorePlatformUniqueService.java b/springboot-web/src/main/java/com/tiesheng/core/service/CorePlatformUniqueService.java index f74cf34..5ee7036 100644 --- a/springboot-web/src/main/java/com/tiesheng/core/service/CorePlatformUniqueService.java +++ b/springboot-web/src/main/java/com/tiesheng/core/service/CorePlatformUniqueService.java @@ -35,7 +35,7 @@ public class CorePlatformUniqueService extends TsServiceBase