云數(shù)據(jù)庫
一:查詢云數(shù)據(jù)庫中的數(shù)據(jù)
// 1. 獲取數(shù)據(jù)庫引用
const db = wx.cloud.database()
// 2. 構(gòu)造查詢語句
// collection 方法獲取一個集合的引用
// where 方法傳入一個對象喳篇,數(shù)據(jù)庫返回集合中字段等于指定值的 JSON 文檔阅畴。API 也支持高級的查詢條件(比如大于昆汹、小于唇辨、in 等)秧均,具體見文檔查看支持列表
// get 方法會觸發(fā)網(wǎng)絡(luò)請求驯妄,往數(shù)據(jù)庫取數(shù)據(jù)
db.collection('books').where({
publishInfo: {
country: 'United States'
}
}).get({
success(res) {
// 輸出 [{ "title": "The Catcher in the Rye", ... }]
console.log(res)
}
})
云存儲
云開發(fā)提供了一塊存儲空間荷并,提供了上傳文件到云端、帶權(quán)限管理的云端下載能力青扔,開發(fā)者可以在小程序端和云函數(shù)端通過 API 使用云存儲功能源织。
在小程序端可以分別調(diào)用 wx.cloud.uploadFile 和 wx.cloud.downloadFile 完成上傳和下載云文件操作翩伪。下面簡單的幾行代碼,即可實現(xiàn)在小程序內(nèi)讓用戶選擇一張圖片谈息,然后上傳到云端管理的功能
二:
// 讓用戶選擇一張圖片
wx.chooseImage({
success: chooseResult => {
// 將圖片上傳至云存儲空間
wx.cloud.uploadFile({
// 指定上傳到的云路徑
cloudPath: 'my-photo.png',
// 指定要上傳的文件的小程序臨時文件路徑
filePath: chooseResult.tempFilePaths[0],
// 成功回調(diào)
success: res => {
console.log('上傳成功', res)
},
})
},
})
上傳完成后可在控制臺中看到剛上傳的圖片缘屹。
三:云函數(shù)
云函數(shù)是一段運行在云端的代碼,無需管理服務(wù)器侠仇,在開發(fā)工具內(nèi)編寫轻姿、一鍵上傳部署即可運行后端代碼。
小程序內(nèi)提供了專門用于云函數(shù)調(diào)用的 API逻炊。開發(fā)者可以在云函數(shù)內(nèi)使用
wx-server-sdk
提供的getWXContext
方法獲取到每次調(diào)用的上下文(appid
互亮、openid
等),無需維護復雜的鑒權(quán)機制余素,即可獲取天然可信任的用戶登錄態(tài)(openid
)豹休。
比如我們?nèi)缦露x一個云函數(shù),命名為 add 桨吊,功能是將傳入的兩個參數(shù) a 和 b 相加:
// index.js 是入口文件威根,云函數(shù)被調(diào)用時會執(zhí)行該文件導出的 main 方法
// event 包含了調(diào)用端(小程序端)調(diào)用該函數(shù)時傳過來的參數(shù),同時還包含了可以通過 getWXContext 方法獲取的用戶登錄態(tài) `openId` 和小程序 `appId` 信息
const cloud = require('wx-server-sdk')
exports.main = (event, context) => {
const {userInfo, a, b} = event
const {OPENID, APPID} = cloud.getWXContext() // 這里獲取到的 openId 和 appId 是可信的
const sum = a + b
return {
OPENID,
APPID,
sum
}
}
在開發(fā)者工具中上傳部署云函數(shù)后屏积,我們在小程序中可以這么調(diào)用:
wx.cloud.callFunction({
// 需調(diào)用的云函數(shù)名
name: 'add',
// 傳給云函數(shù)的參數(shù)
data: {
a: 12,
b: 19,
},
// 成功回調(diào)
complete: console.log
})
// 當然 promise 方式也是支持的
wx.cloud.callFunction({
name: 'add',
data: {
a: 12,
b: 19
}
}).then(console.log)
推薦微信小程序閱讀:
【十一】 10分鐘精通微信小程序 | 云函數(shù)管理端
【十】 10分鐘精通小程序 | 云函數(shù)異步返回結(jié)果
【九】10分鐘精通微信小程序 | 云函數(shù)
【八】 10分鐘精通微信小程序云存儲 | 云存儲
【七】10分鐘精通微信小程序 | 增刪改查
【六】10分鐘精通微信小程序 | 增刪改查
【五】10分鐘精通微信小程序 | 云數(shù)據(jù)庫增刪改查
【四】10分鐘精通微信小程序 | 云控制臺
【三】10分鐘精通微信小程序 | 光速入門
【二】10分鐘精通微信小程序云開發(fā) | 多圖上傳并存儲路徑到云數(shù)據(jù)庫
【一】10分鐘精通微信小程序 | 獲取用戶openid