import shop from '../../../api/shop'; import shopApi from '../../../api/shop'; const app = getApp(); Page({ /** * 页面的初始数据 */ data: { tabIndex:0, categories:[], shopList:[], userInfo:{}, lng:null, lat:null, scrollViewHeight:0, pager:{limit:10,loading:false,loadAll:false,pageIndex:0,refreshTrigger:false} }, changeTab(event){ const tabIndex = event.currentTarget.dataset.index; const cid = event.currentTarget.dataset.cid; this.data.pager.pageIndex = 0; this.data.pager.loadAll = false; this.setData({tabIndex,pager:this.data.pager}) this.loadList(); }, refreshList(){ this.data.pager.pageIndex = 0; this.data.pager.loadAll = false; this.setData({ pager:this.data.pager }); this.loadList(); }, loadList(){ if(this.data.pager.loading||this.data.pager.loadAll){ return; } this.data.pager.loading = true; this.setData({ pager:this.data.pager }); const cid = this.data.categories.length>0?this.data.categories[this.data.tabIndex].id:0; const params = { skip:this.data.pager.pageIndex*this.data.pager.limit, limit:this.data.pager.limit } if(this.data.lng&&this.data.lat){ params.longitude = this.data.lng; params.latitude = this.data.lat; } if(cid){ params.category_id = cid; } shopApi.product.list().then((data)=>{ if(this.data.pager.pageIndex==0){ this.data.shopList = data.items; }else{ this.data.shopList = this.data.shopList.concat(data.items); } this.data.pager.loading = false; this.data.pager.pageIndex++; this.data.pager.refreshTrigger = false; if(data.items.length{ if(item.distance){ if(item.distance>=1000){ item.distance = parseFloat(item.distance/1000).toFixed(1)+'km'; }else{ item.distance = item.distance+'m'; } } }) this.setData({ shopList:this.data.shopList, pager:this.data.pager }) }); }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { const windowInfo = wx.getWindowInfo(); this.setData({ scrollViewHeight:windowInfo.windowHeight-windowInfo.statusBarHeight-44-174 }) app.getLocation().then((data)=>{ this.setData({ lng:data.longitude, lat:data.latitude }); this.loadList(); }).catch(()=>{ this.loadList(); }) shopApi.category().then((data)=>{ this.setData({ categories:[{id:0,name:'全部'},...data.items] }); }) app.getUserInfo().then((data)=>{ this.setData({ userInfo:data }) }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })