小程序雲開發
項目的三大板塊
數據庫
存儲
雲函數
數據庫
通過 wx.cloud.database().collection("list") 來導入數據庫
對數據的增刪改查
增: 需要通過e..detail.value來獲取增加的數據,通過data值來接收增加的數據,之後調用成功失敗的回調. 自動將數據保存到數據庫
刪:通過doc傳遞id,調用remove方法
改:通過doc傳遞id,調用update方法.通過data值來修改原有的數據
查:調用get方法
存儲
存儲指所有文件的存儲,且拿圖片爲例
wx.chooseImage({
count: 1,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success: res => { // 這裏使用箭頭函數,可以解決調用雲函數上傳數據的this執行問題
console.log('上傳圖片', res.tempFilePaths[0])
this.upLoadImg(res.tempFilePaths[0])
}
})
upLoadImg(fileURL) {
wx.cloud.uploadFile({
cloudPath: new Date().getTime() + 'qq.png', // 上傳至雲端的路徑 加一個時間戳
filePath: fileURL, // 小程序臨時文件路徑
success: res => {
// 返回文件 ID
console.log('上傳圖片的id', res.fileID)
this.setData({
imgURL: res.fileID // 將數據通過賦值的形式,渲染到頁面
})
},
fail: console.error
})
},
雲函數
1. 初步使用:在app.js初始化
// 雲函數端初始化
wx.cloud.init({
env: 'dev-yyy-a5xlr'
})
2. 在project.config.json 添加配置項
"cloudfunctionRoot": "/cloud",
3. 然後新建雲函數文件
4. 雲函數的修改每次都要上傳和部署
訂閱消息的實現
用戶授權
訂閱消息實現的前提,是用戶提前授權
wx.requestSubscribeMessage({
tmplIds: ['f0cH3FrHH02tE8YcEixva09B-BkdYYDISid1YmstQP4'],
success: res => {
console.log('授權成功', res)
},
fail: res => {
console.log('授權失敗', res)
}
})
訂閱消息模板
// 雲函數入口函數
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.subscribeMessage.send({
touser: event.openid, // 動態openid,如果想羣體發送模板,就傳入多個openid
page:'pages/index/index',
data:{
thing1: {
value: event.nameP // 動態數據
},
date3:{
value:'2020年3月23日 16:40'
},
thing4: {
value:'錢已經到賬'
}
},
templateId: 'f0cH3FrHH02tE8YcEixva09B-BkdYYDISid1YmstQP4'
})
console.log(result)
return result
}
catch (err) {
console.log(err)
return err
}
}