import {
|
getDictData,
|
getMemberInfo,
|
getZSZXCatalogs,
|
getCustomizedNewsList,
|
getHomeBanner,
|
actionDo,
|
getZhongTaiVideoPage,
|
getZhongTaiProductNewsPage
|
} from '../../api/index'
|
import {
|
eventBus
|
} from '../../utils/eventBus'
|
const app = getApp()
|
var touchDot = 0; //触摸时的原点
|
Page({
|
|
/**
|
* 页面的初始数据
|
*/
|
data: {
|
// 顶部nav
|
topHeadStyle: 1,
|
top: 0,
|
open: false,
|
desc: true,
|
font_color: '#ffffff',
|
ZSZXCata: {},
|
|
showWhiteHead: false,
|
topHeadBorder: false,
|
member: {},
|
|
bannerList: [],
|
bannerImgHeight: 0,
|
consultList: [],
|
consultImgHeight: 0,
|
|
videoTop: 0,
|
windowHeight: 0,
|
videoPlay: true,
|
|
productVideo: {},
|
bannerSwiperOption: {
|
indicatorDots: true,
|
vertical: false,
|
autoplay: true,
|
interval: 3000,
|
duration: 500
|
},
|
serviceList: [],
|
testUrl: '',
|
HOME_CLASS_A: '',
|
HOME_CLASS_B: '',
|
HOME_CLASS_B2: '',
|
HOME_CLASS_C: '',
|
},
|
onLoadLogin(options) {
|
// 已经登录,可以走依赖token的逻辑了
|
console.log('首页的onLoadLogin', options, `{"token":"${app.globalData.token}"}`);
|
this.initData()
|
const member = wx.getStorageSync('member')
|
this.setData({
|
member
|
})
|
},
|
onReady() {
|
const windowInfo = wx.getWindowInfo()
|
setTimeout(() => {
|
const query = wx.createSelectorQuery()
|
query.select('.product_video').boundingClientRect(function (rect) {
|
rect.top // 节点的上边界坐标
|
rect.bottom // 节点的下边界坐标
|
}).exec(res => {
|
console.log(windowInfo.windowHeight)
|
this.setData({
|
videoTop: res[0].top,
|
windowHeight: windowInfo.windowHeight
|
})
|
})
|
}, 3000)
|
},
|
onShow() {
|
const member = wx.getStorageSync('member')
|
this.setData({
|
member
|
})
|
eventBus.once("reloadHome", () => {
|
console.log('reloadHome');
|
this.onLoad()
|
this.initData()
|
})
|
},
|
onLoad(options) {
|
this.initDictData()
|
// this.initData()
|
},
|
changePath(e) {
|
let index = e.currentTarget.dataset.type
|
const member = this.data.member
|
let that = this
|
switch (index) {
|
case '0':
|
if (member && member.phone) {
|
wx.navigateTo({
|
url: '/pages/webView/index',
|
success: function (res) {
|
// 通过eventChannel向被打开页面传送数据
|
res.eventChannel.emit('acceptDataFromOpenerPage', {
|
link: that.data.testUrl
|
})
|
}
|
})
|
} else {
|
wx.setStorageSync('tempPath', '/pages/webView/index')
|
wx.navigateTo({
|
url: '/pages/auth/auth',
|
})
|
}
|
break;
|
|
case '1':
|
wx.navigateTo({
|
url: '/pages/calculator/index'
|
})
|
break;
|
case '2':
|
if (member && member.phone) {
|
wx.navigateTo({
|
url: '/pages/design/design'
|
})
|
} else {
|
wx.setStorageSync('tempPath', '/pages/design/design')
|
wx.navigateTo({
|
url: '/pages/auth/auth',
|
})
|
}
|
|
// wx.navigateTo({
|
// url: '/pages/wonderful_activity/index',
|
// success: function(res) {
|
// // 通过eventChannel向被打开页面传送数据
|
// res.eventChannel.emit('acceptDataFromOpenerPage', { type: 1 })
|
// }
|
// })
|
break;
|
|
default:
|
console.log('error')
|
break;
|
}
|
},
|
changeStrategy(e) {
|
let item = e.currentTarget.dataset.item
|
wx.navigateTo({
|
url: `/pages/homeId/index?code=${item.code}&name=${item.name}`,
|
})
|
},
|
initData() {
|
// 轮播
|
getHomeBanner().then(res => {
|
if (res.data) {
|
this.setData({
|
bannerList: res.data
|
})
|
}
|
})
|
// 产品视频
|
getZhongTaiVideoPage({
|
pageSize: 1,
|
pageNum: 1
|
}).then(res => {
|
if (res.data && res.data.records && res.data.records.length > 0) {
|
this.setData({
|
productVideo: res.data.records
|
})
|
}
|
})
|
getZSZXCatalogs().then(res => { //志说装修
|
this.setData({
|
ZSZXCata: res.data || {}
|
})
|
})
|
// 资讯
|
getZhongTaiProductNewsPage({
|
catalogCode: 'product_info',
|
pageSize: 6,
|
pageNum: 1
|
}).then(res => {
|
if (res.data && res.data.records) {
|
this.setData({
|
consultList: res.data.records
|
})
|
}
|
})
|
getCustomizedNewsList().then(res => { // 定制服务
|
this.setData({
|
serviceList: res.data || []
|
})
|
})
|
},
|
initDictData() {
|
// 风格测试
|
getDictData({
|
code: 'WX_MINI_CONFIG',
|
label: 'ZBOM_STYLE_TEST_URL'
|
}).then(res => {
|
if (res.data) {
|
this.setData({
|
testUrl: res.data.code
|
})
|
wx.setStorageSync('testUrl', res.data.code)
|
}
|
})
|
getDictData({
|
code: 'WEIXIN_DEFAULT_IMGS',
|
label: 'HOME_CLASS_A'
|
}).then(res => {
|
this.setData({
|
HOME_CLASS_A: res.data.code
|
})
|
})
|
getDictData({
|
code: 'WEIXIN_DEFAULT_IMGS',
|
label: 'HOME_CLASS_B'
|
}).then(res => {
|
this.setData({
|
HOME_CLASS_B: res.data.code
|
})
|
})
|
getDictData({
|
code: 'WEIXIN_DEFAULT_IMGS',
|
label: 'HOME_CLASS_B2'
|
}).then(res => {
|
this.setData({
|
HOME_CLASS_B2: res.data.code
|
})
|
})
|
getDictData({
|
code: 'WEIXIN_DEFAULT_IMGS',
|
label: 'HOME_CLASS_C'
|
}).then(res => {
|
this.setData({
|
HOME_CLASS_C: res.data.code
|
})
|
})
|
},
|
jumpProVideo() {
|
wx.navigateTo({
|
url: '/pages/productVideo/index',
|
})
|
},
|
videoClick(e) {
|
const {
|
videourl,
|
id
|
} = e.currentTarget.dataset
|
actionDo({
|
actionType: 'view',
|
id
|
})
|
let videoPlay = this.selectComponent('.videoPlay');
|
if (videoPlay) {
|
videoPlay.startPlayVideo(videourl, this);
|
}
|
// wx.previewMedia({
|
// sources: [{
|
// url: videourl,
|
// type: 'video'
|
// }]
|
// })
|
},
|
goserHeight: function (e) {
|
const serviceHeight = e.detail.height
|
this.setData({
|
serviceHeight: serviceHeight
|
})
|
},
|
bannerbindload(e) {
|
const {
|
height,
|
width
|
} = e.detail
|
let activeHeight = height * 670 / width
|
this.setData({
|
bannerImgHeight: activeHeight
|
})
|
},
|
consultbindload(e) {
|
const {
|
height,
|
width
|
} = e.detail
|
let activeHeight = height * 670 / width
|
this.setData({
|
consultImgHeight: activeHeight + 100
|
})
|
},
|
consultClick(e) {
|
const item = e.currentTarget.dataset.id
|
actionDo({
|
actionType: 'view',
|
id: item.id
|
})
|
if (item.contentType == 'link') {
|
wx.navigateTo({
|
url: '/pages/webView/index',
|
success: function (res) {
|
// 通过eventChannel向被打开页面传送数据
|
res.eventChannel.emit('acceptDataFromOpenerPage', {
|
link: item.content,
|
title: item.title
|
})
|
}
|
})
|
} else {
|
wx.navigateTo({
|
url: '/pages/consult/detail?id=' + item.id,
|
})
|
}
|
// wx.navigateTo({
|
// url: '/pages/consult/detail?id=' + id
|
// })
|
},
|
bannerClick(e) {
|
const {
|
id
|
} = e.currentTarget.dataset
|
const item = e.currentTarget.dataset.item
|
console.log('item', item);
|
if (item.openType) {
|
actionDo({
|
actionType: 'view',
|
id: item.id
|
})
|
}
|
if (item.openType == 'video') {
|
wx.previewMedia({
|
sources: [{
|
url: item.openContent,
|
type: 'video'
|
}]
|
})
|
}
|
if (item.openType == 'link') {
|
wx.navigateTo({
|
url: '/pages/webView/index',
|
success: function (res) {
|
res.eventChannel.emit('acceptDataFromOpenerPage', {
|
link: item.openContent || item.content
|
});
|
}
|
})
|
}
|
if (item.openType == 'page') {
|
getApp().globalData.catalogCode = item.openContent
|
wx.switchTab({
|
url: '/pages/discover/discover'
|
})
|
}
|
// getHomeBannerDetail({id})
|
},
|
seriveClick(e) {
|
const {
|
id,
|
title
|
} = e.currentTarget.dataset
|
if (title === '专属客服') {
|
wx.navigateTo({
|
url: `/pages/kefu/index?title=${title}&id=${id}`,
|
})
|
} else {
|
wx.navigateTo({
|
url: `/pages/kefu/service?title=${title}&id=${id}`,
|
})
|
}
|
},
|
jumpProConsult() {
|
wx.switchTab({
|
url: '/pages/consult/consult',
|
})
|
},
|
/**
|
* 生命周期函数--监听页面初次渲染完成
|
*/
|
bindVideoPlay() {
|
const {
|
id
|
} = this.data.productVideo[0]
|
actionDo({
|
actionType: 'view',
|
id
|
})
|
},
|
hdBtn() {
|
this.setData({
|
showWhiteHead: true,
|
open: true,
|
font_color: "#000000",
|
sty: '',
|
topHeadStyle: 1,
|
desc: false
|
})
|
},
|
touchStart: function (e) {
|
touchDot = e.touches[0].pageY;
|
},
|
touchMove: function (e) {
|
var touchMove = e.touches[0].pageY;
|
if (touchMove - touchDot <= 0 && this.data.top <= 1 && this.data.desc) {
|
this.setData({
|
showWhiteHead: true,
|
open: false,
|
desc: false
|
})
|
setTimeout(() => {
|
this.setData({
|
open: true,
|
sty: ''
|
})
|
}, 1000)
|
}
|
if (touchMove - touchDot >= 50 && this.data.top <= 1 && !this.data.desc) {
|
this.setData({
|
showWhiteHead: false,
|
open: false,
|
desc: true,
|
sty: 'overflow: hidden;'
|
})
|
}
|
},
|
onPageScroll(e) {
|
const {
|
videoTop,
|
windowHeight,
|
videoPlay
|
} = this.data
|
if (e.scrollTop + 100 > videoTop - (windowHeight / 2) && videoPlay) {
|
this.setData({
|
videoPlay: false
|
})
|
let videoplay = wx.createVideoContext('myvideo', this)
|
videoplay.play();
|
}
|
|
let scrollTop = e.scrollTop / 100
|
if (scrollTop <= 0.1) {
|
this.setData({
|
font_color: '#ffffff'
|
})
|
} else if (scrollTop >= 0.1 && scrollTop < 0.2) {
|
this.setData({
|
font_color: '#d0d0d0'
|
})
|
} else if (scrollTop >= 0.2 && scrollTop < 0.3) {
|
this.setData({
|
font_color: '#bdbdbd'
|
})
|
} else if (scrollTop >= 0.3 && scrollTop < 0.4) {
|
this.setData({
|
font_color: '#a1a1a1'
|
})
|
} else if (scrollTop >= 0.4 && scrollTop < 0.5) {
|
this.setData({
|
font_color: '#878787'
|
})
|
} else if (scrollTop >= 0.5 && scrollTop < 0.6) {
|
this.setData({
|
font_color: '#6d6d6d'
|
})
|
} else if (scrollTop >= 0.6 && scrollTop < 0.7) {
|
this.setData({
|
font_color: '#535353'
|
})
|
} else if (scrollTop >= 0.7 && scrollTop < 0.8) {
|
this.setData({
|
font_color: '#3b3b3b'
|
})
|
} else if (scrollTop >= 0.8 && scrollTop < 0.9) {
|
this.setData({
|
font_color: '#282828'
|
})
|
} else if (scrollTop >= 0.9) {
|
this.setData({
|
font_color: '#000000'
|
})
|
}
|
if (scrollTop > 0) {
|
this.setData({
|
showWhiteHead: true
|
})
|
} else {
|
this.setData({
|
showWhiteHead: false
|
})
|
}
|
this.setData({
|
topHeadStyle: scrollTop,
|
top: scrollTop
|
})
|
},
|
/**
|
* 生命周期函数--监听页面隐藏
|
*/
|
onHide() {
|
|
},
|
|
/**
|
* 生命周期函数--监听页面卸载
|
*/
|
onUnload() {
|
|
},
|
|
/**
|
* 页面相关事件处理函数--监听用户下拉动作
|
*/
|
onPullDownRefresh() {
|
|
},
|
|
/**
|
* 页面上拉触底事件的处理函数
|
*/
|
onReachBottom() {
|
|
},
|
|
/**
|
* 用户点击右上角分享
|
*/
|
onShareAppMessage() {
|
|
}
|
})
|