后台程序要提交的登录信息

String WECHAT_LOGIN="https://api.weixin.qq.com/sns/jscode2session";
后台程序的值注入
- 打开application.yml文件,添加小程序的app-id 和 app-secret


@Override
public Map<String, Object> wxLogin(WechatLoginDTO dto) {
HashMap map = new HashMap();
map.put("appid", appId); //app_id
map.put("secret", appSecret); //app_secret
map.put("js_code", dto.getCode()); //微信code
map.put("grant_type", "authorization_code"); // 默认参数
String response = HttpUtil.post(UrlConstant.WECHAT_LOGIN, map);
JSONObject json = JSONUtil.parseObj(response);
String openId = json.get("openid", String.class);
String sessionKey = json.get("session_key", String.class);
// System.out.println(openId);
// System.out.println(sessionKey);
if (openId == null || openId.length() == 0) {
throw new RenException("open_id不存在");
}
UserEntity user = new UserEntity();
user.setOpenId(openId);
QueryWrapper wrapper = new QueryWrapper();
wrapper.setEntity(user);
int count = baseDao.selectCount(wrapper);
System.out.println(count);
if (count == 0) {
user = new UserEntity();
user.setOpenId(openId);
user.setNickName(dto.getNickName());
user.setPhoto(dto.getPhoto());
user.setCreateDate(new Date());
baseDao.insert(user);
}
user = new UserEntity();
user.setOpenId(openId);
wrapper = new QueryWrapper(user);
user = baseDao.selectOne(wrapper);
//获取登录token
TokenEntity tokenEntity = tokenService.createToken(user.getId());
Map<String, Object> map2 = new HashMap<>(2);
map2.put("token", tokenEntity.getToken());
map2.put("expire", tokenEntity.getExpireDate().getTime() - System.currentTimeMillis());
return map;
}