你将掉进的小程序云开发第一个坑-上传云函数login失败
发布于 6 年前 作者 juanfang 2652 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)

Error:getTcbFuncInfo fail

code: ResourceNotFound.Function message:函数不存在

按照下方网友的建议,在云开发控制台建立名为login的云函数后。

重新上传login函数,成功了!


再次尝试获取openid,但是仍然失败,显示“调用失败,请检查login云函数是否已部署”。


经过反复尝试,终于发现一个可能的原因:当前环境原来直接命名的“test",不知道是否与保留字冲突了,切换成另一个不同名的环境,重新上传,成功!

  • 预期表现

正常上传成功(已成功)

正常获取openid(失败)

  • 复现路径

  • 提供一个最简复现 Demo

没有任何改动,基于此教程:小程序云开发实践

4 回复

你在云函数手动添加一个login在上传

这是已知问题,官方还在修复,临时解决办法是在云开发控制台新建云函数,然后再回到IDE上传部署

我遇到过类似的问题。
 无法直接创建并部署云函数。
     必须在在云开发控制台建立同名的云函数后,才能上传。然后我把开发者工具从nightly版本换为更稳定的RC版本后,就可以创建上传了。
       然后,我进一步发现,还是不能用。然后依据官方文档云调用一节 “首先云函数中需要使用版本号至少 0.4.0wx-server-sdk,建议 wx-server-sdk 始终保持最新,保证云函数目录下的 package.jsonwx-server-sdk 字段为 latest,如本地安装依赖,请执行 npm install --save wx-server-sdk@latest。” 搜索安装node,对单独的云函数文件夹,执行命令,实现了本地安装依赖,并成功本地调试。但是线上调用还是失败。
      然后我又查到,在小程序miniprogram的文件夹内的app.js的wx.cloud.init内添加字段env:xxxx(环境ID,不是名字) 来指定你要运行miniprogram的环境。然后再运行就成功了。如果不指定的话,会默认在第一次创建的环境里运行,官方如是说。

回到顶部