進行“點擊獲取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;
login雲函數調用失敗
出錯原因
雲端運行環境為 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/
解決方案
安裝node.js和npm
node.js 下載地址
https://nodejs.org/en/
安裝node.js時會同時安裝npm
測試安裝是否成功
安裝完成后打開cmd:
輸入node -v 來測試 node.js
輸入npm -v 來測試 npm
安裝wx-server-sdk依賴。
在cmd中首先通過cd 雲函數路徑的命令,定位到雲函數目錄,這里要定位到某個具體的雲函數文件夾內,如login函數則要定位到login文件夾內。然后再執行npm install --save wx-server-sdk命令,安裝wx-server-sdk依賴。對於每一個你創建雲函數都要安裝該依賴。
如果在執行安裝命令后出現類似錯誤提示:rollbackFailedOptional: verb npm-session ****************,這是由於npm官方庫是國外的網站,在訪問時可能由於網絡原因導致異常。
解決方案:執行npm config set registry "http://registry.npm.taobao.org"命令,將官方庫替換為淘寶庫即可。
執行命令后可能會出現以下警告:
npm WARN **** No description
npm WARN **** No repository field
直接忽略即可,並不會影響后續的雲函數功能。成功安裝依賴后,相應的雲函數文件夾將生成一個package-lock.json文件。
安裝前的目錄
安裝后的目錄
上傳雲函數
在相應的雲函數文件夾上右鍵,選擇“上傳並部署:所有文件”。
上傳並部署
最終測試
雲開發模板測試界面
進行“點擊獲取openid”測試,如圖所示,成功調用雲函數,並獲取openid,說明開發環境配置成功。
成功調用login雲函數並獲取到openid
