小程序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)); 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 登录信息 * @return 登录信息

View File

@ -9,4 +9,5 @@ import com.czg.account.dto.auth.UserAuthorizationLoginDTO;
public interface UserAuthorizationService { public interface UserAuthorizationService {
LoginTokenDTO login(UserAuthorizationLoginDTO userAuthorizationLoginDTO); 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.sa.StpKit;
import com.czg.service.account.util.AlipayUtil; import com.czg.service.account.util.AlipayUtil;
import com.czg.service.account.util.WechatAuthUtil; import com.czg.service.account.util.WechatAuthUtil;
import org.checkerframework.checker.units.qual.C;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -32,6 +33,17 @@ public class UserAuthorizationServiceImpl implements UserAuthorizationService {
@Resource @Resource
private UserInfoService userInfoService; 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 @Override
public LoginTokenDTO login(UserAuthorizationLoginDTO userAuthorizationLoginDTO) { public LoginTokenDTO login(UserAuthorizationLoginDTO userAuthorizationLoginDTO) {