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.

128 lines
2.3 KiB

5 years ago
// pages/list/scene/index.js
import commonApi from "../../../utils/https/common"
import util from "../../../utils/util"
let app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
list:[],
total:1,
latitude:"",
longitude:"",
keywords:''
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let that = this;
wx.getLocation({
type: 'gcj02',
success: function (res) {
that.setData({
latitude:res.latitude,
longitude:res.longitude
})
that.getList()
},
fail:function(){
that.getList()
}
})
},
search:function(e){
this.setData(e.detail);
this.setData({
list:[],
total:1
})
this.getList();
},
gotoDetail:function(e){
let item = e.currentTarget.dataset.item;
util.gotoDetail(item);
},
getList:function(){
let list = this.data.list;
if(list.length>=this.data.total) return;
commonApi._post("scene/get_scene_by_tag",{
tag_id:"4",
limit:10,
lon:this.data.longitude,
lat:this.data.latitude,
offset:list.length,
sort:"weight",
title:this.data.keywords
}).then(res=>{
res.data.list.map(item=>{
item.tags = item.tags?item.tags.split(","):[];
item.tags = item.tags.splice(0,2);
if(item.distance && item.distance>=1000){
item.distance = item.distance/1000 + "km"
}
else if(item.distance){
item.distance = item.distance + "m"
}
})
this.setData({
list:list.concat(res.data.list),
total:res.data.count
})
console.log(res)
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
this.getList()
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})