diff --git a/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/handler/MiniAppLoginHandler.java b/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/handler/MiniAppLoginHandler.java index 174b8b2b0..7258e4555 100644 --- a/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/handler/MiniAppLoginHandler.java +++ b/pigx-app-server/pigx-app-server-biz/src/main/java/com/pig4cloud/pigx/app/handler/MiniAppLoginHandler.java @@ -28,6 +28,7 @@ import com.pig4cloud.pigx.app.mapper.AppSocialDetailsMapper; import com.pig4cloud.pigx.app.service.AppUserService; import com.pig4cloud.pigx.common.core.constant.SecurityConstants; import com.pig4cloud.pigx.common.core.constant.enums.LoginTypeEnum; +import com.pig4cloud.pigx.common.core.exception.CheckedException; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -43,72 +44,79 @@ import org.springframework.stereotype.Component; @AllArgsConstructor public class MiniAppLoginHandler extends AbstractLoginHandler { - private final AppUserService appUserService; + private final AppUserService appUserService; - private final AppSocialDetailsMapper appSocialDetailsMapper; + private final AppSocialDetailsMapper appSocialDetailsMapper; - /** - * 小程序登录传入code - *
- * 通过code 调用qq 获取唯一标识 - * @param code - * @return - */ - @Override - public String identify(String code) { - AppSocialDetails condition = new AppSocialDetails(); - condition.setType(LoginTypeEnum.MINI_APP.getType()); - AppSocialDetails socialDetails = appSocialDetailsMapper.selectOne(new QueryWrapper<>(condition)); + /** + * 小程序登录传入code + *
+ * 通过code 调用qq 获取唯一标识
+ *
+ * @param code
+ * @return
+ */
+ @Override
+ public String identify(String code) {
+ AppSocialDetails condition = new AppSocialDetails();
+ condition.setType(LoginTypeEnum.MINI_APP.getType());
+ AppSocialDetails socialDetails = appSocialDetailsMapper.selectOne(new QueryWrapper<>(condition));
- String url = String.format(SecurityConstants.MINI_APP_AUTHORIZATION_CODE_URL, socialDetails.getAppId(),
- socialDetails.getAppSecret(), code);
- String result = HttpUtil.get(url);
- log.debug("微信小程序响应报文:{}", result);
+ String url = String.format(SecurityConstants.MINI_APP_AUTHORIZATION_CODE_URL, socialDetails.getAppId(),
+ socialDetails.getAppSecret(), code);
+ String result = HttpUtil.get(url);
+ log.debug("微信小程序响应报文:{}", result);
- Object obj = JSONUtil.parseObj(result).get("openid");
- return obj.toString();
- }
+ if (JSONUtil.parseObj(result).containsKey("openid")) {
+ return JSONUtil.parseObj(result).get("openid").toString();
+ } else {
+ log.error("微信小程序登录失败:{}", result);
+ throw new CheckedException("微信小程序登录失败");
+ }
+ }
- /**
- * openId 获取用户信息
- * @param openId
- * @return
- */
- @Override
- public AppUserInfo info(String openId) {
- AppUser user = appUserService.getOne(Wrappers.