From 3f7bcb1fb68b78a2cd2a87b44098f1de70378d92 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 30 十二月 2019 18:59:59 +0800 Subject: [PATCH] 完成微信小程序登录流程 --- fanli/src/main/java/com/yeshi/fanli/controller/wxmp/UserController.java | 27 +++++++++++++++++++++++---- 1 files changed, 23 insertions(+), 4 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/wxmp/UserController.java b/fanli/src/main/java/com/yeshi/fanli/controller/wxmp/UserController.java index fdc7afc..9515430 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/wxmp/UserController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/wxmp/UserController.java @@ -2,12 +2,17 @@ import java.io.PrintWriter; +import javax.annotation.Resource; +import javax.servlet.http.HttpSession; + import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.yeshi.utils.JsonUtil; +import org.yeshi.utils.entity.wx.WXMPSessionInfo; import org.yeshi.utils.wx.WXXCXUtil; import com.yeshi.fanli.dto.WXMPAcceptData; +import com.yeshi.fanli.service.inter.user.UserInfoExtraService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; @@ -17,20 +22,34 @@ @RequestMapping("/wxmp/api/v1/user") public class UserController { + public final static String WXMP_SESSION_INFO_KEY = "WXMP-SESSION-INFO"; + + @Resource + private UserInfoExtraService userInfoExtraService; + + /** + * 鑾峰彇openId + * + * @param acceptData + * @param code + * @param out + */ @RequestMapping("getOpenId") - public void getOpenId(WXMPAcceptData acceptData, String code, PrintWriter out) { + public void getOpenId(WXMPAcceptData acceptData, String code, HttpSession session, PrintWriter out) { if (StringUtil.isNullOrEmpty(code)) { out.print(JsonUtil.loadFalseResult("code涓虹┖")); return; } - String openId = WXXCXUtil.getOpenId(Constant.WXMP_APP_INFO, code); - if (!StringUtil.isNullOrEmpty(openId)) { + WXMPSessionInfo info = WXXCXUtil.getSessionInfo(Constant.WXMP_APP_INFO, code); + if (info != null) { + session.setAttribute(WXMP_SESSION_INFO_KEY, info); JSONObject data = new JSONObject(); - data.put("openId", openId); + data.put("openId", info.getOpenId()); out.print(JsonUtil.loadTrueResult(data)); } else { out.print(JsonUtil.loadFalseResult("openId鑾峰彇澶辫触")); } } + } -- Gitblit v1.8.0