You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.4 KiB

// pages/shoplist/shoplist.js
Page({
/**
* 页面的初始数据
*/
data: {
shopList: [],
},
listDate: {
page: 1,
pageSize: 10,
total: 0
},
getShopList: function (cb) {
this.isLoading = true
wx.showLoading({
title: '数据加载中...'
})
wx.request({
url: 'http://127.0.0.1:3000/data',
method: 'GET',
data: {
page: this.listDate.page,
pageSize: this.listDate.pageSize
},
success: res => {
console.log(res)
this.setData({
shopList: [...this.data.shopList, ...res.data],
})
this.listDate.total = res.header['X-Total-Count'] - 0
},
complete: () => {
wx.hideLoading()
this.isLoading = false
cb && cb()
}
})
},
onLoad: function () {
this.getShopList()
},
onReachBottom: function () {
if (this.listDate.page * this.listDate.pageSize >= this.listDate.total){
return wx.showToast({
title: '数据加载完毕!',
icon: 'none'
})
}
if (this.isLoading) {
return
}
++this.listData.page
this.getShopList()
},
isLoading: false,
onPullDownRefresh: function () {
this.setData({
shopList: []
})
this.listData.page = 1
this.listData.total = 0
this.getShopList(() => {
wx.stopPullDownRefresh()
})
}
})