// pages/personalCenter/pointsRecord/index.js const app = getApp(); import moment from 'moment' Page({ /** * 页面的初始数据 */ data: { integral: 0, recordList: [], page: 1, limit: 20, pageTotalCount: 0, bottomLoading: false, isMoreData: false, // 返回顶部 isBackTop: false, setScrollValue: 0, skeletonLoding: true, }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { this.getIntegral() this.getIntegralList(false) }, getIntegral() { app.MG.store .getUserWallet({ type: 'integral' }) .then((res) => { this.setData({ integral: res.balance, }); }) }, getIntegralList(isReachBottom) { app.MG.store .getWalletHistory({ Size: this.data.limit, Start: this.data.page * this.data.limit - this.data.limit, sort: { type: 'Desc', field: 'CreateDate' }, type: 'integral' }) .then((res) => { if (res.datas.length > 0) { res.datas.forEach((element) => { element.createDate = moment(element.createDate).format('YYYY-MM-DD HH:mm:ss') if (element.refType == 'sign') { element.type = '每日登录' } if (element.refType == 'Reward') { element.type = '上传资源奖励' } if (element.refType == 'OrderCoinBonus') { element.type = '订单支付奖励' } if (element.refType == 'Order' && element.value < 0) { element.type = '订单支付抵扣' } if (element.refType == 'Order' && element.value > 0) { element.type = '订单取消退回' } if (element.refType == 'AdminRecharge') { element.type = '管理员充值' } }) let dataList = res.datas; //触底加载新数据并保留老数据 if (isReachBottom) { dataList = [...this.data.recordList, ...dataList] //将新数据加入老数据中 } this.setData({ recordList: dataList, pageTotalCount: res.totalSize, bottomLoading: false, isMoreData: dataList.length > 0 ? false : true, skeletonLoding: false, }) } else { this.setData({ skeletonLoding: false, }) } }) }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { if (this._freshing) return this.setData({ page: 1, limit: 10, pageTotalCount: 0, bottomLoading: false, isMoreData: false }) this._freshing = true; this.setData({ triggered: false, }) this.getIntegralList(false); this._freshing = false }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { this.setData({ bottomLoading: true, isMoreData: false }) let bool = false; if (this.data.pageTotalCount > this.data.recordList.length) { bool = true; this.setData({ page: this.data.page + 1, }) } else { setTimeout(() => { this.setData({ bottomLoading: false, isMoreData: true }) }, 100) return false; } this.getIntegralList(bool); }, // 监听滚动距离 onPageScroll(e) { if (e && e.scrollTop >= 1000) { this.setData({ isBackTop: true }) } else { this.setData({ isBackTop: false }) } }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })