class Index {
constructor() {
// console.log(config.getBaseUrl());
// this.getClassList()
this.index = 0;
this.principal = [];
this.GetType()
this.initSwiper()
footer()
}
initSwiper() {
var self = this;
this.swiper = new Swiper('.swiper', {
direction: 'horizontal',
on: {
slideChangeTransitionStart: function () {
_(".header_menu ul li")[this.activeIndex].addClass("active")
.siblings().removeClass("active");
self.index = this.activeIndex
if (this.activeIndex != 0) {
self.getClassList()
}
},
},
})
}
async GetType() {
// 第一次访问网页获取分类
if (!getItem("principal")) {
let { principal, additional } = await indexServe.type();
this.principal = principal
setItem("principal", principal)
setItem("additional", additional)
} else {
this.principal = getItem("principal")
}
this.principal.forEach((v, i) => {
$(".header_menu ul").html(`
${v.title}
`);
$(".swiper-wrapper").html(`
`)
});
_(".swiper-wrapper .swiper-slide").forEach(v => {
v.onscroll = () => {
const {clientHeight, scrollHeight, scrollTop} = v;
const distance = scrollHeight- scrollTop - clientHeight;
if(distance <= 0) {
if (this.index != 0) {
this.principal[this.index].page += 1;
if (this.principal[this.index].page <= this.principal[this.index].total_page) {
this.getClassList('load_more')
} else {
// 暂无数据的样式
}
}
}
}
})
_(".header_menu ul li").tap(( { v, i }) => {
// 链式调用
this.swiper.slideTo(i)
})
this.getIndex();
}
async getClassList(type = 'click') {
let loadData = async () => {
let res = await indexServe.classList({
id: this.principal[this.index].id,
page: this.principal[this.index].page
});
this.principal[this.index].content = res.data;
this.principal[this.index].total_page = res.total_page
console.log(this.principal);
item(
_(".swiper-wrapper .swiper-slide ul")[this.index],
this.principal[this.index].content
)
}
this.principal=getItem("principal")
console.log(getItem("principal"))
if (type == 'click') {
if (this.principal[this.index].content.length == 0) {
loadData()
}
} else {
loadData()
}
}
async getIndex() {
let res = await indexServe.index();
console.log("index: ",res);
item(_(".swiper-wrapper .swiper-slide ul")[0],res.list)
}
}
new Index()