import shop from '../../../api/shop'; import shopApi from '../../../api/shop'; const app = getApp(); Page({ /** * 页面的初始数据 */ data: { tabIndex:0, shopList:[], userInfo:{}, lng:null, lat:null, pager:{limit:10,loading:false,loadAll:false,pageIndex:0,refreshTrigger:false}, choosedCommunity:{} }, 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 params = { skip:this.data.pager.pageIndex*this.data.pager.limit, limit:this.data.pager.limit, community_id:this.data.choosedCommunity.id } if(this.data.lng&&this.data.lat){ params.longitude = this.data.lng; params.latitude = this.data.lat; } shopApi.product.list(params).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 }) }).catch(()=>{ this.setData({ "pager.loading":false }) }); }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { app.getUserInfo().then((data)=>{ this.setData({ userInfo:data }) this.data.choosedCommunity = { id:data.community_id, name:data.community_name }; return wx.getStorage({key:'community-shop'}); }).then((res)=>{ this.data.choosedCommunity = res.data; this.loadList(); },(error)=>{ this.loadList(); }).finally(()=>{ this.setData({ choosedCommunity:this.data.choosedCommunity }) }) }, //供选择社区页面用 changeCommunity(community){ wx.setStorage({ key:'community-shop', data:{ id:community.id, name:community.name } }); this.setData({ choosedCommunity:community }) this.refreshList(); }, chooseCommunity(){ const currentId = this.data.choosedCommunity.id||this.data.userInfo.community_id; console.log(currentId); wx.navigateTo({ url: `/pages/help/community/index?communityId=${currentId}`, }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })