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

5 years ago
// pages/info/museumInfo/index.js
import commonApi from "../../../utils/https/common"
let app = getApp()
5 years ago
let device = wx.getSystemInfoSync();
const ratio = device.windowWidth / 750;
let rect = wx.getMenuButtonBoundingClientRect();
let height = (rect.top - device.statusBarHeight) * 2 + rect.height + device.statusBarHeight;
5 years ago
Page({
/**
* 页面的初始数据
*/
data: {
5 years ago
top:height,
info:null,
type:1,
actList:[],
actTotal:1,
id:null,
5 years ago
fixed:false,
isLogin:false,
product:null,
time:null,
date:null
5 years ago
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
5 years ago
this.setData({
id:options.id
})
5 years ago
commonApi._post("scene/detail_for_venue",{
id:options.id
}).then(res=>{
// res.data.listimg = res.data.listimg?res.data.listimg.split(","):[];
5 years ago
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
})
}
5 years ago
this.BroswerRecord();
5 years ago
})
5 years ago
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=>{
5 years ago
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;
}
})
5 years ago
this.setData({
actList:this.data.actList.concat(res.data.rows),
actTotal:res.data.total
})
console.log(res)
})
},
5 years ago
getMyTime(t){
let time = new Date(t.replace(/-/g,'/')).getTime();
return time;
},
5 years ago
changeType:function(e){
this.setData({
type:e.currentTarget.dataset.type
})
5 years ago
},
5 years ago
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)
},
5 years ago
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
5 years ago
},
// 修改日期
changeDate:function(e){
this.setData({
date:e.detail
})
},
// 修改分时
changeTime:function(e){
this.setData({
time:e.detail
})
5 years ago
},
order:function(){
if(!this.data.info.product_venue) return;
if(!this.data.info.product_venue.sku[0]) return;
app.globalData.couponInfo = null;
5 years ago
// 如果在当前的详情页面选择了日期时间的话 那么需要修改日期时间
5 years ago
app.globalData.product = {
product:this.data.info.product_venue,
5 years ago
sku:this.data.info.product_venue.sku[0],
infoDate:this.data.date,
infoTime:this.data.time
5 years ago
}
wx.navigateTo({
url: '/pages/order/scene/index?type=museum'
})
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
5 years ago
if(!this.data.isLogin){
commonApi.user_post("token/check").then(res=>{
if(res.code==1){
this.setData({
isLogin:true
})
}
})
}
5 years ago
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
5 years ago
app.globalData.product = null;
5 years ago
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
5 years ago
this.getAct()
5 years ago
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
5 years ago
},
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()
5 years ago
}
})