// pages/list/movieticket/index.js import commonApi from "../../../utils/https/common" Page({ /** * 页面的初始数据 */ data: { type:1, areas:[], areaIndex:0, sort:null, lat:null, lon:null, page:1, isMore:true, list:[] }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { commonApi._post("act/get_suzhou_areas").then(res=>{ res.data.unshift({ area_id:"", area_title:"苏州" }) if(options.area_id){ let index = res.data.findIndex(item=>item.area_id==options.area_id); this.setData({ areaIndex:index==-1?0:index }) } this.setData({ areas:res.data }) }) wx.getLocation({ type: 'gcj02', success:(res)=>{ this.setData({ lat:res.latitude, lon:res.longitude }) this.getList() }, fail:()=>{ this.getList() } }) }, changeArea:function(e){ this.setData({ areaIndex:e.detail.value, list:[], page:1, isMore:true }) this.getList() }, changeSort:function(e){ let sort = e.currentTarget.dataset.sort; this.setData({ sort:sort==this.data.sort?null:sort, list:[], page:1, isMore:true }) if(this.data.sort=='distance' && !this.data.lon){ wx.getLocation({ type: 'gcj02', success:(res)=>{ this.setData({ lat:res.latitude, lon:res.longitude }) this.getList() }, fail:()=>{ this.getList() } }) } else { this.getList() } }, // gotoDetail:function(e){ // let item = e.currentTarget.dataset.item; // wx.navigateTo({ // url: 'info/ticket/index?id='+item.third_id+"&title="+item.title // }) // }, gotoDetail1:function(e){ let item = e.currentTarget.dataset.item; wx.navigateTo({ url: 'list/ticket/index?id='+item.third_id+"&title="+item.title }) }, gotoDetail2:function(e){ let item = e.currentTarget.dataset.item; wx.navigateTo({ url: 'list/cinema/index?id='+item.third_id }) }, changeType:function(e){ this.setData({ type:e.currentTarget.dataset.type, list:[], page:1, isMore:true }) this.getList() }, getList:function(){ if(!this.data.isMore) return; let service = "Cinema/getHotMovieList",type = this.data.type,data={},sort=this.data.sort; if(type==2){ service="Cinema/getCinemaList"; data = { city_code:this.data.areas[this.data.areaIndex].area_id, lat:this.data.lat, lon:this.data.lon, is_price_sort:sort=='price', is_distance_sort:sort=='distance' } } if(type==3){ service="Cinema/getSoonShowsList"; } data.page = this.data.page; data.pageSize = 10; commonApi._post(service,data).then(res=>{ console.log(res) res.data.map(item=>{ if(item.distance>1000){ item.distanceText = (item.distance/1000).toFixed(2) + 'km'; } else if(item.distance){ item.distanceText = (item.distance).toFixed(2) + 'm'; } }) this.setData({ list:this.data.list.concat(res.data), page:this.data.page+1 }) if(res.data.length<10){ this.setData({ isMore:false }) } }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { this.getList() }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })