@ApiOperation(value="微信登陆",notes="微信登陆")
@ResponseBody
@RequestMapping(value="/login",method= RequestMethod.GET)
public void wxCallBack(HttpServletRequest request, HttpServletResponse response) throws IOException {
//获取access_token
String code = request.getParameter("code");
SysUserEntity dto=null;
Object user=null;
MsgEntity msg=new MsgEntity();
log.info("回调方法....获取用户信息注册");
log.info(code);
String avatar="";
System.out.println("没有user:"+user);
log.info(env.getProperty("wxopen.appid"));
log.info(env.getProperty("wxpay.appsecret"));
String url = "https://api.weixin.qq.com/sns/oauth2/access_token" +
"?appid=" + env.getProperty("wxlog.appid") +
"&secret=" + env.getProperty("wxlog.appsecret") +
"&code=" + code +
"&grant_type=authorization_code";
log.info(url);
String result = MyHttpUtils.doPost(url, "", Charset.forName("UTF-8").toString());
System.out.println("请求获取access_token:" + result);
//返回结果的json对象
JSONObject resultObject = JSON.parseObject(result);
SessionUtil.setSessionAttribute("OAuthAccessTokenStartTime", new Date());
SessionUtil.setSessionAttribute("OAuthAccessToken", resultObject.getString("access_token"));
//请求获取userInfo
String infoUrl = "https://api.weixin.qq.com/sns/userinfo" +
"?access_token=" + resultObject.getString("access_token") +
"&openid=" + resultObject.getString("openid") +
"&lang=zh_CN";
String resultInfo = MyHttpUtils.doPost(infoUrl, "", Charset.forName("UTF-8").toString());
JSONObject userMessageJsonObject = JSON.parseObject(resultInfo);
System.out.println(userMessageJsonObject);
if (userMessageJsonObject != null) {
try {
//此时已获取到userInfo,再根据业务进行处理
System.out.println("请求获取userInfo:" + userMessageJsonObject);
//用户昵称
String username = userMessageJsonObject.getString("nickname");
username = EmojiUtils.emojiChange(username);
//进行解码
System.out.println("username"+username);
String nickname = userMessageJsonObject.getString("nickname");
System.out.println("nickname"+nickname);
}}