用户登录小程序时,会根据微信传来的code,到后台调用小程序登录API,获取用户OpenId等信息(同一用户在不同小程序上的openId是不一致的),录入用户表备用。
获取方法如下:
//从配置文件中读取appid等数据
private staticString APPID= SystemTool.getWXProp("appid");// APPID
private static String APP_SECRET = SystemTool.getWXProp("appsecret");// APP_SECRET
private static String MCH_ID = SystemTool.getWXProp("mch_id");// 商户id
private static String SHOPKEY = SystemTool.getWXProp("key");// 商户密钥
// 微信小程序获取openId和session的Url
private static String OPEN_SESSION_URL = "https://api.weixin.qq.com/sns/jscode2session?appid=" +APPID+"&secret=" +APP_SECRET
+"&js_code={JSCODE}&grant_type=authorization_code";
public static OpenSessionVo getOpenSessionVo(String jsCode) throws Exception {
if (StringUtils.isBlank(jsCode))
return null;
Stringurl= OPEN_SESSION_URL.replace("{JSCODE}", jsCode);
Stringresult=null;
result = HttpUtils.httpsRequest(url, "GET", "");
System.out.println("OpenSessionVo接口返回:"+result);
OpenSessionVovo = JSON.parseObject(result, OpenSessionVo.class);
System.out.println("用户openId为:"+vo.getOpenid());
return vo;
}