我在本地可以获得,用的是以下的方法:
getOpenId: function (code) {
var that = this;
wx.request({
url: "https://api.weixin.qq.com/sns/jscode2session?appid=小程序appid&secret=小程序应用密钥&js_code=" + code + "&grant_type=authorization_code",
data: {},
method: 'GET',
success: function (res) {
that.generateOrder(res.data.openid)
},
fail: function () {
// fail
},
complete: function () {
// complete
}
})
},
可是发布小程序后,无法获得用户的openid,在服务器统一下单时,总是提示:timeStamp为空。我怀疑其他字符串也为空(nonceStr,package等),不敢确认。请问问题的症结在哪里?有没有方法解决?
都没办法把api.weixin.qq.com配置成合法域名,
自然获取不到openid
https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html
这个接口是服务端的API 之前有见过在前端调用的没有问题啊可以获取的 只是为了保护密钥的安全才不建议在前端保存 还是好好查下自己的timeStamp设置问题吧
就是在本地可以发起支付,发布以后就不能支付了,小工具的错误信息是:Cannot read property 'timeStamp' of null,我怀疑不只是这个值为空,而是所有传来的值为空。那么再上推一步,我怀疑我没有得到openid,所以统一下单没有返回数据,不能发起第二次支付申请。