小程式開發之雲函式
阿新 • • 發佈:2018-12-27
小程式開發提供了雲函式的功能, 把函式寫好, 上傳至雲,然後就能像呼叫本地函式一樣呼叫雲函數了,涉及到一些密匙之類的不妨試試放在雲端呼叫更安全, 是不是很神奇讓我們來看看吧!
一 新建專案,建議自己申請一個賬號,用測試賬號是沒有云開發的選項的,下圖這個
二 點選雲開發 , 按要求填寫引數生成雲開發例項,很簡單
三 需要看下project.config.json(一般在專案的根目錄下) 中的雲函式根目錄, 沒有也可以生成一個,如下
{ "miniprogramRoot": "miniprogram/", //小程式的根目錄 "cloudfunctionRoot": "cloudfunctions/", //雲函式的根目錄 所有的雲函式都在這個目錄下 "setting": { //基礎配置 "urlCheck": true, "es6": true, "postcss": true, "minified": true, "newFeature": true }, "appid": "wx5f7f013e847d189d", "projectname": "say_eat", "libVersion": "2.2.5", }
四 定義雲函式,並上傳至雲端(前提已經設定好了雲開發的配置),我們在cloudfunctions目錄下試著定義一個計算兩個數相乘的方法
右擊cloudfunctions建立雲函式,裡邊會自帶index.js 和package.jsjon 自己修改下
// index.js 是入口檔案,*必須定義並匯出main函式,雲函式被呼叫時會執行該檔案匯出的 main 方法 // event 包含了呼叫端(小程式端)呼叫該函式時傳過來的引數,同時還包含了可以通過 getWXContext 方法獲取的使用者登入態 `openId` 和小程式 `appId` 資訊 // 目錄結構是 cloudfunctions/multiplication/index.js const cloud = require('wx-server-sdk') exports.main = (event, context) => { let { a, b} = event; let { OPENID, APPID } = cloud.getWXContext() // 這裡獲取到的 openId 和 appId 是可信的 let product = a * b; return { //這裡定義返回的物件,也可以是變數,在後邊的success中接受到 OPENID, APPID, product } }
六 最後一步開始呼叫啦
//呼叫分兩種 回撥 和 promise , 都差不多啦, 這裡是沒有 wx.cloud.callFunction({ // 需呼叫的雲函式名 name: 'multiplication', // 傳給雲函式的引數 也就是上邊的event物件 data: { a: 12, b: 19, }, // 成功回撥 success: res => { console.log(res); }, fail: err => { console.error('[雲函式] [login] 呼叫失敗', err) } }) // 當然 promise 方式也是支援的 wx.cloud.callFunction({ name: 'multiplication', data: { a: 12, b: 19 } }).then(console.log) .catch(console.log)
到這裡一個雲函式就定義完畢了, 是不是很簡單呢,如果有什麼問題,歡迎留言.
感謝您的閱讀!如果文章中有任何錯誤,或者您有更好的理解和建議,歡迎和我聯絡!