| 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 | 
|         }) | 
|       }) | 
|     }, 2000) | 
|   }, | 
|   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() { | 
|   | 
|   } | 
| }) |