前言
我們在做微信小程序開發的過程中,總會遇到各種奇葩的問題。今天就把我在小程序開發過程中遇到的各種問題,及對應的解決方案總結在這里,方便以后自己回顧,也方便大家查看。
云開發相關
一 云函數調用失敗問題
[云函數] [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,借助云函數。
這里說下借助云函數,因為你是沒有辦法直接修改別人的數據的,但是你借助云函數的話,就可以修改任何人的數據。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答