wx.cloud.init({
//环境ID
env: 'much-de492f',
//获取调用api者的信息
traceUser: true,
})
所以还是很方便的。其次是添加数据的时候是完全图形化的的,这点很好。
###看的很清楚了
###如果你表也建好了 那么剩下就是调用了
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)
})
好了,微信云开发简单的入门教程就这么多了。
###参考资料: