之前看微信小程序的时候,获取openid需要在wx.login中获取code再去换openid,然后啦啦啦啦啦啦的。所以我就按照文档说的开始请求,然后我是在小程序中用wx.request开始请求请求的是获取openid那个api,然后我进坑了,然后一跳就是跳了一天。之前在网上看到有人确实用wx.request进行获取的,也许以前是可以的吧实际结果咱也没看到,没赶上好时代。然而我的返回信息都是40013 invalid code这类的信息。后来有个朋友说他们都是将login时的code传给后端。既然有方法那就试试吧。我用了node和express,所以写了个接口为openid的接口。大致为:

app.post('/openid',function(){

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。 var code = req.body.code;//前端传来的code var appid = req.body.appid;//前端传来的appid var secret = req.body.secret;//前端传来的secret var access_token; var that = this; let url = 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appid + '&secret=' + secret + '&js_code=' + code + '&grant_type=authorization_code';//填好相应的code,最后一个不用变 request(url, function (err, response, body) {         //获取openid if (!err && res.statusCode == 200) { that.access_token = eval('(' + body + ')'); console.log(that.access_token.openid) res.send(that.access_token.openid) } else { console.log('er'r') } })

)

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄