public R queryOpenId(@RequestParam String code) {
String codeUrl = String.format("https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code", APPID, APPSECRET, code);
HttpGet request = new HttpGet(codeUrl);
// 获得Http客户端(可以理解为:你得先有一个浏览器;注意:实际上HttpClient与浏览器是不一样的)
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
// 响应模型
CloseableHttpResponse response = null;
String openId = null;
OpenIdForm result = null;
try {
// 由客户端执行(发送)Get请求
response = httpClient.execute(request);
// 从响应模型中获取响应实体
HttpEntity responseEntity = response.getEntity();
String body = EntityUtils.toString(responseEntity);
log.debug("响应状态为:" + response.getStatusLine());
log.debug("响应内容为:" + body);
OpenIdForm openIdForm = JSONObject.parseObject(body, OpenIdForm.class);
if (StringUtils.isNotEmpty(openIdForm.getOpenid())) {
openId = openIdForm.getOpenid();
result = openIdForm;
}
} catch (Exception e) {
e.printStackTrace();
}finally {
HttpContextUtils.close(response);
HttpContextUtils.close(httpClient);
}
//openid为空
if (StringUtils.isEmpty(openId)) {
return R.error();
}
DesignerEntity user = designerService.getOne(new QueryWrapper<DesignerEntity>().eq("openId",openId));
return R.ok().put("openId",openId).put("user",user).put("result",result);
微信小程序根据code获取openid
最新推荐文章于 2024-03-19 22:52:44 发布