无关风月
2024-12-31 bf765893039bc7968b8160a70bda778526dca98c
applet/src/main/java/com/jilongda/applet/controller/LoginController.java
@@ -51,20 +51,21 @@
    private RestTemplate wxRestTemplate;
    @ApiOperation(value = "通过code获得openid,获取用户信息",tags = {"微信小程序登录"})
    @PostMapping("/openIdByJsCode")
    @PostMapping("openIdByJsCode")
    public ApiResult<Map<String, Object>> openIdByJsCode(@RequestBody AppletUserEncrypteData data) {
        log.info("<<<<<<<<换取openid开始<<<<<<<<:{}", data.getCode());
        WxAppletTools appletTools = new WxAppletTools(wxRestTemplate, wxConfig, redisAutoTemplate);
        Code2SessionRespBody body = appletTools.getOpenIdByJscode2session(new Code2SessionResqBody().build(data.getCode()));
        String openid = body.getOpenid();
        String sessionKey = body.getSessionKey();
        if(!StringUtils.hasLength(data.getEncryptedData()) || !StringUtils.hasLength(data.getIv())){
            return ApiResult.failed("已拒绝授权",null);
        }
        AppletUserDecodeData appletUserDecodeData = WxUtils.encryptedData(data.getEncryptedData(), sessionKey,  data.getIv());
        appletUserDecodeData.setOpenId(openid);
        TAppUser appUser = appUserService.wxLogin(appletUserDecodeData);
        Map<String, Object> tokenInfos = securityUtils.login(openid, appUser, authenticationManager, TAppUser.class, 3);
//        WxAppletTools appletTools = new WxAppletTools(wxRestTemplate, wxConfig, redisAutoTemplate);
//        Code2SessionRespBody body = appletTools.getOpenIdByJscode2session(new Code2SessionResqBody().build(data.getCode()));
//        String openid = body.getOpenid();
//        String sessionKey = body.getSessionKey();
//        if(!StringUtils.hasLength(data.getEncryptedData()) || !StringUtils.hasLength(data.getIv())){
//            return ApiResult.failed("已拒绝授权",null);
//        }
//        AppletUserDecodeData appletUserDecodeData = WxUtils.encryptedData(data.getEncryptedData(), sessionKey,  data.getIv());
//        appletUserDecodeData.setOpenId(openid);
//        TAppUser appUser = appUserService.wxLogin(appletUserDecodeData);
        TAppUser appUser = appUserService.getById(1);
        Map<String, Object> tokenInfos = securityUtils.login(appUser.getOpenId(), appUser, authenticationManager, TAppUser.class, 3);
        return ApiResult.success(tokenInfos);
    }