最(zui)新更新的微信 web 開發者工(gong)具支持了云開發
和之前免(mian)費提供的(de)(de)自動(dong)部(bu)署的(de)(de)測試環境不同,這次是生產和開發都不需要一臺(tai)獨(du)立(li)的(de)(de)服(fu)務器了
取而代之的是云(yun)文件(jian),云(yun)函數和(he)云(yun)數據庫(和(he) Bmob 云(yun)有(you)點像)
更新到最(zui)新的微信 web 開(kai)發者工具就行了
//developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html
新(xin)建項目,使用云開發快速(su)啟動項目模(mo)(mo)板(必(bi)須是自己(ji)的 APPID,測(ce)試(shi) APPID 沒(mei)有(you)這(zhe)個(ge)模(mo)(mo)板)



其實就是一個在小程序中使用比較(jiao)方便的對象存(cun)儲
API
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('結束調用')
}
})
}
})
云(yun)函(han)數(shu)在本地(di)編寫,上傳(chuan)到(dao)云(yun)端的 Node.js 運行(xing)環境中執行(xing),然后返回結果。可(ke)以通過云(yun)函(han)數(shu)后端 SDK 搭(da)配使用多種服務,比如(ru)數(shu)據(ju)庫(ku)和存儲 API(wx-server-sdk)。
定義(yi)云函(han)數(shu)存放目錄

云(yun)函數根目錄下的第一級目錄(云(yun)函數目錄)是(shi)與云(yun)函數名字相同的,如(ru)果函數已經上傳到(dao)云(yun)端(duan)運行環(huan)境,則會有(you)一個特殊的云(yun)圖標

云函數代碼

調用代碼
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)
}
})
輸出結(jie)果存放在 res.result 中(zhong),為(wei)了看出 event 和 context 的(de)作用,在返(fan)回結(jie)果中(zhong)順(shun)便(bian)返(fan)回了這兩個(ge)內容,打印(yin)了出來
可以看(kan)到,event 就是傳入的參數,同時(shi)會自動(dong)添加 userInfo 信息。context 是云函(han)數的運(yun)行環(huan)境參數
{
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
}
官方(fang)介紹說是云(yun)開發提供了一個 JSON 數據庫,使(shi)用起來(lai)也很簡單
先創建一(yi)個集合,也就(jiu)是數據庫(ku)的table吧(ba)

但(dan)是(shi)并不要求是(shi)每一行的數據結(jie)構都一樣
