wx.login
调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户在当前小程序的唯一标识(openid)、微信开放平台账号下的唯一标识(unionid,若当前小程序已绑定到微信开放平台账号)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。code
用户登录凭证(有效期五分钟)。开发者需要在开发者服务器后台调用 code2Session,使用 code 换取 openid、unionid、session_key 等信息
示例代码
wx.login({
success (res) {
if (res.code) {
//发起网络请求
wx.request({
url: 'https://example.com/onLogin',
data: {
code: res.code
}
})
} else {
console.log('登录失败!' + res.errMsg)
}
}
})
根据code获取token,报{\"errcode\":40029,\"errmsg\":\"invalid code, rid: 6515357b-15f0e52f-024d7479\"}错误
rid有几种错误码:
rid: 64407db4-787c85db-334c5ff0 --- code过期
rid: 64407db4-6cdf4a6f-6f3f7836 ---code重复使用
rid: 64407db4-6f6c2ac3-12a35a73 ---code错误
检查有无以下问题:
前后端使用的appId是否一致,检查下是否code和appid不匹配,也就是这个code不是这个appid生成的。每次进入页面拿到code后,是否直接调接口使用,code有效期五分钟
检查过后是因为服务端的appId和本地的appId不一致导致的。
最后,将从微信服务器获取到的openid返回给小程序客户端,客户端可以自行处理这个openid。
需要注意的是,你需要在微信公众平台上创建小程序,并获取到小程序的appid和secret,用于后端服务器的验证和获取用户openid的请求中。
参考阅读
发表评论