From 1a16c058cdf8ce9bfdad4853e518d521b29a87e6 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 25 八月 2023 13:52:30 +0800 Subject: [PATCH] 修复bug --- server/src/main/java/doumeemes/service/system/impl/WxLoginServiceImpl.java | 24 +++++++++++++++++++----- 1 files changed, 19 insertions(+), 5 deletions(-) diff --git a/server/src/main/java/doumeemes/service/system/impl/WxLoginServiceImpl.java b/server/src/main/java/doumeemes/service/system/impl/WxLoginServiceImpl.java index c61c7a0..2c8fba5 100644 --- a/server/src/main/java/doumeemes/service/system/impl/WxLoginServiceImpl.java +++ b/server/src/main/java/doumeemes/service/system/impl/WxLoginServiceImpl.java @@ -104,6 +104,25 @@ } + + @Override + public WxLoginVO wxProgramLogin(String code, HttpServletRequest request) { + //TODO---------------浠诲悍 + String appId = systemDictDataBiz.queryByCode(Constants.WX_CONFIG,Constants.APPID).getCode(); + String appSecret = systemDictDataBiz.queryByCode(Constants.WX_CONFIG,Constants.APPSECRET).getCode(); + String getTokenUrl = GET_ACCESS_TOKEN_URL.replace("CODE", code).replace("APPID", appId).replace("SECRET", appSecret); + JSONObject tokenJson = JSONObject.parseObject(HttpsUtil.get(getTokenUrl,true)); + if(Objects.isNull(tokenJson.get("access_token"))){ + throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),tokenJson.getString("errmsg")); + } + String accessToken = tokenJson.getString("access_token"); + String openId = tokenJson.getString("openid"); + String getUserInfoUrl = GET_USER_INFO_URL.replace("ACCESS_TOKEN", accessToken).replace("OPENID", openId); + JSONObject userInfoJson = JSONObject.parseObject(HttpsUtil.get(getUserInfoUrl,true)); + + return loginByUnionIdAndReturn(userInfoJson.getString("unionid"),openId,request); + + } private WxLoginVO loginByUnionIdAndReturn(String unionid,String openId,HttpServletRequest request) { WxLoginVO wxLoginVO = new WxLoginVO(); wxLoginVO.setOpenid(openId); @@ -176,11 +195,6 @@ } } - @Override - public WxLoginVO wxProgramLogin(String unionId,String openId, HttpServletRequest request) { - return loginByUnionIdAndReturn(unionId,openId,request); - - } -- Gitblit v1.9.3