E企盈营销工具技术服务商 热线:4006-838-530

微信小程序报错errcode:40163,errmsg:codebeenused

E企盈直播平台营销卖货系统

最近刚开始学习小程序,刚解决了一个前后端数据传递的问题,成功将用户信息存储到数据库,然后又遇到一个新的问题.问题:我使用getUserInfo来获取用户信息的,然而获取的信息里是没有唯一标识的,都无法作为主键,我后端是通过idWorker随机生成的id.没错,问题就是数据库数据会重复,因为我无法判断数据是否在数据库已经存在,在这样的情况下,我了解到了login方法,可以生成code进行解析,解析出openid,而openid是可以作为用户id存入数据库的,我跟着官方文档操作了一遍,具体流程就不放了,网上和文档介绍的都比较详细,.操作的比较成功,前后端都获取到了openid,但是获取完毕后前端又发送了一次请求,然后就这样了:前端:后端也是如此,于是我又一次面向百度编程.了解几点:1.code使用一次之后就失效2.5分钟有效期从后端打印数据也能看出,多次发请求但是我的url中的code并没有刷新,但是前端传递过来的code已经发生变化,所以报错了多次传递的code:url中的code:我的方法中是有将url替换的操作,就算每次传递进来的code是新的,我的url应该也会随之更新的,继续打断点,终于发现问题微信提供的url是这样的:GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code我的方法是这样的(因为url中只有code的值在变,所以我写在了yml中,方便使用):所以我的这个方法只能替换微信的这里的数据,当执行一次后JSCODE字符串已经被替换为上一次的code,所以再次执行时是没有JSCODE这个字符串的,因此url不会再变化.只需要略微修改即可:在创建get请求时执行replace方法,利用string数据的特性,原始的url是不会发生变化的.再次运行,结果如下:url随着code的更新也更新了,问题解决总结:其实我这问题纯粹是自己粗心造成的,和我一样的可能不多,但报这个错误的话可以多打印几次GET的url看一看,问题大概率是在这里.小程序

赞(0) 打赏
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » 微信小程序报错errcode:40163,errmsg:codebeenused
分享到: 更多 (0)
E企盈小程序直播营销卖货系统
E企盈直播平台营销卖货系统

评论 抢沙发

E企盈小程序开发

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏