/* * 手太欠 * 愿这世界都如故事里一样 美好而动人~ */ Page({ /** * 页面的初始数据 */ data: { BarHeight : '', indicatorDots: false, vertical : false, autoplay : false, interval : 2000, duration : 500, previousmargin: '40rpx',//前边距 nextmargin : '40rpx',//后边距 otherCurrent : 1, goodsArr : [], //商品 bannersArr : [], //轮播商品 surplus : '', //水滴量 healthsArr : [], //健康文章 centerInfo : [], //体验官介绍 serviceMobile: '', //客服电话 categories : '', //详情分类 userLogin : '', //是否登录 videos : '', videoFlx : false, //视频定位 showGoods : '', //默认商品 waterMobile : '', //电话 memoryCurrent: 0, videoState : true, //第一个视频是否加载 videoFilex : true, //第二个视频是否加载 // 记忆 startX : 0, endX : 0, iCenter : 3, datas: [], order: [], haveimg : '', //双节图片 }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { // 双节 this.setData({ haveimg: true }) this.setData({ BarHeight: getApp().globalData.systInfo.statusBarHeight + wx.getMenuButtonBoundingClientRect().height }) // 邀请码 if(options.invite) { this.setData({ inviteCode : options.invite }) wx.setStorage({ key : 'inviteData', data : options.invite }) } this.__set__(); }, /** * 生命周期函数--监听页面显示 */ onShow() { // 获取首页数据 this.indexInfo(); // 获取登录状态 if(wx.getStorageSync("token")){ this.setData({ userLogin: true }) // 获取用户信息 this.userInfo(); } }, /** * 首页数据 */ indexInfo (e) { wx.$api.index.home().then(res => { this.setData({ goodsArr : res.data.goods, videos : res.data.videos[0], healthsArr : res.data.healths, datas : res.data.memories, categories : res.data.categories, waterMobile : res.data.water_mobile }) this.move(); }).catch(err => {}) }, /** * 用户信息 */ userInfo() { wx.$api.user.home().then(res => { this.setData({ surplus : res.data.account.score.surplus }) }).catch(err => {}) }, /** * 轮播图的切换事件 */ swiperOther (e) { this.setData({ otherCurrent: e.detail.current //获取当前轮播图片的下标 }) }, /** * 拨打电话 */ phoneCall(){ wx.makePhoneCall({ phoneNumber: this.data.waterMobile }); }, /** * 跳转文章列表 */ tapMore(e){ wx.navigateTo({ url: '/pages/article/index?type=' + e.currentTarget.dataset.type }) }, /** * 处理未登录时的转跳 */ userNav(e){ let pageUrl = e.currentTarget.dataset.url if(wx.getStorageSync("token")){ wx.navigateTo({ url: pageUrl }) }else{ // 去登录 wx.navigateTo({ url: "/pages/login/index" }) } }, /** * 监听页面滚动 */ bestScroll(e){ if(e.detail.scrollTop >= this.data.systInfo.safeArea.width && !this.data.videoFlx){ this.setData({ videoFlx: true }) }else if(e.detail.scrollTop < this.data.systInfo.safeArea.width && this.data.videoFlx){ this.setData({ videoFlx: false }) } }, move () { var datas = this.data.datas; /*图片分布*/ for (var i = 0; i < datas.length; i++) { var data = datas[i]; var animation = wx.createAnimation({ duration: 200 }); animation.translateX(data.left).step(); this.setData({ ["datas[" + i + "].animation"]: animation.export(), ["datas[" + i + "].zIndex"]: data.zIndex }) } }, /**左箭头 */ left: function () { var last = this.data.datas.pop(); //获取数组的最后一个 this.data.datas.unshift(last);//放到数组的第一个 var orderFirst = this.data.order.shift(); this.data.order.push(orderFirst); this.move(); }, /** */ right: function () { var first = this.data.datas.shift(); //获取数组的第一个 this.data.datas.push(first);//放到数组的最后一个位置 var orderLast = this.data.order.pop(); this.data.order.unshift(orderLast); this.move(); }, /**新的排列复制到新的数组中 */ __set__: function () { var that = this; var order = that.data.order; var datas = that.data.datas; for (var i = 0; i < datas.length; i++) { that.setData({ ["order[" + i + "]"]: datas[i].id }) } }, //手指触发开始移动 moveStart (e) { var startX = e.changedTouches[0].pageX; this.setData({ startX : startX }); }, //手指触摸后移动完成触发事件 moveItem (e) { var that = this; var endX = e.changedTouches[0].pageX; this.setData({ endX: endX }); //计算手指触摸偏移剧距离 var moveX = this.data.startX - this.data.endX; //向左移动 if (moveX > 20) { this.left(); } if (moveX < -20) { this.right(); } }, // 第一个播放进度变化时触发 bindloadedOne() { this.setData({ videoState: false }) }, // 第二个播放进度变化时触发 bindloadedTwo() { this.setData({ videoFilex: false }) }, // 双节 haveHIde() { this.setData({ haveimg: false }) } })