微信小程序获取openid异步问题 有时候获取不到问题

微信小程序获取openid异步问题 有时候获取不到问题,第1张

获取 openid 我是直接使用小程序云函数中的login函数,在开发中,我是直接写在主页面的js中,很多函数都需要openid的值,有时候能获取到,有时候又不行,调试之后发现是获取getopenid的函数是异步,不能通过 onLoad() 方法直接获取,当onload函数启动后,下面直接顺序执行,openid还没获取到,下面的函数已经在执行了,这指明就是异步问题了。

我们雹逗烂要在 APP.js 中调用获源漏取 openid 云函数

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

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

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

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

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

以官方提供的“小程序云开发快速启动模板”为例。

获取openid失败:

进行“点饥铅击获取openid”测试失败,出现下图所示迹肢袜的提示,并且控制台会提示以下错误姿激信息:

VM86:1 [云函数] [login] 调用失败 Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail cloud function service error code -504002, error message Function not found: [login]at cloud.callFunction api

云端运行环境为 Node.js ,需要先在本地安装 Node.js 和 npm 才能顺利测试。同时还要在云函数目录下安装 wx-server-sdk 依赖:

npm install --save wx-server-sdk

详细内容参见官方文档 https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-server-api/

直接忽略即可,并不会影响后续的云函数功能。成功安装依赖后,相应的云函数文件夹将生成一个 package-lock.json 文件。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存