“mitao”
2025-12-20 8832646742aff7d8ad37471f41350cd8950caf67
ruoyi-applet/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -24,8 +24,10 @@
import com.ruoyi.system.utils.wx.body.resp.Code2SessionRespBody;
import com.ruoyi.system.utils.wx.body.resq.Code2SessionResqBody;
import com.ruoyi.system.utils.wx.model.WeixinProperties;
import com.ruoyi.system.utils.wx.pojo.AppletUserDecodeData;
import com.ruoyi.system.utils.wx.pojo.AppletUserEncrypteData;
import com.ruoyi.system.utils.wx.tools.WxAppletTools;
import com.ruoyi.system.utils.wx.tools.WxUtils;
import com.ruoyi.web.controller.tool.MsgUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -149,20 +151,20 @@
        String openid = body.getOpenid();
        String sessionKey = body.getSessionKey();
        // 用户信息解密 数据验签
//        if (StringUtils.isNotBlank(data.getSignature())) {
//            WxUtils.verifySignature(data.getRawData(), sessionKey, data.getSignature());
//        }
//        if(StringUtils.isEmpty(data.getEncryptedData()) || StringUtils.isEmpty(data.getIv())){
//            return R.fail("已拒绝授权");
//        }
//        AppletUserDecodeData appletUserDecodeData = WxUtils.encryptedData(data.getEncryptedData(), sessionKey,  data.getIv());
//        appletUserDecodeData.setOpenId(openid);
       if (StringUtils.hasLength(data.getSignature())) {
           WxUtils.verifySignature(data.getRawData(), sessionKey, data.getSignature());
       }
       if(StringUtils.isEmpty(data.getEncryptedData()) || StringUtils.isEmpty(data.getIv())){
           return R.fail("已拒绝授权");
       }
       AppletUserDecodeData appletUserDecodeData = WxUtils.encryptedData(data.getEncryptedData(), sessionKey,  data.getIv());
       appletUserDecodeData.setOpenId(openid);
        // 先使用openId和当前手机号进行查询
        TAppUser sysAppUser = appUserService.getOne(Wrappers.lambdaQuery(TAppUser.class)
                .and(e->e.eq(TAppUser::getOpenid, openid)));
        if (sysAppUser==null){
            sysAppUser = new TAppUser();
//            sysAppUser.setPhoneNumber(appletUserDecodeData.getPhoneNumber());
           sysAppUser.setPhone(appletUserDecodeData.getPhoneNumber());
            sysAppUser.setOpenid(openid);
            // 手机号中间四位替换为*
//            sysAppUser.setNickName(appletUserDecodeData.getPhoneNumber().replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"));