 /*
 * 手太欠
 * 愿这世界都如故事里一样 美好而动人~
 */

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
        })
    }
})
