小程序云函数调用失败解决方案

小程序云函数调用失败解决方案,第1张

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

获取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 文件。

1 开通云开发

2 app.js

3 新建目录(云函数根目录),project.config.json中cloudfunctionRoot指定刚新建的根目录名称。

4 新建云函数,在云函数根目录右击,新建Node.js 云函数。编写。

5 调用

小程序代码中无法直接修改他人创建的数据记录

例如:数据库表中的_openid字段是自动生成的,哪个用户创建的记录这个openid就是用户的openid,云数据库的权限分配也是根据openid来进行的。

解决方案:

第一步:创建云函数,在函数中编写修改数据库的 *** 作代码

//

云函数入口文件

const

cloud

=

require('wx-server-sdk')

cloud.init()

const

db

=

cloud.database()

const

_

=

db.command

//

云函数入口函数

exports.main

=

async

(event,

context)

=>

{

try

{

return

await

db.collection('表名').doc('id字段').update({

//

data

传入需要局部更新的数据

data:

{

isHave:

true

}

})

}

catch

(e)

{

console.error(e)

}

}

提示:小程序传入云函数的参数在event中,使用方法:event.参数名称。

第二步:将云函数上传并部署到云

提示:右键创建的云函数--选择“上传并部署”

第三步:小程序调用该函数

wx.cloud.callFunction({

//

云函数名称

name:

'云函数名称(即创建云函数时的名称)',

//

传给云函数的参数

data:

{

a:

1

},

success:

function

(res)

{

console.log(res)

},

fail:

console.error

})

以上所述是小编给大家介绍的微信小程序云开发修改云数据库中的数据方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:小程序云开发获取不到数据库记录的解决方法小程序云开发实现数据库异步 *** 作同步化微信小程序云开发之数据库 *** 作微信小程序云开发实现云数据库读写权限微信小程序云开发之使用云数据库微信小程序云开发(数据库)详解解决微信小程序云开发中获取数据库的内容为空的方法详解小程序云开发数据库


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存