yuminge-app/yun-min-program-plugin-master/packageH/cpsCard/cpsCard.js

191 lines
4.5 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// packageH/cpsCard/cpsCard.js
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
hot: [],
category: [],
acindex: 0,
tabsHeight: "",
topHeight: "",
currBox: "tab0",
heightArray: [],
toview: "ind0",
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.getdata();
},
goDetail(e) {
console.log(e);
let id = e.currentTarget.dataset.id;
let name = e.currentTarget.dataset.name;
wx.navigateTo({
url: "/packageH/cpsList/cpsList?id=" + `${id}&name=${name}`,
});
// wx.navigateTo({
// url: 'packageD/buy/myOrder_v2/myOrder_v2?tag=-2'`&goodsId=${id}&optionsId=&total=${num}`,
// })
},
taptest(e) {
let ind = e.currentTarget.dataset.ind;
this.setData({
acindex: ind,
});
this.setData({
toview: `ind${ind}`,
});
},
tabScroll(e) {},
bincroll(e) {
// console.log(e.detail.scrollTop)
let scrollTop = e.detail.scrollTop;
if (scrollTop <= this.data.topHeight && this.data.curr) {
this.setData({
curr: false,
});
} else if (scrollTop > this.data.topHeight && !this.data.curr) {
this.setData({
curr: true,
});
}
for (let i = 0; i < this.data.category.length; i++) {
if (this.data.heightArray[1] >= e.detail.scrollTop) {
this.setData({
acindex: 0,
currBox: "tab0",
});
} else if (
this.data.heightArray[i] < e.detail.scrollTop + 50 &&
e.detail.scrollTop + 50 < this.data.heightArray[i + 1]
) {
this.setData({
acindex: i,
currBox: "tab" + i,
});
break;
} else if (
this.data.heightArray[this.data.category.length - 1] <=
e.detail.scrollTop + 50
) {
this.setData({
acindex: this.data.category.length - 1,
currBox: "tab" + this.data.category.length - 1,
});
}
// console.log(this.data.heightArray[i],e.detail.scrollTop,this.data.heightArray[i+1],i)
}
},
testTabs() {
// 获取全部分类box高度 -100
let that = this;
let heightArray = [];
for (let i = 0; i < this.data.category.length; i++) {
wx.createSelectorQuery()
.select(`#ind${i}`)
.boundingClientRect(function (rect) {
heightArray.push(rect.top - that.data.topHeight - 100);
if (i == that.data.category.length - 1) {
that.setData({
heightArray: heightArray,
});
}
// console.log(heightArray)
})
.exec();
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
let that = this;
wx.createSelectorQuery()
.select(".page-section-spacing")
.boundingClientRect(function (rect) {
console.log(rect);
that.setData({
tabsHeight: rect.top,
});
})
.exec();
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {},
getdata() {
wx.showLoading({
title: "加载中",
});
let that = this;
let urlStr = app.getNetAddresss("plugin.aggregation-cps.api.equity");
app._getNetWork({
url: urlStr,
success: (resdata) => {
let res = resdata.data;
wx.hideLoading();
if (res.result == 1) {
that.setData({
hot: res.data.hot,
category: res.data.category,
brand: res.data.category[0].brand,
});
setTimeout(() => {
wx.createSelectorQuery()
.select(".top")
.boundingClientRect(function (rect) {
that.setData({
topHeight: rect.height,
});
})
.exec();
that.testTabs();
}, 200);
} else {
wx.showToast({
title: res.msg,
duration: 1000,
icon: "none",
});
}
},
fail: function (res) {
console.log(res.msg);
},
});
},
});