class Index { constructor() { this.principal = []; this.currentIndex = 0; footer() this.getIndex(); this.getClass(); } // 请求横向菜单 async getClass() { var res; // 本地没有缓存数据,表示用户是第一次使用这个app if (localStorage.getItem("principal") == null) { res = await server.type(); localStorage.setItem("principal", JSON.stringify(res.principal)) localStorage.setItem("additional", JSON.stringify(res.additional)) } else { res = { principal: JSON.parse(localStorage.getItem("principal")), additional: JSON.parse(localStorage.getItem("additional")) } console.log("res: ", res) } this.principal = res.principal; this.principal.unshift({ id: null, page: 0, title: "首页" }) this.principal.forEach(v => { v.content = [] }) this.principal.forEach((v,i) => { $(".header_menu ul").innerHTML += `
  • ${v.title}
  • `; if (i > 0) { $(".swiper-container .swiper-wrapper").innerHTML += `
    ` } }); var silder = _(".swiper-wrapper .swiper-slide"); silder.forEach((v,i) => { if (i > 0) { loadMore(v, () => { console.log("滚动到底部了:",i ) this.principal[i].page += 1; if (this.principal[i].page <= this.principal[i].total_page) { this.getClassList("load") } }) } }) this.initSwiper(); } initSwiper() { var liArr = _(".header_menu ul li"); var pageSwiper = new swiper('.swiper-container', { time: 3, auto: false, speed: 800, on: { slideChangeTransitionStart: (index) => { this.currentIndex = index; this.getClassList() liArr.forEach(v => v.className = "") liArr[index].className = "active" } } }); liArr.forEach((v,i) => { v.onclick = () => { this.currentIndex = i; this.getClassList() pageSwiper.slideTo(i) liArr.forEach(v => v.className = "") v.className = "active" } }) } // 请求首页的数据 async getIndex() { var res = await server.index(); item($(".recommended ul"), res.recommended.data) item($(".newest ul"), res.newest.data) model(".model_banner", res.model.res) } async getClassList(type = "click") { var getData = async () => { var res = await server.classList({ id: this.principal[this.currentIndex].id, page: this.principal[this.currentIndex].page }); this.principal[this.currentIndex].content = this.principal[this.currentIndex].content.concat(res.data); this.principal[this.currentIndex].total_page = res.total_page; this.principal[this.currentIndex].page = res.current_page; var clickSlide = _(".swiper-wrapper .swiper-slide")[this.currentIndex] item(clickSlide, res.data); } if (type == "click") { // 第一次点击这个分类,那么请求数据 if ( this.principal[this.currentIndex].content.length == 0 && this.principal[this.currentIndex].id != null ) { getData() } } else { getData() } } } new Index();