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.
 

403 lines
9.6 KiB

//index.js
//获取应用实例
let app = getApp()
import commonApi from "../../utils/https/common"
import util from "../../utils/util"
Page({
data: {
banner:[],
xiaobanner:[],
height:0,
padHeight:0,
right:0,
weather:null,
saleProduct:null,
roadProduct:null,
fourProduct:[],
hotIndex:0,
indexHot:[],
area_ids:["zhangjiagang","changshu","taicang","kunshan","wujiang","wuzhong","xiangcheng","gusu","gongyeyuanqu","gaoxin"],
month:"",
months:['JAN','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','oct','nov','dec'],
date:"",
list:[],
listMore:true,
isTest:false,
lat:"",
lon:"",
urltopage:{}
},
onLoad: function (options) {
if(options.from){
app.globalData.from = options.from;
}
let systemInfo = wx.getSystemInfoSync(),rect = wx.getMenuButtonBoundingClientRect();
let height = (rect.top - systemInfo.statusBarHeight) * 2 + rect.height;
wx.getLocation({
type: 'gcj02',
success:(res)=>{
this.setData({
lat:res.latitude,
lon:res.longitude
})
this.getList()
},
fail:(err)=>{
this.getList()
}
})
this.setData({
height:height,
padHeight:systemInfo.statusBarHeight,
right:(systemInfo.screenWidth - rect.right) + rect.width
})
commonApi._post("pbservice/Other/getClientConfig",{
unique_key:"wechatxcx"
}).then(res=>{
let data = JSON.parse(res.data)
this.setData({
indexHot:data.indexHot,
isTest:data.isTest
})
this.getFourProduct()
})
commonApi._post("pbservice/Other/getClientConfig",{
unique_key:"urltopage"
}).then(res=>{
let data = JSON.parse(res.data)
this.setData({
urltopage:data
})
})
this.getTwoProduct()
this.getBanner()
this.getWeather()
// 获取今天的日期
let today = new Date();
this.setData({
month:(this.data.months[today.getMonth()]).toUpperCase(),
date:today.getDate()
})
},
onTabItemTap:function(e){
console.log(e,99999999)
},
// 一城百馆
city:function(){
wx.navigateToMiniProgram({
appId: 'wx114d514f39cb1fed',
path:"pages/index/index"
})
commonApi._post("browse/burying_point",{
drive:"mini",
title:"一城百馆",
uuid:app.globalData.uuid
}).then(res=>{
})
},
changeHotIndex:function(e){
this.setData({
hotIndex:e.currentTarget.dataset.index,
fourProduct:[]
})
this.getFourProduct()
},
getBanner:function(){
// commonApi._post("adv/getAdvByKey",{
// key:"xcxBanner"
// }).then(res=>{
// console.log(res)
// this.setData({
// banner:res.data.content || []
// })
// })
// commonApi._post("adv/getAdvByKey",{
// key:"xiaobanner"
// }).then(res=>{
// this.setData({
// xiaobanner:res.data.content || []
// })
// })
// return;
commonApi._post("adv/getAdv",{
position:0,
type_id:3
}).then(res=>{
this.setData({
banner:res.data || []
})
})
commonApi._post("adv/getAdv",{
position:1,
type_id:3
}).then(res=>{
this.setData({
xiaobanner:res.data || []
})
})
},
getWeather:function(){
commonApi._post('pbservice/Ztfw/getWeather').then(res=>{
console.log(res)
this.setData({
weather:res.data
})
})
},
saleDetail:function(){
},
getTwoProduct:function(){
// 获取首页限时特惠
commonApi._post('act/fast_sale_now',{
offset:0,
limit:1
}).then(res=>{
if(res.data[0] && res.data[0].fast_sales_sku[0]){
this.setData({
saleProduct:res.data[0].fast_sales_sku[0]
})
}
})
commonApi._post("product/get_product_by_tag",{
tag_id:17,
offset:0,
limit:1
}).then(res=>{
this.setData({
roadProduct:res.data.list[0]
})
})
},
getFourProduct:function(){
let item = this.data.indexHot[this.data.hotIndex],service="product/get_product_by_tag",data={
tag_id:item.id,
offset:0,
limit:4,
sort:'weight',
order:'desc'
};
if(item.type=='scene'){
service="scene/get_scene_by_tag";
}
else if(item.type=='movie'){
service="Cinema/getHotMovieList";
data = {
page:1,
pageSize:4
};
}
commonApi._post(service,data).then(res=>{
this.setData({
fourProduct:res.data.list || res.data
})
})
},
tagGotoDetail:function(e){
let item = e.currentTarget.dataset.item;
if(this.data.indexHot[this.data.hotIndex].type=='movie'){
wx.navigateTo({
url: '/pages/list/movieticket/list/info/index?id='+item.third_id+'&title='+item.title,
})
}
else {
util.gotoDetail(item)
}
},
productGotoDetail:function(e){
let item = e.currentTarget.dataset.item;
util.gotoDetail(item)
},
gotoPath:function(e){
wx.navigateTo({
url: e.currentTarget.dataset.path,
})
if(e.currentTarget.dataset.title){
commonApi._post("browse/burying_point",{
uuid:app.globalData.uuid,
drive:"mini",
title:e.currentTarget.dataset.title
}).then(res=>{
})
}
},
gotoUrl:function(e){
let url = e.currentTarget.dataset.url;
app.globalData.weburl = url;
wx.navigateTo({
url:"/pages/pbService/web/index"
})
},
garbage:function(){
wx.navigateToMiniProgram({
appId: 'wx13be821f3b1afed3',
path:'pages/home/home'
})
},
gotoSku:function(){
commonApi.user_post("pbservice/Ztfw/sukangCode").then(res=>{
console.log(res)
app.globalData.weburl = res.data.url;
wx.navigateTo({
url: '/pages/pbService/web/index'
})
return;
})
},
audioGuide:function(){
wx.navigateToMiniProgram({
appId: 'wx74f380bc721a0379',
path:'/pages/listen/listen?title=君到苏州'
})
commonApi._post("browse/burying_point",{
drive:"mini",
title:"语音导览",
uuid:app.globalData.uuid
}).then(res=>{
})
},
// 热门推荐
getList:function(){
if(!this.data.listMore) return;
commonApi._post("search/recommend",{
offset:this.data.list.length,
limit:10,
lon:this.data.lon,
lat:this.data.lat
}).then(res=>{
res.data.map(item=>{
if(item.ext.display_tags){
item.ext.display_tags = item.ext.display_tags.split(",").splice(0,2)
}
else {
item.ext.display_tags = []
}
})
if(res.data.length<10) {
this.setData({
listMore:false
})
}
this.setData({
list:this.data.list.concat(res.data)
})
console.log(res)
})
},
onReachBottom:function(){
this.getList()
},
gotoDetail:function(e){
let item = e.currentTarget.dataset.item;
if(item.type=='travels'){
// 游记做特殊处理 其他都按照原来的来
wx.navigateTo({
url: '/pages/info/strategyInfo/index?id='+item.s_id,
})
}
else {
util.gotoDetail(item.ext);
}
},
meituan:function(){
wx.navigateToMiniProgram({
appId: 'wxde8ac0a21135c07d',
path:"hotel/pages/h5/index?q=https%3A%2F%2Ffenxiao.meituan.com%2Fopdtor%2Fh5%2Fhotel%2Fsearch%3FpartnerId%3D16829"
})
},
// 轮播图点击
bannerClick:function(e){
let item = e.currentTarget.dataset.item;
console.log(item)
switch(item.jump_type){
case 0:
break;
case 1:
util.gotoDetail(item.product_model)
break;
case 2:
if(item.front_model && item.front_model.mini){
wx.navigateTo({
url: "/"+item.front_model.mini
})
}
break;
case 3:
if((item.tdata.indexOf('http://')!=-1 || item.tdata.indexOf('https://')!=-1) && item.tdata.indexOf('m.cloud.sz-trip.com')==-1){
// 外部h5
app.globalData.weburl = item.tdata;
wx.navigateTo({
url:"/pages/pbService/web/index"
})
}
else {
let page = item.tdata.split("/");
page = page[page.length-1].split("?")
console.log(page[0])
let url = this.data.urltopage[page[0]];
console.log(url)
if(url && url.indexOf('map')!=-1){
let types = ['','scenic','venue','post','restaurant','relic','tenscenic','cinema','academes'],type = page[1]?page[1].split("="):[];
wx.reLaunch({
url: url+"?type="+(type[1]?types.findIndex(t=>t==type[1]):null)
})
}
else {
wx.navigateTo({
url: url,
})
}
}
break;
case 4:
wx.navigateToMiniProgram({
appId: item.tdata.appid,
path:item.tdata.page
})
break;
default:
break;
}
return;
},
bannerClick2:function(e){
let item = e.currentTarget.dataset.item;
if(item.action=='href'){
if(item.href.indexOf(",")!=-1){
let info = item.href.split(",");
wx.navigateToMiniProgram({
appId: info[0],
path:info[1]
})
}
else if(item.href.indexOf('map/index')!=-1){
wx.reLaunch({
url: item.href
})
}
else {
wx.navigateTo({
url: item.href,
})
}
}
else if(item.action=="web"){
app.globalData.weburl = item.href;
wx.navigateTo({
url: "/pages/pbService/web/index",
})
}
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})