Browse Source

获取授权码路径调整

黄远 5 years ago
parent
commit
03a5dc04b6

+ 3 - 1
lift-system-service/src/main/java/cn/com/ty/lift/system/user/controller/LoginController.java

@@ -286,9 +286,11 @@ public class LoginController {
             return RestResponse.fail(ApiConstants.RESULT_ERROR, "授权码为空无法进行操作");
         }
         //通过授权码获取用户openId
-        String openId = WxUtil.getAppOpenIdByAuthCode(authCode);
+        String openId = "";
         if (WxConstants.APPLET_LOGIN.equals(loginStyle)) {
             openId = WxUtil.getAppletOpenIdByAuthCode(authCode);
+        } else {
+            openId = WxUtil.getAppOpenIdByAuthCode(authCode);
         }
         if (StringUtils.isBlank(openId)) {
             return RestResponse.fail(ApiConstants.RESULT_ERROR, "授权码无效无法进行操作");

+ 8 - 5
lift-system-service/src/main/java/cn/com/ty/lift/system/wechat/constants/WxConstants.java

@@ -17,16 +17,15 @@ public class WxConstants {
      */
     public static final String APP_LOGIN = "appLogin";
 
-    /**
-     * 用户授权路径
-     */
-    public static final String USER_INFO_ACCESS_TOKEN_URL = "https://api.weixin.qq.com/sns/oauth2/access_token?"
-            + "appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";
 
     /**
      * app登录配置常量
      */
     public interface AppConfigConstants {
+
+        String OPEN_ID_URL = "https://api.weixin.qq.com/sns/oauth2/access_token?"
+                + "appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";
+
         /**
          * appId
          */
@@ -41,6 +40,10 @@ public class WxConstants {
      * 小程序登录配置常量
      */
     public interface AppletConfigConstants {
+
+        String OPEN_ID_URL = "https://api.weixin.qq.com/sns/jscode2session?" +
+                "appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code";
+
         /**
          * 小程序appId
          */

+ 6 - 5
lift-system-service/src/main/java/cn/com/ty/lift/system/wechat/utils/WxUtil.java

@@ -18,7 +18,8 @@ public class WxUtil {
      * @description app端通过用户授权码获取用户openId
      */
     public static String getAppOpenIdByAuthCode(String authCode) {
-        return getOpenIdByAuthCode(authCode, WxConstants.AppConfigConstants.APP_ID,
+        return getOpenIdByAuthCode(authCode, WxConstants.AppConfigConstants.OPEN_ID_URL,
+                WxConstants.AppConfigConstants.APP_ID,
                 WxConstants.AppConfigConstants.APP_SECRET);
     }
 
@@ -29,7 +30,8 @@ public class WxUtil {
      * @date 2020/4/27 10:36 上午
      */
     public static String getAppletOpenIdByAuthCode(String authCode) {
-        return getOpenIdByAuthCode(authCode, WxConstants.AppletConfigConstants.APP_ID,
+        return getOpenIdByAuthCode(authCode, WxConstants.AppletConfigConstants.OPEN_ID_URL,
+                WxConstants.AppletConfigConstants.APP_ID,
                 WxConstants.AppletConfigConstants.APP_SECRET);
     }
 
@@ -41,9 +43,8 @@ public class WxUtil {
      * @description 通过授权码获取微信openId
      * @date 2020/4/30 2:47 下午
      */
-    private static String getOpenIdByAuthCode(String authCode, String appId, String appSecret) {
-        String url = WxConstants.USER_INFO_ACCESS_TOKEN_URL
-                .replace("APPID", appId)
+    private static String getOpenIdByAuthCode(String authCode, String url, String appId, String appSecret) {
+        url = url.replace("APPID", appId)
                 .replace("SECRET", appSecret)
                 .replace("CODE", authCode);
         JSONObject result = JSONUtil.parseObj(HttpUtil.get(url));