我遇到过类似的问题。 无法直接创建并部署云函数。 必须在在云开发控制台建立同名的云函数后,才能上传。然后我把开发者工具从nightly版本换为更稳定的RC版本后,就可以创建上传了。 然后,我进一步发现,还是不能用。然后依据官方文档云调用一节 “首先云函数中需要使用版本号至少 [代码]0.4.0[代码] 的 [代码]wx-server-sdk[代码],建议 [代码]wx-server-sdk[代码] 始终保持最新,保证云函数目录下的 [代码]package.json[代码] 的 [代码]wx-server-sdk[代码] 字段为 [代码]latest[代码],如本地安装依赖,请执行 [代码]npm install --save wx-server-sdk@latest[代码]。” 搜索安装node,对单独的云函数文件夹,执行命令,实现了本地安装依赖,并成功本地调试。但是线上调用还是失败。 然后我又查到,在小程序miniprogram的文件夹内的app.js的wx.cloud.init内添加字段env:xxxx(环境ID,不是名字) 来指定你要运行miniprogram的环境。然后再运行就成功了。如果不指定的话,会默认在第一次创建的环境里运行,官方如是说。
关于云函数调用失败问题[图片] 云函数是这么写的: // 云函数入口文件 const cloud = require('wx-server-sdk') const db = cloud.database(); const _ = db.command; cloud.init() /** * 此函数用于向云数据库插入用户每周记录的体重情况 * 输入:插入时间、体重、身高 * 唯一标识:用户的openid */ // 云函数入口函数 exports.main = async (event, context) => { const wxContext = cloud.getWXContext(); const time = event.time; const openid = wxContext.OPENID; const weight = event.weight; const height = event.height; const res = await db.collection("weight_record").add({ data: { _openid: openid, time: time, weight: weight, height: height } }); console.log(openid); console.log(height); console.log(weight); return { event, openid: wxContext.OPENID, appid: wxContext.APPID, unionid: wxContext.UNIONID, } } //调用云函数 [图片] 也在app初始化时配置好了云环境id,以前没什么问题,版本一更新就不行了,求解答,谢谢
2019-04-28我遇到过类似的问题。 无法直接创建并部署云函数。 必须在在云开发控制台建立同名的云函数后,才能上传。然后我把开发者工具从nightly版本换为更稳定的RC版本后,就可以创建上传了。 然后,我进一步发现,还是不能用。然后依据官方文档云调用一节 “首先云函数中需要使用版本号至少 [代码]0.4.0[代码] 的 [代码]wx-server-sdk[代码],建议 [代码]wx-server-sdk[代码] 始终保持最新,保证云函数目录下的 [代码]package.json[代码] 的 [代码]wx-server-sdk[代码] 字段为 [代码]latest[代码],如本地安装依赖,请执行 [代码]npm install --save wx-server-sdk@latest[代码]。” 搜索安装node,对单独的云函数文件夹,执行命令,实现了本地安装依赖,并成功本地调试。但是线上调用还是失败。 然后我又查到,在小程序miniprogram的文件夹内的app.js的wx.cloud.init内添加字段env:xxxx(环境ID,不是名字) 来指定你要运行miniprogram的环境。然后再运行就成功了。如果不指定的话,会默认在第一次创建的环境里运行,官方如是说。
你将掉进的小程序云开发第一个坑-上传云函数login失败- 当前 Bug 的表现(可附上截图) Error:getTcbFuncInfo fail code: ResourceNotFound.Function message:函数不存在 [图片] 按照下方网友的建议,在云开发控制台建立名为login的云函数后。 [图片] 重新上传login函数,成功了! [图片] 再次尝试获取openid,但是仍然失败,显示“调用失败,请检查login云函数是否已部署”。 [图片] 经过反复尝试,终于发现一个可能的原因:当前环境原来直接命名的“test",不知道是否与保留字冲突了,切换成另一个不同名的环境,重新上传,成功! [图片] - 预期表现 正常上传成功(已成功) 正常获取openid(失败) - 复现路径 无 - 提供一个最简复现 Demo 没有任何改动,基于此教程:小程序云开发实践
2019-04-28