1. project.config.json寫上雲函數所在目錄"cloudfunctionRoot": "cloudfunctions/",如圖
2. app.json寫上“cloud”:true,如圖
app.js寫上(這步是將用戶訪問記錄到用戶管理中,在控制台中可見)
onLaunch: function () { if (!wx.cloud) { console.error('請使用 2.2.3 或以上的基礎庫以使用雲能力') } else { wx.cloud.init({ traceUser: true, }) } },
3. 雲函數目錄右鍵新建node.js雲函數,填寫名字,並確認部署,等命令提示符弄完
(上面2步不知道在干啥)
4. 在目錄下新建一個文件夾,進入文件夾 編寫函數 index.js
// 雲函數入口文件 const cloud = require('wx-server-sdk') cloud.init();//初始化 const db = cloud.database() const _ = db.command // 雲函數入口函數 //event:觸發雲函數的事件 exports.main = async (event, context) => { const { OPENID, APPID, UNIONID } = cloud.getWXContext() return { OPENID, APPID, UNIONID, } }
5. 在需要調用雲函數的js里編寫 (可以傳參數,test為雲函數名)
調用文檔 : https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-client-api/functions/callFunction.html
/** * 生命周期函數--監聽頁面初次渲染完成 */ onReady: function () { wx.cloud.init() wx.cloud.callFunction({ name: 'test', complete: res => { console.log('callFunction test result: ', res) } }) },
6.運行
如果報錯: Error: errCode: -404011 cloud function execution error Cannot find module 'wx-server-sdk'
運行 : (我是本地安裝了node運行了下面依賴,然后同步上傳雲函數解決)
npm install --save wx-server-sdk@latest
轉: https://blog.csdn.net/qq_32117641/article/details/82879604
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html
遇到的錯誤和問題:
https://blog.csdn.net/New_Yao/article/details/84657774
報錯問題 : https://www.cnblogs.com/Guhongying/p/10828810.html
微信小程序雲函數報錯:Error: errCode: -404011 cloud function execution error Cannot find module 'wx-server-sdk'
npm install --save wx-server-sdk@latest
參考 :https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions/wx-server-sdk.html
報錯問題 : https://www.cnblogs.com/xiaojianwei/p/10107717.html
VM370:1 Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail cloud function service error code -504002, error
按照提示,“請先調用 init 完成初始化后再調用其他雲 API。init 方法可傳入一個對象用於設置默認配置”” 仔細一看,原來在雲函數的index.js里 在 cloud.init() 前就調用了雲函數的相關操作,所以導致錯誤!
我測試 雲函數和小程序調用前,都要運行初始化 wx.cloud.init()