小程序云开发小程序

微信小程序云开发云函数常见问题及解决方案

2019-11-14  本文已影响0人  编程小石头666

我们在做微信小程序云开发的过程中,总会遇到各种奇葩的问题。今天就把我在小程序云开发过程中遇到的各种问题,及对应的解决方案总结在这里,方便以后自己回顾,也方便大家查看。

一,云函数调用失败问题(404011)

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


通常出现这种问题无非是下面2个原因
1,云函数没有部署,或者没有部署成功
2,你创建了多个云开发环境,没有配置对应的环境id

下面就针对这两个问题,具体说下解决方案

1,云函数没有部署,或者没有部署成功

选中我们要部署的云函数,右键,如上图红色框里所示。如果点一次不能上传,就多点几次,一直到出现下面提示框为止


2,你创建了多个云开发环境,没有配置对应的环境id

如果你创建了多个云开发环境,有时候开发者工具会脑残的不知道该选择使用那个云开发环境,这个时候,我们就要指定云开发环境了。



如果你是多个开发环境,一定要注意环境名,和环境id必须一一对应。

二,云数据库set或者update数据时报如下错误(502001)

Error: errCode: -502001 database request fail | errMsg: [FailedOperation.Insert] multiple write errors: [{write errors: [{E11000 duplicate key error collection: tnt-12p3936xo.x-j-l index: id dup key: { : "xjl" }}]}, {<nil>}]
详细错误如下图:

错误原因

造成这种错误的主要原因是因为,你修改的这条数据不是你创建的。我们直接操作云数据库时,在数据库里设置里如下权限。


这个权限只能让你读所有人的数据,但是修改的话,你还是只能修改自己创建的数据。什么样的数据才是自己创建的呢。如下图。


所以到这里我们就大概明白如何解决这个问题了。

解决方案

1,把_openid改为自己的openid
2,借助云函数。
这里说下借助云函数,因为你是没有办法直接修改别人的数据的,但是你借助云函数的话,就可以修改任何人的数据。

三,云函数老是不能上传成功,或者上传成功后是错误的。


如果你上传云函数老是报上面的错误,就先关闭开发者工具。然后再打开,开发者工具,进入云开发管理界面,把错误的云函数删除了。



然后再到你的代码目录里做下同步。



这样我们就可以重新上传我们的pay函数了。

上传云函数时,一定要记得选择如上图箭头所指的。

上传的时候,会有下面这个提示,可以忽略不管。


出现下图就代码你云函数上传成功了。

四, -404011 error message wx is not defined


问题是出在云函数里,就是你在云函数里使用数据库请求的时候代码写成下面这样了。


解决方法

我们在云函数里使用cloud.database时,不用再写wx.cloud了,直接写成cloud.database就可以了。只有在小程序的页面的js里使用时,才需要写成 wx.cloud.database******

五,-502005 Db or Table not exist. Please check your request, but if the problem cannot be solved, contact us

错误信息如下图所示



其实这个问题算是官方的一个bug,因为我在app.js里已经初始化过了,但是这里找不到db或者数据表的原因还是因为我没有初始化过。奇怪的是这个问题我电脑上是没问题的,但是我的一些学员电脑上就会有这个问题。


解决方法

这个解决方法就是在你云函数里再做下初始化。


云开发视频讲解

https://edu.csdn.net/course/detail/9604

持续更新中。。。。。。

有关于小程序的问题可以加我微信 2501902696(备注小程序)

上一篇下一篇

猜你喜欢

热点阅读