微信小程序:40029错误(invalid code)

微信小程序:40029错误(invalid code),第1张

做小程序授权登蠢罩录获取openid时遇到以下错误

{"errcode":40029,"errmsg":"invalid code, hints: [ req_id: m3yw8a0472th20 ]"}

在网上搜了下,有两种说法:1、code被使用了两次;2、appid与secret不一致

看了一下自己的项目,这两个错误都不是,后来在另一篇博文里看到只需要重新创建项目就可以了,试了一下,还真是。

仔细想了一下原因樱碰,当一开始创建项目的时候使用的是之前的appid,后来自己又在app.js里设置appid,但是这里设置没起作用,所有会报这脊档谈个错误。

微信小程序启动进行自动登录问题,偶尔提示code过期,是由于onLaunch启动进行自动登录时,code提交到服务端,还未返回结果,页面page上执行onload请求部分需要登录的接口--由于此时还未返回登录信息,--认为当前未登录--跳转到登录页,登录界面服务端返回自动登录用户信息,此时登录启棚手界面用户点击登和衡录按钮,提示code已被使用,无法在进行登录 *** 作,原理上就是onLaunch未执行完就执行了page--onload导致出现问题,解决办法,控制执行完onLaunch再去执行page--onload,有以下3中方法:

解决办法

定义回调函数, onload里获取不到东西就一直获取,不执行下一步 *** 作,直到获取到app.js的数据才继续执行。若login返回为空,则给app.js注册一个loginSuccessCallback回调,这个回调方法的执行时机,就是app.js中的异步请求完毕

把 app.js 中的 onLaunch 中方法拿到 index.js 文件中悄嫌,按照自己的逻辑写

使用promise

1.

2.

3.

微宽困信小程慎铅念序使用手机号第一次登录code失效,导激清致后端解密失效

官方文档

解决办法

将wx.login 提取出来,先一步执行,防止登录态刷新,

然后获取手机号的方法进行登录


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12424887.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存