|
|
@@ -20,7 +20,6 @@ import org.springframework.ui.Model;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
-import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
@@ -47,10 +46,33 @@ public class IndexController {
|
|
|
|
|
|
@RequestMapping(value = "/", method = RequestMethod.GET)
|
|
|
public String returnaDefault(HttpServletRequest request, HttpServletResponse response) throws IOException {
|
|
|
- String code = request.getParameter("code");
|
|
|
- String state = request.getParameter("state");
|
|
|
String ua = request.getHeader("user-agent").toLowerCase();
|
|
|
if (ua.indexOf("micromessenger") >= 0) {// 是微信浏览器
|
|
|
+ String code = request.getParameter("code");
|
|
|
+ String state = request.getParameter("state");
|
|
|
+ if (code != null) {
|
|
|
+ //授权回调
|
|
|
+ logger.info("公众号获取,授权回调:authCode=" + code + ",state=" + state);
|
|
|
+
|
|
|
+ String openId = null;
|
|
|
+ try {
|
|
|
+ if ("snsapi_userinfo".equals(WxConfig.oauthUserScope)) {
|
|
|
+ WechatUserInfo wechatUserInfo= WechatConnector.getOauthUser(code, wxPayApi.getConfig().getAppId(), WxConfig.APPSECRET); //TODO APPSECRET
|
|
|
+ logger.info("微信用户授权信息:" + wechatUserInfo.toString());
|
|
|
+ openId = wechatUserInfo.getOpenId();
|
|
|
+ } else if ("snsapi_base".equals(WxConfig.oauthUserScope)) {
|
|
|
+ JSONObject tokenJson = WechatConnector.getAccessToken(code, wxPayApi.getConfig().getAppId(), WxConfig.APPSECRET);//TODO APPSECRET
|
|
|
+ openId = tokenJson.getString("openid");
|
|
|
+ }
|
|
|
+
|
|
|
+ //openId = wxPayApi.authcode2Openid(code);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ request.getSession().setAttribute("openId", openId);
|
|
|
+ logger.info("当前微信用户openId:" + openId);
|
|
|
+ }
|
|
|
+
|
|
|
Object openId = request.getSession().getAttribute("openId");
|
|
|
if (openId != null) {
|
|
|
//有openid 已授权
|
|
|
@@ -66,79 +88,6 @@ public class IndexController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (code != null) {
|
|
|
- //授权回调
|
|
|
- logger.info("公众号获取,授权回调:authCode=" + code + ",state=" + state);
|
|
|
-
|
|
|
- String openId = null;
|
|
|
- try {
|
|
|
- if ("snsapi_userinfo".equals(WxConfig.oauthUserScope)) {
|
|
|
- WechatUserInfo wechatUserInfo= WechatConnector.getOauthUser(code, wxPayApi.getConfig().getAppId(), WxConfig.APPSECRET); //TODO APPSECRET
|
|
|
- logger.info("微信用户授权信息:" + wechatUserInfo.toString());
|
|
|
- openId = wechatUserInfo.getOpenId();
|
|
|
- } else if ("snsapi_base".equals(WxConfig.oauthUserScope)) {
|
|
|
- JSONObject tokenJson = WechatConnector.getAccessToken(code, wxPayApi.getConfig().getAppId(), WxConfig.APPSECRET);//TODO APPSECRET
|
|
|
- openId = tokenJson.getString("openid");
|
|
|
- }
|
|
|
-
|
|
|
- //openId = wxPayApi.authcode2Openid(code);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- request.getSession().setAttribute("openId", openId);
|
|
|
- logger.info("当前微信用户openId:" + openId);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- /*User user = SystemSession.getUser();
|
|
|
- if (ua.indexOf("micromessenger") >= 0) {// 是微信浏览器
|
|
|
-
|
|
|
- if (user != null && user.getWxOpenId() != null) {
|
|
|
- //有用户 有openid 已授权
|
|
|
- logger.info("公众号获取:--有用户 有openid 已授权");
|
|
|
- return "forward:/index";
|
|
|
- } else if (user != null && user.getWxOpenId() == null && code == null) {
|
|
|
- //有用户 无openid 需要授权
|
|
|
- logger.info("公众号获取:--有用户 无openid 需要授权");
|
|
|
- //String url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + wxPayApi.getConfig().getAppId() + "&redirect_uri=" + URLEncoder.encode("http://lj.ubtob.com/", "UTF-8") + "&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect";
|
|
|
- String url = WechatConnector.createAuthorizeUrl(WxConfig.oauthUserScope, wxPayApi.getConfig().getAppId(), URLEncoder.encode("http://lj.ubtob.com", "UTF-8"));
|
|
|
- response.sendRedirect(url);
|
|
|
- } else if (user == null && code == null) {
|
|
|
- //需要授权
|
|
|
- logger.info("公众号获取:--需要授权");
|
|
|
- //String url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + wxPayApi.getConfig().getAppId() + "&redirect_uri=" + URLEncoder.encode("http://lj.ubtob.com/", "UTF-8") + "&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect";
|
|
|
- String url = WechatConnector.createAuthorizeUrl(WxConfig.oauthUserScope, wxPayApi.getConfig().getAppId(), URLEncoder.encode("http://lj.ubtob.com", "UTF-8"));
|
|
|
- response.sendRedirect(url);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (code != null) {
|
|
|
- //授权回调
|
|
|
- logger.info("公众号获取,授权回调:authCode=" + code + ",state=" + state);
|
|
|
-
|
|
|
- if (user == null) {
|
|
|
- user = new User();
|
|
|
- }
|
|
|
- String openId = null;
|
|
|
- try {
|
|
|
- if ("snsapi_userinfo".equals(WxConfig.oauthUserScope)) {
|
|
|
- WechatUserInfo wechatUserInfo= WechatConnector.getOauthUser(code, wxPayApi.getConfig().getAppId(), WxConfig.APPSECRET); //TODO APPSECRET
|
|
|
- logger.info("微信用户授权信息:" + wechatUserInfo.toString());
|
|
|
- openId = wechatUserInfo.getOpenId();
|
|
|
- } else if ("snsapi_base".equals(WxConfig.oauthUserScope)) {
|
|
|
- JSONObject tokenJson = WechatConnector.getAccessToken(code, wxPayApi.getConfig().getAppId(), WxConfig.APPSECRET);//TODO APPSECRET
|
|
|
- openId = tokenJson.getString("openid");
|
|
|
- }
|
|
|
-
|
|
|
- //openId = wxPayApi.authcode2Openid(code);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- user.setWxOpenId(openId);
|
|
|
- logger.info("当前用户信息:" + user.toString());
|
|
|
- SystemSession.setUser(user);
|
|
|
- }*/
|
|
|
-
|
|
|
return "forward:/index";
|
|
|
}
|
|
|
|