微信小程序
controller层
package com.binglian.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import com.binglian.common.BinglianJSONResult;
import com.binglian.common.HttpClientUtil;
import com.binglian.common.JsonUtils;
import com.binglian.common.RedisOperator;
import com.binglian.model.WXSessionModel;
@RestController
public class WXLoginController {
@Autowired
private RedisOperator redis;
@PostMapping("/wxLogin")
public BinglianJSONResult wxLogin(String code){
System.out.println("wxLogin - code:"+code);
// https://api.weixin.qq.com/sns/jscode2session?
// appid=APPID&
// secret=SECRET&
// js_code=JSCODE&
// grant_type=authorization_code
String url = "https://api.weixin.qq.com/sns/jscode2session";
Map<String, String> param = new HashMap<>();
param.put("appid", "wxfea30c0fc402f491");
param.put("secret", "ab9ec0556bbe1037fe308f85b6450aba");
param.put("js_code", code);
param.put("grant_type","authorization_code");
String wxResult = HttpClientUtil.doGet(url,param);
System.out.println(wxResult);
WXSessionModel model = JsonUtils.jsonToPojo(wxResult, WXSessionModel.class);
//存入session到redis
redis.set("user-redis-session:"+model.getSession_key(),
model.getOpenid(),
1000*60*30);
String key = redis.get("user-redis-session:"+model.getSession_key());
System.out.println(key);
return BinglianJSONResult.ok();
}
}
Redis缓存数据
String wxResult = HttpClientUtil.doGet(url,param); System.out.println(wxResult); WXSessionModel model = JsonUtils.jsonToPojo(wxResult, WXSessionModel.class); //存入session到redis redis.set("user-redis-session:"+model.getSession_key(), model.getOpenid(), 1000*60*30); String key = redis.get("user-redis-session:"+model.getSession_key());
接受json实体类
package com.binglian.model;
public class WXSessionModel {
private String session_key;
private String openid;
public String getSession_key() {
return session_key;
}
public void setSession_key(String session_key) {
this.session_key = session_key;
}
public String getOpenid() {
return openid;
}
public void setOpenid(String openid) {
this.openid = openid;
}
}