| @@ -78,13 +78,8 @@ public class WechatLoginController extends BaseController { | |||||
| log.debug("[" + getIpAddr() + "] MallUserInfoController::login"); | log.debug("[" + getIpAddr() + "] MallUserInfoController::login"); | ||||
| String host = request.getHeader("host"); | String host = request.getHeader("host"); | ||||
| log.debug("Host: " + host); | log.debug("Host: " + host); | ||||
| String rUrl = ""; | |||||
| try { | |||||
| rUrl = URLEncoder.encode("https://mall.youlane.cn/api/wechat/callback","utf-8"); | |||||
| } catch (UnsupportedEncodingException e) { | |||||
| log.error(e.getMessage()); | |||||
| } | |||||
| String wechatUrl = wxMpService.buildQrConnectUrl("https://mall.youlane.cn/api/wechat/callback", "snsapi_login", "111"); | |||||
| host = getHost(host); | |||||
| String wechatUrl = wxMpService.buildQrConnectUrl("https://"+host+"/api/wechat/callback", "snsapi_login", "111"); | |||||
| try { | try { | ||||
| response.sendRedirect(wechatUrl); | response.sendRedirect(wechatUrl); | ||||
| } catch (IOException e) { | } catch (IOException e) { | ||||
| @@ -92,6 +87,22 @@ public class WechatLoginController extends BaseController { | |||||
| } | } | ||||
| } | } | ||||
| private String getHost(String host) { | |||||
| if(host.contains("iformall.com")) { | |||||
| if(host.contains("admintest")) { | |||||
| host = "admin.malls.iformall.com"; | |||||
| } else { | |||||
| host = "admintest.malls.iformall.com"; | |||||
| } | |||||
| } else if(host.contains("youlane.cn")) { | |||||
| host = "mall.youlane.cn"; | |||||
| } else { | |||||
| host = "admin.malls.iformall.com"; | |||||
| } | |||||
| return host; | |||||
| } | |||||
| @ApiOperation(value = "微信网页登录回调", notes = "请配置此callback到网页redirect_uri") | @ApiOperation(value = "微信网页登录回调", notes = "请配置此callback到网页redirect_uri") | ||||
| @GetMapping("callback") | @GetMapping("callback") | ||||
| @ResponseBody | @ResponseBody | ||||
| @@ -100,10 +111,14 @@ public class WechatLoginController extends BaseController { | |||||
| String host = request.getHeader("host"); | String host = request.getHeader("host"); | ||||
| log.debug("host: " + host); | log.debug("host: " + host); | ||||
| log.debug("code: " + code); | log.debug("code: " + code); | ||||
| host = getHost(host); | |||||
| try { | try { | ||||
| WxMpOAuth2AccessToken accessToken = wxMpService.oauth2getAccessToken(code); | WxMpOAuth2AccessToken accessToken = wxMpService.oauth2getAccessToken(code); | ||||
| log.info("accessToken: " + accessToken.getAccessToken() + ", openId: " + accessToken.getOpenId() + ", unionId: " + accessToken.getUnionId()); | log.info("accessToken: " + accessToken.getAccessToken() + ", openId: " + accessToken.getOpenId() + ", unionId: " + accessToken.getUnionId()); | ||||
| accessToken = wxMpService.oauth2refreshAccessToken(accessToken.getRefreshToken()); | |||||
| log.info("accessToken: " + accessToken.getAccessToken() + ", openId: " + accessToken.getOpenId() + ", unionId: " + accessToken.getUnionId()); | |||||
| // 获取 用户信息 | // 获取 用户信息 | ||||
| WxMpUser mpUser = wxMpService.oauth2getUserInfo(accessToken, null); | WxMpUser mpUser = wxMpService.oauth2getUserInfo(accessToken, null); | ||||
| if(mpUser != null) { | if(mpUser != null) { | ||||
| @@ -162,7 +177,7 @@ public class WechatLoginController extends BaseController { | |||||
| if(codeObj == null) { | if(codeObj == null) { | ||||
| log.info("用户登录成功,切换主页"); | log.info("用户登录成功,切换主页"); | ||||
| try { | try { | ||||
| response.sendRedirect("https://mall.youlane.cn/#/layout"); | |||||
| response.sendRedirect("https://"+host+"/#/layout"); | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| log.error(e.getMessage()); | log.error(e.getMessage()); | ||||
| } | } | ||||