登陆时总是报错 invalid code
https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html 一直报错 error_code: 40029 ,我完全按照文档编写的代码 前端代码: doLogin: function (e) {
wx.login({
success: function(res) {
console.log(res)
// 获取登录的临时凭证
var code = res.code;
// 调用后端,获取微信的session_key, secret
wx.request({
url: "http://localhost:8081/wxLogin?code=" + code,
method: "POST",
success: function(result) {
console.log(result);
app.setGlobalUserInfo(e.detail.userInfo);
wx.redirectTo({
url: '../index/index',
})
}
})
}
})
}
后端代码:
@PostMapping("/wxLogin")
public IMoocJSONResult wxLogin(String code) {
System.out.println("wxlogin - code: " + code);
String url = "https://api.weixin.qq.com/sns/jscode2session";
Map<String, String> param = new HashMap<>(8);
param.put("appid", "xxxxxxx");
param.put("secret", "xxxxxxxxxxxx");
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
assert model != null;
redis.set("user-redis-session:" + model.getOpenid(),
model.getSession_key(),
1000 * 60 * 30);
return IMoocJSONResult.ok();
}