小程式-雲開發
最新更新的微信 web 開發者工具支援了雲開發
和之前免費提供的自動部署的測試環境不同,這次是生產和開發都不需要一臺獨立的伺服器了
取而代之的是雲檔案,雲函式和雲資料庫(和 Bmob 雲有點像)
更新到最新的微信 web 開發者工具就行了
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html
開通
新建專案,使用雲開發快速啟動專案模板(必須是自己的 APPID,測試 APPID 沒有這個模板)
雲檔案
其實就是一個在小程式中使用比較方便的物件儲存
wx.cloud.uploadFile // 如果上傳至同一路徑則是覆蓋寫 wx.cloud.downloadFile wx.cloud.deleteFile wx.cloud.deleteFile
圖片上傳 Demo
wx.chooseImage({ success: function(res) { // 獲取檔案路徑 const filePath = res.tempFilePaths[0] // 定義上傳位置,不要以/開頭 const cloudPath = 'upload/test.png' wx.cloud.uploadFile({ filePath: filePath, cloudPath: cloudPath, success: res => { console.log('[上傳檔案] 成功:', res) }, fail: e => { console.error('[上傳檔案] 失敗:', e) }, complete: () => { console.log('結束呼叫') } }) } })
雲函式
雲函式在本地編寫,上傳到雲端的 Node.js 執行環境中執行,然後返回結果。可以通過雲函式後端 SDK 搭配使用多種服務,比如資料庫和儲存 API(wx-server-sdk)。
定義雲函式存放目錄
雲函式根目錄下的第一級目錄(雲函式目錄)是與雲函式名字相同的,如果函式已經上傳到雲端執行環境,則會有一個特殊的雲圖標
雲函式程式碼
呼叫程式碼
wx.cloud.callFunction({ name: 'sum', data: { a: 1, b: 2 }, success: res => { console.error('[雲函式] [sum] 呼叫成功:', res) console.log(JSON.stringify(res.result)) }, fail: err => { console.error('[雲函式] [sum] 呼叫失敗:', err) } })
輸出結果存放在 res.result 中,為了看出 event 和 context 的作用,在返回結果中順便返回了這兩個內容,列印了出來
可以看到,event 就是傳入的引數,同時會自動新增 userInfo 資訊。context 是雲函式的執行環境引數
{ event: { a: 1, b: 2, userInfo: { appId: 'xxxxx', openId: 'xxxxxx' } }, context: { callbackWaitsForEmptyEventLoop: false, memory_limit_in_mb: 256, time_limit_in_ms: 20000, request_id: '422e93b4-b5db-11e8-b8a8-525400e8849e', environ: 'xxxx' }, sum: 3 }
資料庫
官方介紹說是雲開發提供了一個 JSON 資料庫,使用起來也很簡單
先建立一個集合,也就是資料庫的table吧
但是並不要求是每一行的資料結構都一樣
待續....