1、跟大家说下 微信授权的时候
过去code以后,再过去openid的时候,要自己缓存一下,不然每次都要获取code,公众号对此做限制了
所以进入一级菜单页面的时候 已经获取到了openid 所以当本次页面刷新的时候 如果还是通过code去过去 是获取不到的,所以此时 存入session中
String result = HttpUtils.httpsGet(sb.toString()); System.out.println("通过code换取token和openid:"+result); JSONObject js = new JSONObject().fromObject(result); if("".equals(openId) || openId == null){ openId = (String) js.get("openid"); } logger.info("openId:"+openId);
session.setAttribute("openId",openId);当第二次页面刷新的时候 先从session中判断是不是当前会话,
String openId =(String)session.getAttribute("openId"); if(openId ==null){ openId =""; }
这样就保证了页面刷新时,不用通过过期的code去获取openid了, 问题解决 嘻嘻。