Procházet zdrojové kódy

微信小程序获取openid

李进 před 2 roky
rodič
revize
fa78434ba9

+ 1 - 1
authorize-api-service/src/main/java/com/xy/third/config/ThirdLoginConfig.java

@@ -8,7 +8,7 @@ import java.util.List;
 
 @Data
 @Component
-@ConfigurationProperties(prefix = "third-login")
+@ConfigurationProperties(prefix = "third-service")
 public class ThirdLoginConfig {
 
     private Wx wx;

+ 0 - 21
authorize-api-service/src/main/java/com/xy/third/login/ThirdLoginServiceImpl.java

@@ -1,21 +0,0 @@
-package com.xy.third.login;
-
-import cn.dev33.satoken.stp.StpUtil;
-import com.xy.dto.ThirdLoginDto;
-import com.xy.service.ThirdLoginService;
-import com.xy.utils.R;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.stereotype.Service;
-
-@Service
-@Api(tags = "第三方登录")
-public class ThirdLoginServiceImpl implements ThirdLoginService {
-
-    @Override
-    @ApiOperation("登录")
-    public R<String> login(ThirdLoginDto thirdLoginDto) {
-        StpUtil.login(thirdLoginDto.getLoginId());
-        return R.ok(StpUtil.getTokenValue());
-    }
-}

+ 19 - 16
authorize-api-service/src/main/java/com/xy/third/service/wx/WxMaServiceImpls.java → authorize-api-service/src/main/java/com/xy/third/service/ThirdLoginServiceImpl.java

@@ -1,4 +1,4 @@
-package com.xy.third.service.wx;
+package com.xy.third.service;
 
 import cn.binarywang.wx.miniapp.api.WxMaService;
 import cn.binarywang.wx.miniapp.api.WxMaUserService;
@@ -9,35 +9,39 @@ import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
 import cn.binarywang.wx.miniapp.config.WxMaConfig;
 import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
 import cn.binarywang.wx.miniapp.util.WxMaConfigHolder;
-import com.xy.annotate.RestMappingController;
+import cn.dev33.satoken.stp.StpUtil;
 import com.xy.collections.map.JHashMap;
+import com.xy.dto.ThirdLoginDto;
+import com.xy.dto.WxMaDto;
+import com.xy.service.ThirdLoginService;
 import com.xy.third.config.ThirdLoginConfig;
-import com.xy.third.dto.wx.WxMaDto;
 import com.xy.utils.R;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
 import static com.xy.utils.Beans.copy;
 
-/**
- * 微信小程序
- *
- * @author lijin
- */
+@Service
 @AllArgsConstructor
-@Api(tags = "微信小程序")
-@RestMappingController("wx-ma")
-public class WxMaServiceImpls {
+@Api(tags = "第三方登录")
+public class ThirdLoginServiceImpl implements ThirdLoginService {
 
     private ThirdLoginConfig thirdLoginConfig;
 
-    @PostMapping("getUserInfo")
-    @ApiOperation("获取用户信息")
-    public R<WxMaDto.Vo> getUserInfo(@RequestBody @Validated WxMaDto.GetUserInfo getUserInfo) {
+    @Override
+    @ApiOperation("登录")
+    public R<String> login(ThirdLoginDto thirdLoginDto) {
+        StpUtil.login(thirdLoginDto.getLoginId());
+        return R.ok(StpUtil.getTokenValue());
+    }
+
+    @Override
+    @ApiOperation("获取用户信息-微信小程序")
+    public R<WxMaDto.Vo> getUserInfoWxMa(@RequestBody @Validated WxMaDto.GetUserInfo getUserInfo) {
         ThirdLoginConfig.Wx wx = thirdLoginConfig.getWx();
         WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
         config.setAppid(wx.getAppid());
@@ -64,5 +68,4 @@ public class WxMaServiceImpls {
             WxMaConfigHolder.remove();
         }
     }
-
 }

+ 3 - 1
authorize-api-service/src/main/java/com/xy/third/dto/wx/WxMaDto.java → authorize-api/src/main/java/com/xy/dto/WxMaDto.java

@@ -1,4 +1,4 @@
-package com.xy.third.dto.wx;
+package com.xy.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -17,8 +17,10 @@ public class WxMaDto {
         private String code;
 
         @ApiModelProperty("用户数据")
+        @NotBlank(message = "encryptedData不能为空")
         private String encryptedData;
 
+        @NotBlank(message = "iv不能为空")
         @ApiModelProperty("加密算法的初始向量")
         private String iv;
     }

+ 10 - 0
authorize-api/src/main/java/com/xy/service/ThirdLoginService.java

@@ -2,6 +2,7 @@ package com.xy.service;
 
 import com.xy.annotate.RestMappingController;
 import com.xy.dto.ThirdLoginDto;
+import com.xy.dto.WxMaDto;
 import com.xy.utils.R;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -21,4 +22,13 @@ public interface ThirdLoginService {
      */
     @PostMapping("login")
     R<String> login(@RequestBody @Validated ThirdLoginDto thirdLoginDto);
+
+    /**
+     * 获取用户信息-微信小程序
+     *
+     * @param getUserInfo
+     * @return
+     */
+    @PostMapping("getUserInfoWxMa")
+    R<WxMaDto.Vo> getUserInfoWxMa(@RequestBody @Validated WxMaDto.GetUserInfo getUserInfo);
 }