From d750c3c01e079ab23b20da3608e60866fa0e411e Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Fri, 22 Feb 2019 11:44:41 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=BE=AE=E4=BF=A1=E7=AC=AC=E4=B8=89=E6=96=B9?= =?UTF-8?q?=E7=99=BB=E5=BD=95][=E4=BF=AE=E6=94=B9]:=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WechatLoginController.java | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WechatLoginController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WechatLoginController.java index d221d8540..8e85ecb59 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WechatLoginController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WechatLoginController.java @@ -41,20 +41,16 @@ public class WechatLoginController extends BaseController { @ApiOperation(value = "微信网页登录回调", notes = "请配置此callback到网页redirect_uri") @GetMapping("callback") @ResponseBody - public ResultData getAccessToken(String code, HttpServletRequest request, HttpServletResponse response) { + public ResultData getAccessToken(String code, String state, HttpServletRequest request, HttpServletResponse response) { log.debug("[" + getIpAddr() + "] WechatLoginController::getAccessToken"); log.debug("code: " + code); ResultData r = new ResultData(); try { WxMpOAuth2AccessToken accessToken = wxMpService.oauth2getAccessToken(code); log.debug("accessToken: " + accessToken.getAccessToken() + ", openId: " + accessToken.getOpenId() + ", unionId: " + accessToken.getUnionId()); - // 保存 access_token 到 cookie,两小时过期 - Cookie accessTokencookie = new Cookie("accessToken", accessToken.getAccessToken()); - accessTokencookie.setMaxAge(60 *2); - response.addCookie(accessTokencookie); - + // 保存 openId 到 cookie,一小时过期 Cookie openIdCookie = new Cookie("openId", accessToken.getOpenId()); - openIdCookie.setMaxAge(60 *2); + openIdCookie.setMaxAge(60); response.addCookie(openIdCookie); // check user openid 是否是已授权用户 @@ -75,8 +71,12 @@ public class WechatLoginController extends BaseController { if(menus != null) { info.setMenus(menus); } - r.data = info; + Cookie unameCookie = new Cookie("uname", info.getUsername()); + unameCookie.setMaxAge(60); + response.addCookie(openIdCookie); + response.sendRedirect(request.getContextPath() + "/#/"); } catch (Exception e) { + log.error(e.getMessage()); return new ResultData(ResultData.ERROR, "用户名或者密码错误"); } } else { @@ -89,9 +89,14 @@ public class WechatLoginController extends BaseController { map.put("accessToken", accessToken.getAccessToken()); map.put("openId", accessToken.getOpenId()); //map.put("unionId", accessToken.getUnionId()); - r.data = map; + // r.data = map; // 跳转登录页面 - //response.sendRedirect(request.getContextPath() + "/student/html/index.min.html#/bind?type="+Constants.LOGIN_TYPE_WECHAT); + try { + response.sendRedirect(request.getContextPath() + "/#/"); + } catch (Exception e) { + log.error(e.getMessage()); + return new ResultData(ResultData.ERROR, "用户名或者密码错误"); + } } return r; } catch (WxErrorException e) {