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.

185 lines
3.7 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:"",
5 years ago
keywords:'',
area_id:'',
navList:[
{
id:4,
name:'全部',
icon:'/uploads/20240604/4ac6b939e112ff183aadb95efbf07761.png'
}
],
navIndex:0,
5 years ago
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
3 years ago
wx.showShareMenu({
withShareTicket: true,
menus: ['shareAppMessage', 'shareTimeline']
})
5 years ago
let that = this;
5 years ago
if(options.area_id){
this.setData({
area_id:options.area_id
})
}
5 years ago
wx.getLocation({
type: 'gcj02',
success: function (res) {
that.setData({
latitude:res.latitude,
longitude:res.longitude
})
// that.getList()
5 years ago
},
fail:function(){
// that.getList()
5 years ago
}
})
// 获取头部景点分类
commonApi._post("scene/get_scene_tags",{
pid:4
}).then(res=>{
let list = this.data.navList
res.data.forEach(item=> {
list.push(item)
})
this.setData({
navList:list
})
console.log(this.data.navList);
this.getList()
})
},
search:function(){
this.setData({
list:[],
total:1
})
this.getList()
},
changeType:function (e) {
console.log(e);
this.setData({
navIndex:e.currentTarget.dataset.index,
list:[],
total:1
})
console.log(this.data.navIndex);
this.getList()
5 years ago
},
search:function(e){
this.setData(e.detail);
this.setData({
list:[],
total:1
})
this.getList();
},
gotoDetail:function(e){
let item = e.currentTarget.dataset.item;
4 years ago
util.gotoDetail(item,1);
5 years ago
},
getList:function(){
let list = this.data.list;
if(list.length>=this.data.total) return;
commonApi._post("scene/get_scene_by_tag",{
// tag_id:"4",
tag_id:this.data.navList[this.data.navIndex].id,
5 years ago
limit:10,
lon:this.data.longitude,
lat:this.data.latitude,
offset:list.length,
sort:"weight",
5 years ago
title:this.data.keywords,
area_id:this.data.area_id
5 years ago
}).then(res=>{
res.data.list.map(item=>{
4 years ago
item.tags = item.display_tags?item.display_tags.split(","):[];
5 years ago
item.tags = item.tags.splice(0,2);
if(item.distance && item.distance>=1000){
3 years ago
item.distance = item.distance/1000
item.distance = item.distance.toFixed(1) + "km"
5 years ago
}
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 () {
3 years ago
},
onShareTimeline: function() {
return {
title: '君到苏州-景点门票',
query: '',
imageUrl: 'https://static.ticket.sz-trip.com/xcxImages/index/icon6New.png'
}
5 years ago
}
})