小程序code换取openId

This commit is contained in:
张松 2025-03-07 13:48:15 +08:00
parent 5827c2dbcb
commit a795eb3c2c
3 changed files with 24 additions and 0 deletions

View File

@ -32,6 +32,17 @@ public class UserAuthorizationController {
return CzgResult.success(userAuthorizationService.login(userAuthorizationLoginDTO));
}
/**
* 通过code获取openId
* @param code code
* @param source 平台 wechat微信 支付宝alipay
* @return 返回openId
*/
@GetMapping("/openId")
public CzgResult<String> getOpenId(@RequestParam String code, @RequestParam String source) {
return CzgResult.success(userAuthorizationService.getOpenId(code, source));
}
/**
* 小程序登录
* @return 登录信息

View File

@ -9,4 +9,5 @@ import com.czg.account.dto.auth.UserAuthorizationLoginDTO;
public interface UserAuthorizationService {
LoginTokenDTO login(UserAuthorizationLoginDTO userAuthorizationLoginDTO);
String getOpenId(String code, String source);
}

View File

@ -16,6 +16,7 @@ import com.czg.sa.MyStpLogic;
import com.czg.sa.StpKit;
import com.czg.service.account.util.AlipayUtil;
import com.czg.service.account.util.WechatAuthUtil;
import org.checkerframework.checker.units.qual.C;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -32,6 +33,17 @@ public class UserAuthorizationServiceImpl implements UserAuthorizationService {
@Resource
private UserInfoService userInfoService;
@Override
public String getOpenId(String code, String source) {
String openId;
if (UserAuthSourceEnum.WECHAT.getValue().equals(code)) {
openId = wechatAuthUtil.getSessionKeyOrOpenId(code);
}else {
openId = alipayUtil.getOpenId(code);
}
return openId;
}
@Override
public LoginTokenDTO login(UserAuthorizationLoginDTO userAuthorizationLoginDTO) {