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.
210 lines
4.6 KiB
210 lines
4.6 KiB
// pages/info/museumInfo/index.js
|
|
import commonApi from "../../../utils/https/common"
|
|
let app = getApp()
|
|
let device = wx.getSystemInfoSync();
|
|
const ratio = device.windowWidth / 750;
|
|
let rect = wx.getMenuButtonBoundingClientRect();
|
|
let height = (rect.top - device.statusBarHeight) * 2 + rect.height + device.statusBarHeight;
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
top:height,
|
|
info:null,
|
|
type:1,
|
|
actList:[],
|
|
actTotal:1,
|
|
id:null,
|
|
fixed:false,
|
|
isLogin:false,
|
|
product:null,
|
|
time:null,
|
|
date:null
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
this.setData({
|
|
id:options.id
|
|
})
|
|
commonApi._post("scene/detail_for_venue",{
|
|
id:options.id
|
|
}).then(res=>{
|
|
// res.data.listimg = res.data.listimg?res.data.listimg.split(","):[];
|
|
if(res.data.product_venue && res.data.product_venue.sku && res.data.product_venue.sku[0]){
|
|
let product = {
|
|
product:res.data.product_venue,
|
|
sku:res.data.product_venue.sku[0]
|
|
};
|
|
app.globalData.product = product;
|
|
this.setData({
|
|
info:res.data,
|
|
product:product
|
|
})
|
|
}
|
|
else {
|
|
this.setData({
|
|
info:res.data
|
|
})
|
|
}
|
|
|
|
this.BroswerRecord();
|
|
})
|
|
this.getAct()
|
|
},
|
|
getAct:function(){
|
|
if(this.data.actList.length>=this.data.actTotal) return;
|
|
commonApi._post('scene/get_scene_act_list',{
|
|
scene_id:this.data.id,
|
|
page_no:1,
|
|
page_num:100
|
|
}).then(res=>{
|
|
let now = new Date().getTime();
|
|
res.data.rows.map(item=>{
|
|
let endTime = this.getMyTime(item.end_date+" 23:59:59");
|
|
if(endTime<now) {
|
|
item.isEnd = true;
|
|
}
|
|
else {
|
|
item.isEnd = false;
|
|
}
|
|
})
|
|
this.setData({
|
|
actList:this.data.actList.concat(res.data.rows),
|
|
actTotal:res.data.total
|
|
})
|
|
console.log(res)
|
|
})
|
|
},
|
|
getMyTime(t){
|
|
let time = new Date(t.replace(/-/g,'/')).getTime();
|
|
return time;
|
|
},
|
|
changeType:function(e){
|
|
this.setData({
|
|
type:e.currentTarget.dataset.type
|
|
})
|
|
},
|
|
BroswerRecord:function(){
|
|
setTimeout(()=>{
|
|
if(app.globalData.uuid){
|
|
commonApi._post('browse/browse_record',{
|
|
type:"scene",
|
|
title:this.data.info.title,
|
|
drive:"mini",
|
|
source_id:this.data.info.id,
|
|
url:"/pages/info/museumInfo/index?id="+this.data.info.id,
|
|
uuid:app.globalData.uuid
|
|
}).then(res=>{
|
|
})
|
|
}
|
|
else {
|
|
this.BroswerRecord();
|
|
}
|
|
},500)
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady: function () {
|
|
|
|
},
|
|
// 修改日期
|
|
changeDate:function(e){
|
|
this.setData({
|
|
date:e.detail
|
|
})
|
|
},
|
|
// 修改分时
|
|
changeTime:function(e){
|
|
this.setData({
|
|
time:e.detail
|
|
})
|
|
},
|
|
order:function(){
|
|
if(!this.data.info.product_venue) return;
|
|
if(!this.data.info.product_venue.sku[0]) return;
|
|
app.globalData.couponInfo = null;
|
|
// 如果在当前的详情页面选择了日期时间的话 那么需要修改日期时间
|
|
app.globalData.product = {
|
|
product:this.data.info.product_venue,
|
|
sku:this.data.info.product_venue.sku[0],
|
|
infoDate:this.data.date,
|
|
infoTime:this.data.time
|
|
}
|
|
wx.navigateTo({
|
|
url: '/pages/order/scene/index?type=museum'
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow: function () {
|
|
if(!this.data.isLogin){
|
|
commonApi.user_post("token/check").then(res=>{
|
|
if(res.code==1){
|
|
this.setData({
|
|
isLogin:true
|
|
})
|
|
}
|
|
})
|
|
}
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload: function () {
|
|
app.globalData.product = null;
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom: function () {
|
|
this.getAct()
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage: function () {
|
|
|
|
},
|
|
onPageScroll:function(e){
|
|
let topHeight = this.data.top + (102 * ratio),that = this;
|
|
wx.createSelectorQuery().select('#content').boundingClientRect(function(rect){
|
|
if(rect.top<=topHeight){
|
|
// 此时应该把menus固定在顶部
|
|
that.setData({
|
|
fixed:true
|
|
})
|
|
}
|
|
else{
|
|
that.setData({
|
|
fixed:false
|
|
})
|
|
}
|
|
}).exec()
|
|
}
|
|
})
|