微信小程式雲開發簡單入門教程
阿新 • • 發佈:2018-12-31
文章目錄
###開場白:
雲開發顧名思義 就是後端開發,應該是微信上週才推出的開放能力,現在這讓我想起了以前的leancloud,和更早的bmob了,而leancloud一早就開始支援微信小程式開發了,相比較而言,leancloud的資料應該更多些,但畢竟微信自家的產品,還是有必要試試的。
這邊總結一下使用體驗,首先微信的API有微信味,下面是初始化方法。
wx.cloud.init({
//環境ID
env: 'much-de492f',
//獲取呼叫api者的資訊
traceUser: true,
})
所以還是很方便的。其次是新增資料的時候是完全圖形化的的,這點很好。
###看的很清楚了
- 集合 = 表
- 記錄 = 資料元素
當然 資料庫只能建一個,第一次進來的時候是空的,新建的時候起好名字就行了。
###記得把IED升級到最新版本 才會有這個雲開發.
###其次將呼叫基礎庫也換成最新的
###如果你表也建好了 那麼剩下就是呼叫了
requestData: function() { wx.showLoading({ title: '載入中', }) var that = this; //resourceItem為表名 wx.cloud.database().collection('resourceItem').get({ success: function(res) { that.setData({ //res是json //res.data 是資料 //res.errMsg 提示 titleDatas: res.data }) console.log(JSON.stringify(res)) wx.hideLoading() } }) },
###如果出現[]空陣列情況:
一般是上面資料庫部分 的 許可權設定未修改
###後端雲分頁
不過後端雲都存在一個比較讓人惱火的問題,就是所有的邏輯都需要在前端處理,尤其是分頁,不管是lendCloud還是微信開發都沒有支援,那麼在建庫的時候就需要自己編寫ID,在獲取時用
where做過濾,雖然是一種解決方案,但是··我發現ID居然是一個隨機數! 不過不要緊,在索引管理裡面我們看到它時有升序的,虛驚一場,這樣我們只需要將最後一條ID進行比較即可實現分頁了。
###這裡給出解決方案
載入fun
requesListData: function(type) { var that = this //獲取相應型別的列表 wx.showLoading({ title: '載入中', }) console.log("type = " + type) var db = wx.cloud.database() const _ = db.command db.collection(type).limit(2).where({ _id: _.gt(this.data.lastId) }).get({ success: function(res) { wx.hideLoading() if (res.data.length == 0) { if (that.data.pageNum == 1) { that.data.listData = [] } that.data.hasMore = false } else { that.data.hasMore = true for (var i = 0; i < res.data.length; i++) { var data = res.data[i] that.data.listData.push(data) if (i + 1 == res.data.length) { that.data.lastId = data._id } } } that.setData({ listData: that.data.listData, selectedtype: type, pageNum: that.data.pageNum + 1, lastId: that.data.lastId, hasMore: that.data.hasMore }) }, fail: function(res) { //找不到該資料庫 console.log("===fail===" + res) wx.hideLoading() }, }) },
/**
* 頁面上拉觸底事件的處理函式
*/
onReachBottom: function() {
if (!this.data.hasMore) return;
var type = this.data.selectedtype
this.requesListData(type)
},
/**
* 頁面的初始資料
*/
data: {
hasMore: true,
lastId: '0',
selectedtype: 'book',
selectedTagId: '',
pageNum: 1,
},
核心程式碼 :gt()函式為找到比該ID大的元素(預設返回20條,這裡limit限制為兩條)
db.collection(type).limit(2).where({
_id: _.gt(this.data.lastId)
})
好了,微信雲開發簡單的入門教程就這麼多了。
###參考資料:
關注公眾號領取更多幹貨