Vue.config.devtools = true;
var v = new Vue({
    el:".container",
    data:{
        isVip: localStorage.getItem('isVip') == 1,
        list:[],
        cata:[],
        oneCata:[],
        twoCata:[],
        threeCata:[],
        start:1,
        size:10,
        finished:false,
        loading:false,//出现了 上拉到底出发了两次请求接口的情况  加一个变量控制一下
        active:-1,
        ad:[],//广告信息
        isLogin: 0,
        memToken: '',
        memHeadImg: '',
        userJf:-1,
        chooseItem:false,
        integralType:"",
        integralCount:""
    },
    created:function (){
        if($.cookie("memToken")){
            this.memToken = $.cookie("memToken");
            this.isLogin=1;
        }
        if($.cookie("memHeadImg")){
            this.memHeadImg = $.cookie("memHeadImg");
        }
        this.getIndexData();
        this.getCataList(1,1);
        this.getAdInfo();
        this.findUserIntegral();
        window.addEventListener("scroll", this.scrollBottom, true);
        if (typeof (fromlogin) != "undefined" && fromlogin == "1") {
            jifen();
        }
    },
    mounted (){
        setTimeout(() => {
            var mySwiper = new Swiper('.swiper-container', {
                direction: 'horizontal', // 水平切换选项
                loop: this.ad.length > 1, // 循环模式选项
                observerParents: true,
                observer: true,
                autoplay: {
                    disableOnInteraction: false,  //触碰后自动轮播也不会停止
                    delay: 2000,
                },
                // 如果需要分页器
                pagination: {
                    el: '.swiper-pagination',
                },

                // 如果需要前进后退按钮
                navigation: {
                    nextEl: '.swiper-button-next',
                    prevEl: '.swiper-button-prev',
                },

                // 如果需要滚动条
                scrollbar: {
                    el: '.swiper-scrollbar',
                },

            })
        }, 1000);
        setTimeout(() => {
            $(".loading-item").fadeOut(200);
        },500)
    },
    methods:{
        findUserIntegral (){
            var that = this;
            $.ajax({
                type : 'POST',
                url : serverHttp+"/user/findUserIntegral",
                data : {
                    memToken:that.memToken
                },
                success : function(data) {
                    if (data.code == 200) {
                        that.userJf = data.data;
                    }
                },
                error : function(data) {
                }
            });
        },
        gotoPay (item){
            if ((item.isPurchased == 0 && item.pointFlag == 0 && item.price > 0) || (item.isPurchased == 0 && item.pointFlag == 1 && item.point > 0 )) {
                this.toPay(item.id);
            } else if ((item.isPurchased == 0 && item.pointFlag == 0 && item.price == 0) || (item.isPurchased == 0 && item.pointFlag == 1 && item.point == 0)){
                this.addFreeBuyApi(item.id);
            } else if (item.isPurchased == 1){
                return;
            }
        },
        toPay(id){
            console.log(111);
            if(!checkLogin()){
                // goLogin();
                return false;
            }
            var that = this;
            toPay(4, id, 1,'');
        },
        addFreeBuyApi(id){
            console.log(222);
            if(!checkLogin()){
                // goLogin();
                return false;
            }
            var that = this;
            $.ajax({
                type : 'POST',
                url : serverHttp+"/pay/addFreeBuyApi",
                data : {
                    memToken:that.memToken,
                    orderType: 4,
                    objId: id,
                    ispackage: 1,
                    paySource: 1,
                    fromMemCard: ''
                },
                success : function(data) {
                    if (data.code == 200) {
                        that.list.forEach((item,index)=>{
                            if(item.id == id){
                                item.isPurchased=1;
                            }
                        });
                        that.integralType = "领取课件";
                        that.integralCount=5;
                        $(".integral-toast").show();
                        playMusic()
                        setTimeout(function (){
                            $(".integral-toast").fadeOut(200);
                        },2000);
                        alert("领取成功");
                    }else if(data.code == 10008){
                        //去登录
                        goLogin();
                    }else{
                        alert(data.data.message);
                    }
                },
                error : function(data) {
                }
            });
        },
        getIndexData (id) {
            //id：分类id id = -1 是全部分类
            var that = this;
            if (that.loading) {
                return ;
            }
            that.loading = true;
            if(that.start == 1){
                that.list = []
            }
            $.ajax({
                type : 'POST',
                url : serverHttp+"/courseware/getlistData",
                data : {
                    cataId:that.active,
                    page: that.start,
                    size: that.size,
                    memToken:that.memToken
                },
                success : function(data) {
                    if (data.code == 200) {
                        that.list = that.list.concat(data.data);
                        // 请求的数据未加载完成时
                        that.start = that.start + 1;
                        that.loading = false;
                    } else if (data.code == 10005) {
                        that.finished = true;
                    }

                },
                error : function(data) {

                }
            });
        },
        coursePrefectureList (i) {
            const type = this.list[i].zq;
            console.log(type);
            if (type == 1) {
                //普通课程
                window.location.href = serverHttp + "/course/courseDetails?from=H5&id="+this.list[i].id;
            } else {
                //专区
                window.location.href = serverHttp + "/course/coursePrefectureList?from=H5&id="+this.list[i].id;
            }
        },
        scrollBottom() {
            const that = this;
            // 滚动到页面底部时
            const el = document.getElementById("list");
            const elHeight = $("#list").offset()['top'];//元素距离顶部距离 该计算可能会有一些偏差
            const windowHeight = window.screen.height*750/window.screen.width;
            const scrollTop =
                document.documentElement.scrollTop || document.body.scrollTop;
            const contentHeight = el.clientHeight;
            //316为
            const toBottom = contentHeight - windowHeight - scrollTop-elHeight;
            if (toBottom < 10 && !that.finished) {
                that.getIndexData();
            }
        },

        hideCata () {
            this.chooseItem = false;
        },
        confirm (){
            var that = this;
            that.loading = false;
            that.start = 1;
            that.getIndexData();
        },
        chooseCata(i,type){
            var that = this;
            if (type == 1) {
                //取二级菜单
                for (var item of that.oneCata) {
                    if (item.active == 1) {
                        item.active = 0
                    }
                }
                that.twoCata = [];
                that.threeCata = [];
                that.oneCata[i].active = 1;
                that.getCataList(that.oneCata[i].id,2);
                var cataId = that.oneCata[i].id;
                that.active = cataId;
            } else  if (type == 2) {
                //取三级级菜单
                for (var item of that.twoCata) {
                    if (item.active == 1) {
                        item.active = 0
                    }
                }
                that.threeCata = [];
                that.twoCata[i].active = 1;
                that.getCataList(that.twoCata[i].id,3);
                var cataId = that.twoCata[i].id;
                that.active = cataId;
            } else {
                //三级直接查
                for (var item of that.threeCata) {
                    if (item.active == 1) {
                        item.active = 0
                    }
                }
                that.threeCata[i].active = 1;
                var cataId = that.threeCata[i].id;
                that.active = cataId;
            }
        },
        getCataList (fId,type) {
            var that = this;
            $.ajax({
                type : 'POST',
                url : serverHttp+"/course/getCataListForCourseware",
                data:{
                    fId:fId,
                    type:type,
                },
                success : function(res) {
                    if (res.code == 200) {
                        var item = res.data;
                        for (var i = 0 ; i < item.length; i++) {
                            // if (i == 0) {
                            //     item[i].active = 1
                            // } else {
                                item[i].active = 0;
                            // }
                        }
                        if (type == 1) {
                            that.cata = item;
                            that.oneCata = item;
                        } else if (type == 2) {
                            that.twoCata = item;
                        } else {
                            that.threeCata = item;
                        }
                        that.cata[0].active = 1;
                    }

                },
                error : function(data) {

                }
            });
        },
        downFile (id) {
            var that = this;
            window.location.href = serverHttp+"/courseware/downFile?id="+id+"&memToken="+$.cookie("memToken");
        },
        getAdInfo () {
            var that = this;
            $.ajax({
                type : 'POST',
                url : serverHttp+"/courseware/getAdInfo",
                success : function(res) {
                    if (res.code == 200) {
                        that.ad = res.data;
                    }
                },
                error : function(data) {
                }
            });
        },
        chooseTab (i){
            console.log(i);
            var that = this;
            for (var item of that.cata) {
                if (item.active == 1) {
                    item.active = 0
                }
            }
            that.cata[i].active = 1;
            var cataId = that.cata[i].id;
            that.active = cataId;
            that.loading = false;
            that.start = 1;
            that.twoCata = [];
            that.threeCata = [];
            that.getIndexData();
        },
        gotoAdHtml (url){
            window.location.href = url;
        },
        showChooseItem (){
            if (this.chooseItem) {
                this.chooseItem = false;
            } else {
                this.chooseItem = true;
            }
        }
    }
})
