时间:2020-11-22 22:30:20 | 栏目:JavaScript代码 | 点击:次
前言
我们在做微信小程序开发的过程中,总会遇到各种奇葩的问题。今天就把我在小程序开发过程中遇到的各种问题,及对应的解决方案总结在这里,方便以后自己回顾,也方便大家查看。
云开发相关
一 云函数调用失败问题
[云函数] [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数据时报如下错误
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,借助云函数。
这里说下借助云函数,因为你是没有办法直接修改别人的数据的,但是你借助云函数的话,就可以修改任何人的数据。