|
|
// component/productListCell.js
|
|
|
import { shouldDiscardTap} from '../utils/util';
|
|
|
|
|
|
//获取应用实例
|
|
|
let app = getApp();
|
|
|
|
|
|
const screenHeight = app.globalData.systemInfo.screenHeight;
|
|
|
const windowWidth = app.globalData.systemInfo.windowWidth;
|
|
|
const windowHeight = app.globalData.systemInfo.windowHeight;
|
|
|
|
|
|
const DEVICE_WIDTH_RATIO = windowWidth / 320;
|
|
|
|
|
|
let listWidth = Math.ceil(137.5 * DEVICE_WIDTH_RATIO);
|
|
|
let listHeight = Math.ceil(254 * DEVICE_WIDTH_RATIO);
|
|
|
|
|
|
const IMAGE_WIDTH = 145;
|
|
|
const IMAGE_HEIGHT = 193;
|
|
|
const IMAGE_RATIO = IMAGE_HEIGHT / IMAGE_WIDTH;
|
|
|
let listImageTop = 31;
|
|
|
let listImageWidth = listWidth;
|
|
|
let listImageHeight = Math.ceil(listWidth * IMAGE_RATIO);
|
|
|
|
|
|
let listMarginHorizontal = (windowWidth - listWidth * 2) / 3;
|
|
|
|
|
|
let PV_ID = new Date().getTime() + '';
|
|
|
|
|
|
Component({
|
|
|
/**
|
|
|
* 组件的属性列表
|
|
|
*/
|
|
|
properties: {
|
|
|
item:{
|
|
|
type: Object
|
|
|
},
|
|
|
pageName: {
|
|
|
type: String,
|
|
|
value: ""
|
|
|
},
|
|
|
animationType: {
|
|
|
type: String,
|
|
|
value: ""
|
|
|
},
|
|
|
logEvenName: {
|
|
|
type: String,
|
|
|
value: ""
|
|
|
},
|
|
|
index: {
|
|
|
type: Number,
|
|
|
value: 0
|
|
|
},
|
|
|
fIndex: {
|
|
|
type: Number,
|
|
|
value: 0
|
|
|
},
|
|
|
fName: {
|
|
|
type: String,
|
|
|
value: ""
|
|
|
},
|
|
|
pageParam: {
|
|
|
type: String,
|
|
|
value: ""
|
|
|
}
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 组件的初始数据
|
|
|
*/
|
|
|
data: {
|
|
|
lastTapTimeStamp: 0,
|
|
|
|
|
|
screenHeight,
|
|
|
windowHeight,
|
|
|
listWidth,
|
|
|
listHeight,
|
|
|
listImageWidth,
|
|
|
listImageHeight,
|
|
|
listImageTop,
|
|
|
listMarginHorizontal,
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 组件的方法列表
|
|
|
*/
|
|
|
methods: {
|
|
|
productCellTapped(event) {
|
|
|
if (shouldDiscardTap(event.timeStamp, this.data.lastTapTimeStamp)) {
|
|
|
return;
|
|
|
}
|
|
|
this.setData({ lastTapTimeStamp: event.timeStamp });
|
|
|
let data = event.currentTarget.dataset;
|
|
|
let productSkn = data.productSkn;
|
|
|
|
|
|
// 根据动画类型来选择动画效果
|
|
|
if (this.properties.animationType && this.properties.animationType == "redirectTo") {
|
|
|
wx.redirectTo({
|
|
|
url: '/pages/goodsDetail/goodsDetail?productSkn=' + productSkn + '&page_name=' + this.properties.pageName + '&page_param=' + this.properties.pageParam
|
|
|
})
|
|
|
} else {
|
|
|
wx.navigateTo({
|
|
|
url: '/pages/goodsDetail/goodsDetail?productSkn=' + productSkn + '&page_name=' + this.properties.pageName + '&page_param=' + this.properties.pageParam
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}) |