瀏覽代碼

抖音登录

Althars123 2 年之前
父節點
當前提交
9825725539

+ 13 - 2
jkt-admin/src/main/java/com/miaxis/system/controller/system/SysLoginController.java

@@ -2,6 +2,7 @@ package com.miaxis.system.controller.system;
 
 import com.alibaba.fastjson.JSONObject;
 import com.miaxis.apple.service.IAppleService;
+import com.miaxis.common.core.domain.DyUserInfo;
 import com.miaxis.common.core.domain.DyUserInfoResult;
 import com.miaxis.common.core.domain.Response;
 import com.miaxis.common.core.domain.WxUserInfo;
@@ -20,6 +21,8 @@ import com.miaxis.system.dto.system.AppleTokenDTO;
 import com.miaxis.system.dto.system.TokenDTO;
 import com.miaxis.system.dto.system.UserInfoDTO;
 import com.miaxis.system.service.ISysMenuService;
+import com.miaxis.wx.dto.DyTokenDTO;
+import com.miaxis.wx.dto.DyUserInfoDTO;
 import com.miaxis.wx.service.DyService;
 import com.miaxis.wx.service.WxService;
 import io.swagger.annotations.Api;
@@ -159,7 +162,12 @@ public class SysLoginController
     @PostMapping("/login/dycode")
     @ApiOperation("抖音用户授权码模式登录")
     public Response<TokenDTO> loginByDyAuthorizationCode(String authorizationCode ){
-        String dyResultStr = dyService.getDyToken(dyappid, dyappSecret, authorizationCode, "authorization_code");
+        DyTokenDTO dyTokenDTO = new DyTokenDTO();
+        dyTokenDTO.setGrantType("authorization_code");
+        dyTokenDTO.setClientKey(dyappid);
+        dyTokenDTO.setClientSecret(dyappSecret);
+        dyTokenDTO.setCode(authorizationCode);
+        String dyResultStr = dyService.getDyToken(dyTokenDTO);
         logger.info("抖音授权码登录返回值:"+dyResultStr);
         DyResult dyResult = JSONObject.parseObject(dyResultStr,DyResult.class);
 
@@ -167,7 +175,10 @@ public class SysLoginController
         if (dyResult.getDyToken().getError_code() != null){
             throw new CustomException("抖音授权登录无效,错误原因:"+dyResult.getDyToken().getDescription());
         }
-        String userInfoStr = dyService.getUserInfo(dyResult.getDyToken().getAccess_token(),dyResult.getDyToken().getOpen_id());
+        DyUserInfoDTO dyUserInfoDTO= new DyUserInfoDTO();
+        dyUserInfoDTO.setOpenid(dyResult.getDyToken().getOpen_id());
+        dyUserInfoDTO.setAccessToken(dyResult.getDyToken().getAccess_token());
+        String userInfoStr = dyService.getUserInfo(dyUserInfoDTO);
         DyUserInfoResult dyUserInfoResult = JSONObject.parseObject(userInfoStr,DyUserInfoResult.class);
 
         ServletUtils.getRequest().setAttribute("third","douyin");

+ 11 - 0
jkt-service/src/main/java/com/miaxis/wx/dto/DyTokenDTO.java

@@ -0,0 +1,11 @@
+package com.miaxis.wx.dto;
+
+import lombok.Data;
+
+@Data
+public class DyTokenDTO {
+    String clientKey;
+    String clientSecret;
+    String code;
+    String grantType;
+}

+ 9 - 0
jkt-service/src/main/java/com/miaxis/wx/dto/DyUserInfoDTO.java

@@ -0,0 +1,9 @@
+package com.miaxis.wx.dto;
+
+import lombok.Data;
+
+@Data
+public class DyUserInfoDTO {
+    String accessToken;
+    String openid;
+}

+ 6 - 9
jkt-service/src/main/java/com/miaxis/wx/service/DyService.java

@@ -2,10 +2,14 @@ package com.miaxis.wx.service;
 
 
 import com.miaxis.common.config.FeignConfig;
+import com.miaxis.common.core.domain.DyUserInfo;
+import com.miaxis.wx.dto.DyTokenDTO;
+import com.miaxis.wx.dto.DyUserInfoDTO;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 
 /**
@@ -18,16 +22,10 @@ import org.springframework.web.bind.annotation.RequestParam;
 public interface DyService {
     /**
      *  获取openid
-     * @param code
-     * @param grantType
      * @return
      */
     @PostMapping(value = "/oauth/access_token")
-    String getDyToken(
-            String clientKey,
-            String clientSecret,
-            String code,
-            String grantType);
+    String getDyToken(@RequestBody DyTokenDTO dyTokenDTO);
 
 
 
@@ -36,8 +34,7 @@ public interface DyService {
      */
     @PostMapping(value = "/oauth/userinfo")
     String getUserInfo(
-            String accessToken,
-            String openid
+            @RequestBody DyUserInfoDTO dyUserInfoDTO
     );