// pages/coupon-list/index.js import { getCouponReceive } from '../../api/user.js' import { getCoupons } from '../../api/api.js' const app = getApp() Page({ /** * 页面的初始数据 */ data: { parameter: { navbar: '1', return: '1', title: '领取优惠券', color: false }, couponsList: [], loading: false, loadend: false, page: 1, limit: 20 }, /** * 授权回调 */ onLoadFun: function () { this.getUseCoupons() }, /** 领取优惠券 */ getCoupon: function (e) { var that = this var id = e.currentTarget.dataset.id var index = e.currentTarget.dataset.index var list = that.data.couponsList getCouponReceive({ couponId: id }).then( function (res) { list[index].is_use = true that.setData({ couponsList: list }) app.Tips({ title: '领取成功' }) }, function (res) { return app.Tips({ title: res.msg }) } ) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) {}, /** * 获取领取优惠券列表 */ getUseCoupons: function () { var that = this if (this.data.loadend) return false if (this.data.loading) return false that.setData({ loading: true, loadTitle: '正在搜索' }) getCoupons({ page: this.data.page, limit: this.data.limit }) .then(res => { var list = res.data, loadend = list.length < that.data.limit var couponsList = app.SplitArray(list, that.data.couponsList) that.setData({ loading: false, couponsList: couponsList, page: that.data.page + 1, loadend: loadend, loadTitle: loadend ? '已全部加载' : '加载更多' }) }) .catch(err => { that.setData({ loading: false, loadTitle: '加载更多' }) }) }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { this.getUseCoupons() } })