☾ .背景
- 今天在进行小程序开发过程中,需要登录获取用户的
token
信息 - 当调用
wx.login
后,进一步需要根据所得的code
码进行登录凭证校验(包含 openid、session_key或者unionid等)
微信小程序官方文档 - wx.login
- 【更新
(2018-06-13)
】
提示:
如果自己的代码前一天没问题,第二天突然不能执行,我建议小程序移除这个项目,然后再新项目导入回去再测试,直接气疯了,今天就是这个问题,总报错errcode: 40029
,我认为就是 开发工具存在BUG !!!
☺. 我的问题/解决
- 其中,前提是我之前的代码可以实现想要的功能,而后期我需要更换新的小程序账号信息(app_id、app_secret)
此时,我将服务端的账号信息进行了替换,发现,会有下面的报错
errcode: 40029, errmsg: "invalid code, hints: [ req_id: HQd79a0747th31 ]
- 1
进一步借鉴网上的一些经验提示,需要对应替换掉小程序
project.config.json
文件中的appid
信息此时,如果只是重启了开发者工具,依旧还是没有解决问题,当然,清除全部缓存也无济于事
最后,我试着将开发者工具中的 此小程序项目删掉,然后重新导入打开
问题 神奇的解决了,可能是开发者工具存在着部分隐患
☹. 补充说明
- 可以认为这是小程序的一个
坑
- 官方对返回的信息有以下提示:
//正常返回的JSON数据包
{
"openid": "OPENID",
"session_key": "SESSIONKEY",
}
//满足UnionID返回条件时,返回的JSON数据包
{
"openid": "OPENID",
"session_key": "SESSIONKEY",
"unionid": "UNIONID"
}
//错误时返回JSON数据包(示例为Code无效)
{
"errcode": 40029,
"errmsg": "invalid code"
}
- 如果想获取上面的
UnionID
信息,需要在微信开放平台
进行小程序的账号绑定,否则无法获取
开发配置后,获取信息截图如下: