小程序如何使用雲函數?
創建目錄與雲函數
第一步,在微信開發者工具中創建目錄與新建nodejs雲函數
接下來,需要將此目錄在project.config.json中進行配置:
"cloudfunctionRoot": "./cloudfunction/"
如圖所示,就有這樣的一個雲開發目錄了:(不要忘記,在目錄右鍵選擇你當前環境哦^_^)
然后我們右鍵我們的cloudfunciton,選擇創建node.js雲函數,名字起名logins
創建完成后,它會自動幫助我們進行雲函數的部署,我們可以打開雲開發看到后端剛剛部署的雲函數:
並且在創建好的雲函數里面,小程序內部幫助實現了一些nodejs后端代碼:
// 雲函數入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 雲函數入口函數
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
return {
event,
openid: wxContext.OPENID,
appid: wxContext.APPID,
unionid: wxContext.UNIONID,
}
}
前端調用雲函數
當我們上傳好小程序后,前端其實可以配置兩個雲環境。但是如果配置了兩個雲環境(開發|生產),我們就必須在app.js文件中指明當前的雲環境的id才可以。
獲取環境id:
App({
onLaunch: function () {
if (!wx.cloud) {
console.error('請使用 2.2.3 或以上的基礎庫以使用雲能力')
} else {
wx.cloud.init({
// env 參數說明:
// env 參數決定接下來小程序發起的雲開發調用(wx.cloud.xxx)會默認請求到哪個雲環境的資源
// 此處請填入環境 ID, 環境 ID 可打開雲控制台查看
// 如不填則使用默認環境(第一個創建的環境)
env: 'demo123-3o9h6',
traceUser: true,
})
}
}
})
配置完成這些操作后,前端其實就可以調用我們雲函數logins了:
可以找到頁面的onReady這個鈎子函數,進行雲函數的調用:
onReady: function () {
wx.cloud.callFunction({
name: 'logins'
}).then(res=>{
console.log(res)
})
},
name就是我們當時創建的雲函數的名稱
res就是在雲函中return給我們的結果
接下來就會在控制台打印出相關的日志記錄: