小程序云函數(shù)調(diào)用失敗解決方案

問(wèn)題描述

以官方提供的“小程序云開(kāi)發(fā)快速啟動(dòng)模板”為例。
獲取openid失?。?/p>

云開(kāi)發(fā)模板測(cè)試界面

進(jìn)行“點(diǎn)擊獲取openid”測(cè)試失敗,出現(xiàn)下圖所示的提示,并且控制臺(tái)會(huì)提示以下錯(cuò)誤信息:
VM86:1 [云函數(shù)] [login] 調(diào)用失敗 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云函數(shù)調(diào)用失敗

出錯(cuò)原因

云端運(yùn)行環(huán)境為 Node.js,需要先在本地安裝 Node.jsnpm才能順利測(cè)試。同時(shí)還要在云函數(shù)目錄下安裝 wx-server-sdk 依賴:
npm install --save wx-server-sdk

詳細(xì)內(nèi)容參見(jiàn)官方文檔https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-server-api/

解決方案

  1. 安裝node.jsnpm
  • node.js 下載地址
    https://nodejs.org/en/
  • 安裝node.js時(shí)會(huì)同時(shí)安裝npm
  • 測(cè)試安裝是否成功
    安裝完成后打開(kāi)cmd:
    輸入node -v 來(lái)測(cè)試 node.js
    輸入npm -v 來(lái)測(cè)試 npm
  1. 安裝wx-server-sdk依賴。
  • 在cmd中首先通過(guò)cd 云函數(shù)路徑的命令,定位到云函數(shù)目錄,這里要定位到某個(gè)具體的云函數(shù)文件夾內(nèi),如login函數(shù)則要定位到login文件夾內(nèi)。然后再執(zhí)行npm install --save wx-server-sdk命令,安裝wx-server-sdk依賴。對(duì)于每一個(gè)你創(chuàng)建云函數(shù)都要安裝該依賴。

  • 如果在執(zhí)行安裝命令后出現(xiàn)類似錯(cuò)誤提示:rollbackFailedOptional: verb npm-session ****************,這是由于npm官方庫(kù)是國(guó)外的網(wǎng)站,在訪問(wèn)時(shí)可能由于網(wǎng)絡(luò)原因?qū)е庐惓!?br> 解決方案:執(zhí)行npm config set registry "http://registry.npm.taobao.org"命令,將官方庫(kù)替換為淘寶庫(kù)即可。

  • 執(zhí)行命令后可能會(huì)出現(xiàn)以下警告:

npm WARN **** No description 
npm WARN **** No repository field

直接忽略即可,并不會(huì)影響后續(xù)的云函數(shù)功能。成功安裝依賴后,相應(yīng)的云函數(shù)文件夾將生成一個(gè)package-lock.json文件。

安裝前的目錄
安裝后的目錄
  1. 上傳云函數(shù)
  • 在相應(yīng)的云函數(shù)文件夾上右鍵,選擇“上傳并部署:所有文件”。
上傳并部署
  1. 最終測(cè)試


    云開(kāi)發(fā)模板測(cè)試界面

    進(jìn)行“點(diǎn)擊獲取openid”測(cè)試,如圖所示,成功調(diào)用云函數(shù),并獲取openid,說(shuō)明開(kāi)發(fā)環(huán)境配置成功。


    成功調(diào)用login云函數(shù)并獲取到openid
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容