首页中有

  • 搜索框模块
  • 轮播图模块
  • 正在上映电影模块
  • 即将上映电影模块
  • 豆瓣电影Top250一共5个模块

  • 正在上映电影
  • 即将上映电影
  • 豆瓣电影Top250模块的数据

分别从数据库的

  • in_theaters
  • coming_soon
  • top250 3个集合中获取

在data的boards属性中定义3个集合的名称,修改index.js,代码如下

  1. data: {
  2. boards: [
  3. { key: 'in_theaters' },
  4. { key: 'coming_soon' },
  5. { key: 'top250' }
  6. ]
  7. }}

定义retrieveData函数,根据集合名称获取数据,代码如下。

  1. retrieveData(index) {
  2. var that = this;
  3. const db = wx.cloud.database();
  4. db.collection(this.data.boards[index].key)
  5. .get()
  6. .then(res =>{
  7. var boards = that.data.boards;
  8. boards[index].title = res.data[0].title;
  9. boards[index].movies = res.data[0].subjects;
  10. that.setData({ boards: that.data.boards });
  11. })
  12. }

在onLoad函数里,判断isShow为true后,调用retrieveData函数
因为要从3个集合中获取数据,所以需要调用3次,最终onLoad代码如下

  1. onLoad: function (options) {
  2. wx.getStorage({
  3. key: 'isShow',
  4. success: res => {
  5. this.retrieveData(0)
  6. this.retrieveData(1)
  7. this.retrieveData(2)
  8. },
  9. fail: function (res) {
  10. wx.redirectTo({
  11. url: '/pages/splash/splash',
  12. })
  13. },
  14. })
  15. }