coin.js 2.74 KB
// pages/home/coin/coin.js
import listModel from '../../../models/home/coupon/list';
import Yas from '../../../common/yas';
let app = getApp();
let yas;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    isShow: false,
    totalCoins: 0,
    page: 1,
    limit: 10,
    end: false, 
    recordList: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    wx.showLoading({ title: '正在加载中...' });
    this.loadFontFace().then(()=> {
      // 字体加载完成再显示
      if (options.coinTotal) {
        this.setData({
          isShow: true,
          totalCoins: options.coinTotal
        })
      }

      this.getListData()
    })
    
    
    yas = new Yas(app); // 实例化埋点
    yas.pageOpenReport();
  },
  loadFontFace() {
    return Promise.all([this.loadFont1(),this.loadFont2()])
  },
  loadFont1() {
    return new Promise((resolve) => {
      wx.loadFontFace({
        family: 'Regulator-Heavy',
        source: 'url("https://cdn.yoho.cn/miniapp/mkt/Regulator-Heavy.otf")',
        complete: () => {
          resolve() 
        }
      });
    })
    
  },
  loadFont2() {
    return new Promise((resolve) => {
    wx.loadFontFace({
      family: 'Regulator-Bold',
      source: 'url("https://cdn.yoho.cn/miniapp/mkt/Regulator-Bold.otf")',
      complete: () => {
        resolve() 
      }
    });
    })
  },
  // 取列表数据
  getListData: function (isLoadMore) {
    let that = this
    let recordList = this.data.recordList;
    let page = isLoadMore ? this.data.page : 1;
    let limit = this.data.limit;
    if(!isLoadMore) {
      this.setData({
        end: false
      })
    }
    if (this.data.end) {
      wx.showToast({
        title: '没有更多数据!',
        icon: 'none'
      });
      return
    }
    listModel.coinsListData({
      page,
      limit
    }).then(result => {

      if (result.code !== 200) {
        return result;
      }
      let coinData = result.data
      if (coinData.coinlist.length<that.data.limit) {
        that.setData({
          end: true
        })
      }
      recordList = isLoadMore ? recordList.concat(coinData.coinlist) : coinData.coinlist
      wx.hideLoading()
      that.setData({
        recordList,
        page: ++coinData.page
      })
    }).catch(() => {
      wx.hideLoading()
      wx.showToast({
        title: '数据加载失败,请稍后重试...',
        icon: 'none'
      });

    });
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    setTimeout(()=> {
      this.getListData()
      wx.stopPullDownRefresh();
    },1000)
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    this.getListData(true)
  },

})