// packageE/coupons/coupons.js var app = getApp(); Component({ properties: { datas: { type: null, }, component_id: { type: null, }, page_id: { type: null, }, }, // 私有数据,可用于模板渲染 data: { emptyImage: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/image.png", clientWidth: "375", coupons_list: [], isLoadMore: true, //true 可以加载更多 page: 1, total_page: 0, }, lifetimes: { // 生命周期函数,可以为函数,或一个在methods段中定义的方法名 attached() {}, moved() {}, detached() {}, }, // 生命周期函数,可以为函数,或一个在methods段中定义的方法名 attached() {}, // 此处attached的声明会被lifetimes字段中的声明覆盖 ready() { this.setData({ clientWidth: wx.getSystemInfoSync().windowWidth, }); if (this.data.datas.list.data) { this.setData({ total_page: this.data.datas.list.last_page, }); if (this.data.total_page <= this.data.page) { this.setData({ isLoadMore: false, }); } if (this.data.datas.list.data.length > this.data.datas.get_number) { this.data.datas.list.data.splice( this.data.datas.get_number, this.data.datas.list.data.length - this.data.datas.get_number ); this.setData({ isLoadMore: false, }); } this.setData({ coupons_list: this.data.datas.list.data, }); } else { if (this.data.datas.list.length <= 0) { this.setData({ isLoadMore: false, }); } this.setData({ coupons_list: this.data.datas.list, }); } }, pageLifetimes: { // 组件所在页面的生命周期函数 show() {}, hide() {}, resize() {}, }, methods: { selectedcoupon(evt) { let item = evt.currentTarget.dataset.item; let index = evt.currentTarget.dataset.index; if (item.api_availability == 3) { return; } let urlStr = app.getNetAddresss("coupon.member-coupon.get-coupon"); app._postNetWork({ url: urlStr, data: { coupon_id: item.id, }, success: (resdata) => { var res = resdata.data; if (res.result != 1) { if(res.data.reason){ wx.showModal({ title:res.msg, content:res.data.reason, showCancel:false }); }else{ wx.showToast({ icon: 'none', title: res.msg, duration: 1000 }); } return; } this.data.coupons_list[index] = res.data; this.setData({ coupons_list: this.data.coupons_list, }); wx.showModal({ title: "提示", content: "已领取,可到个人中心--优惠券查看", success(res) { if (res.confirm) { wx.navigateTo({ url: "/packageA/member/coupon_v2/coupon_v2", }); } else if (res.cancel) { // console.log('用户点击取消') } }, }); }, fail: function (res) { console.log(res.msg); }, }); }, // 获取更多数据 getMoreData() { let that = this; that.setData({ isLoadMore: false, }); if ( that.data.page >= that.data.total_page || this.data.coupons_list.length > this.data.datas.get_number ) { return; } else { that.setData({ page: that.data.page + 1, }); let urlStr = app.getNetAddresss("home-page.get-decorate-page"); urlStr += "&page=" + that.data.page; urlStr += "&decorate_id=" + that.data.page_id; urlStr += "&component_id=" + that.data.component_id; urlStr += "&component_key=U_coupons"; app._getNetWork({ url: urlStr, success: (resdata) => { var res = resdata.data; if (res.result == 1) { if (that.data.page < that.data.total_page) { that.setData({ isLoadMore: true, }); } let data = that.data.coupons_list.concat(res.data.data); if (data.length > that.data.datas.get_number) { data.splice( that.data.datas.get_number, data.length - that.data.datas.get_number ); that.setData({ isLoadMore: false, }); } that.setData({ coupons_list: data, }); } else { that.setData({ page: that.data.page - 1, isLoadMore: false, }); } }, fail: function (res) { console.log(res); }, }); } }, }, });