From 8a038cf6f0792cfe260a94e86d954b50f068e758 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 07 二月 2025 16:55:41 +0800 Subject: [PATCH] bug修改 --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java index 1765026..6db885e 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AliLoginController.java @@ -18,6 +18,7 @@ import com.ruoyi.account.api.model.TAppUser; import com.ruoyi.account.service.TAppUserService; import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.system.api.model.LoginUserApplet; @@ -49,17 +50,22 @@ @Autowired private TAppUserService appUserService; @ApiOperation(value = "通过code获得openid",tags = {"支付宝小程序登录"}) - @GetMapping("/openIdByJsCode") + @PostMapping("/openIdByJsCode") public AjaxResult<Map<String, Object>> openIdByJsCode(@RequestBody AppletUserLogin appletUserLogin){ log.info("<<<<<<<<换取openid开始<<<<<<<<:{}", appletUserLogin.getCode()); // 登录 AlipaySystemOauthTokenResponse response = new AliAppletTools(aliProperties).login(appletUserLogin.getCode()); if (response.isSuccess()) { // 获取用户信息 - AlipayUserInfoShareResponse userInfo = new AliAppletTools(aliProperties).getUserInfo(appletUserLogin.getToken()); - log.info("获取支付宝用户信息:{}", userInfo); +// AlipayUserInfoShareResponse userInfo = new AliAppletTools(aliProperties).getUserInfo(response.getAccessToken()); + if(StringUtils.isEmpty(appletUserLogin.getToken())){ + return AjaxResult.success("已拒绝授权"); + } + // 获取用户手机号 + String phoneNumber = new AliAppletTools(aliProperties).getPhoneNumber(appletUserLogin.getToken()); + log.info("获取支付宝用户信息:{}", phoneNumber); // 用户信息封装 - return AjaxResult.ok(appUserService.aliLogin(response,userInfo)); + return AjaxResult.success(appUserService.aliLogin(response,phoneNumber,appletUserLogin.getInviteUserId())); } else { String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response); log.warn("诊断结果:{}",diagnosisUrl); -- Gitblit v1.7.1