报错日期:2021年4月6日
报错信息:[云函数] [login] 调用失败 Error: errCode: -404011 cloud function execution error | errMsg: cloud.callF....Error: errCode: -501000....
错误分析:
1、本地未安装nodejs、npm
2、云函数未安装wx-server-sdk依赖
3、云函数未上传
解决方法:
1、官网下载并安装nodejs。执行命令:node -v ,npm -v,检测是否安装成功。
2、设置npm为淘宝镜像,执行命令:npm config set registry https://registry.npm.taobao.org1,执行命令:npm config get registry检测是否设置成功。
3、打开微信小程序开发者工具,在cloudfunciton/login文件夹右击,选择“在外部终端窗口中打开”,执行命令:npm install --save wx-server-sdk@latest (一定要用npm,而非cnpm,此处大坑)。如果在login文件夹下生成package-lock.json文件,证明执行成功。
4、在cloudfunciton/login文件夹右击,选择“在外部终端窗口中打开”,执行初始化命令命令:npm init 。
5、在cloudfunciton/login文件夹右击,选择“上传并部署:云安装依赖(不上传node_modules)”,等待上传成功提醒。
6、在cloudfunciton/login文件夹右击,选择“上传并部署:所有文件”,等待上传成功提醒。
7、在模拟器中点击“点击获取openid”,如果可以正常获取,则证明操作无误。
此外:
1、需要为云函数配置环境。可以在miniprogram/app.js中,找到wx.cloud.init(),添加env:"环境ID"。环境ID可以在云开发面板中,点击设置,即可看到复制。
2、如若不执行本操作1,则默认第一个创建的环境。
安装wx-server-sdk成功后:
正常获取openid