这个太简单了,直接放代码了,通俗的讲就是根据客服端获取的code,来和微信开发平台换取
openId 和sessionKey 这两东西咋用就看开发者,openId是微信的唯一标识符,每个人都不一样(在同一个应用中每次登录是一样的)。
private String openid;
private String session_key;
//开发者平台申请
private String appId="";
private String secret="";
@GetMapping("/wxLogin")
private String login(String code) {
// 创建Httpclient对象
CloseableHttpClient httpclient = HttpClients.createDefault();
String resultString = "";
CloseableHttpResponse response = null;
String url="https://api.weixin.qq.com/sns/jscode2session?appid="+appId+"&secret="+secret+"&js_code="+code+"&grant_type=authorization_code";
try {
// 创建uri
URIBuilder builder = new URIBuilder(url);
URI uri = builder.build();
// 创建http GET请求
HttpGet httpGet = new HttpGet(uri);
// 执行请求
response = httpclient.execute(httpGet);
// 判断返回状态是否为200
if (response.getStatusLine().getStatusCode() == 200) {
resultString = EntityUtils.toString(response.getEntity(), "UTF-8");
}
} catch (Exception e) {
e.printStackTrace();
}
// 解析json
com.alibaba.fastjson.JSONObject jsonObject = (com.alibaba.fastjson.JSONObject) com.alibaba.fastjson.JSONObject.parse(resultString);
session_key = jsonObject.get("session_key")+"";
openid = jsonObject.get("openid")+"";
return resultString;
}