Commit e3268191 authored by 王炽's avatar 王炽

66666

parent 4621e78b
......@@ -134,7 +134,13 @@
:class="getGoodsListClass()">
<view v-for="(good, goodIndex) in creditsSaleData.sessions[currentSessionIndex]?.goods || []"
:key="goodIndex" class="credits_sale_good_item"
@click="handleCreditsSaleClickThrottled(good)">
@click="handleCreditsSaleClickThrottled(good, $event)" :data-comlog="{
xcxComponentClick: 'true',
xcxComponentExposure: 'true',
pageName: '积分服务页',
componentName: '积分限时购',
componentContent: good.name
}">
<!-- 商品图片 -->
<view class="good_image_placeholder">
<image v-if="good.image" :src="good.image" mode="aspectFill" class="good_image" />
......@@ -665,15 +671,20 @@ const mapSeckillDataToCreditsSale = (seckillData) => {
};
// 处理积分抢购点击事件
const handleCreditsSaleClick = (good) => {
const handleCreditsSaleClick = (good, event) => {
console.log('点击抢购商品:', good);
md.sensorComponentLogTake({
xcxComponentClick: "true",
pageName: "积分服务页",
componentName: "积分限时购",
componentContent: good.name
});
if (event) {
if (event.currentTarget.dataset.comlog) {
md.sensorComponentLog(event);
}
}
// md.sensorComponentLogTake({
// xcxComponentClick: "true",
// pageName: "积分服务页",
// componentName: "积分限时购",
// componentContent: good.name
// });
// 获取当前活动ID和场次Key
const activityId = creditsSaleData.value.activityId;
const sessionKey = creditsSaleData.value.sessions[currentSessionIndex.value]?.sessionKey;
......@@ -681,7 +692,9 @@ const handleCreditsSaleClick = (good) => {
};
// 创建防连点的点击处理函数
const handleCreditsSaleClickThrottled = throttleTap(handleCreditsSaleClick, 1000);
const handleCreditsSaleClickThrottled = throttleTap((good, event) => {
handleCreditsSaleClick(good, event);
}, 1000);
// 生成测试数据
const generateTestSeckillData = () => {
......
......@@ -46,6 +46,7 @@
<script setup>
import { defineProps, defineEmits, onMounted } from 'vue';
import { throttleTap } from '../../utils';
// Props 定义
const props = defineProps({
......@@ -76,11 +77,11 @@ onMounted(() => {
});
// 去邀请按钮点击事件
const handleInviteClick = () => {
const handleInviteClick = throttleTap(() => {
console.log('去邀请按钮点击');
emit('invite');
};
}, 1000);
......
......@@ -311,7 +311,17 @@
<scroll-view class="benefits_list" scroll-x="true" show-scrollbar="false">
<view class="benefits_container"
:class="{ 'few-items': benefitList.length <= 2, 'single-item': benefitList.length === 1 }">
<view class="benefit_item" @click="handleExchangeClick(benefit, index)" v-for="(benefit, index) in benefitList" :key="index">
<view class="benefit_item"
v-for="(benefit, index) in benefitList"
:key="index"
:data-comlog="{
xcxComponentClick: 'true',
xcxComponentExposure: 'true',
pageName: '积分服务页',
componentName: '异业券权益',
componentContent: `${benefit?.goodsName}`
}"
@click="handleExchangeClick(benefit, index, $event)">
<!-- 权益图片 -->
<view class="benefit_image">
<image class="benefit_img" :src="benefit.goodsLogo" mode="aspectFill" />
......@@ -383,7 +393,13 @@
background: `url(${$baseUrl}integral/1022/listItemImgBg${itemIndex}.png) no-repeat center/contain`
}"> -->
<view class="goods-item" v-for="(goodItem, i) in goodItemList?.resourcePositionGoods" :key="i">
<view class="goods-item-container" @click="handleGoodsItemClick(goodItem, i)">
<view class="goods-item-container" :data-comlog="{
xcxComponentClick: 'true',
xcxComponentExposure: 'true',
pageName: '积分服务页',
componentName: '积分商品',
componentContent: `${goodItemList?.resourcePositionName}-${goodItem?.goodsName}`
}" @click="handleGoodsItemClick(goodItem, i, $event)">
<image class="goods-img"
:src="goodItem?.goodsIcon.indexOf('http') !== -1 ? goodItem?.goodsIcon : $baseUrl + `${goodItem?.goodsIcon}`"
mode="scaleToFill" />
......@@ -537,7 +553,7 @@ import { onShareAppMessage } from '@dcloudio/uni-app';
import { fetchIntegralJSON, fetchBatchReceiveJSON, taskCompleteJSON } from '../api/integral';
import RegisterLayer from "../components/RegisterLayer.vue";
import { showLoading, hideLoading } from '../utils'
import { showLoading, hideLoading, throttleTap } from '../utils'
import xinrenli from '../components/quanyi/xinrenli.vue'
import md from '../md';
import mianfeiwenzhen from '../components/quanyi/mianfeiwenzhen.vue';
......@@ -1760,22 +1776,22 @@ const getWeekdayLabel = (day) => {
// 监听 scrollTop 变化
watch(() => props.scrollTop, (newVal) => {
console.log('scrollTop 变化:', newVal)
// console.log('scrollTop 变化:', newVal)
// 执行相关逻辑,如曝光检测
if (newVal > 650 && newVal < 1200) {
if(mdMap.value.indexOf('异业券权益') == -1) {
mdMap.value.push('异业券权益');
if(benefitList.value.length > 0) {
md.sensorComponentLogTake({
xcxComponentExposure: "true",
pageName: "积分服务页",
componentName: "异业券权益",
componentContent: "异业券权益"
});
}
}
// if(mdMap.value.indexOf('异业券权益') == -1) {
// mdMap.value.push('异业券权益');
// if(benefitList.value.length > 0) {
// md.sensorComponentLogTake({
// xcxComponentExposure: "true",
// pageName: "积分服务页",
// componentName: "异业券权益",
// componentContent: "异业券权益"
// });
// }
// }
if(mdMap.value.indexOf('邀请记录曝光') == -1) {
mdMap.value.push('邀请记录曝光');
......@@ -2411,18 +2427,24 @@ const convertType = (type, url, extra = {}) => {
//商品点击
const handleGoodsItemClick = (goodsItem, googidx) => {
const handleGoodsItemClick = throttleTap((goodsItem, googidx, event) => {
console.log('handleGoodsItemClick:', goodsItem, googidx);
const tabname = goodsDataArr[activeIndex.value].resourcePositionName;
const buttonName = goodsItem.goodsName;
if (event) {
if (event.currentTarget.dataset.comlog) {
md.sensorComponentLog(event);
}
}
md.sensorComponentLogTake({
xcxComponentClick: "true",
pageName: "积分服务页",
componentName: "积分商品",
componentContent: tabname + '-' + buttonName
});
// const tabname = goodsDataArr[activeIndex.value].resourcePositionName;
// const buttonName = goodsItem.goodsName;
// md.sensorComponentLogTake({
// xcxComponentClick: "true",
// pageName: "积分服务页",
// componentName: "积分商品",
// componentContent: tabname + '-' + buttonName
// });
// let buttonName0 = '';
// let buttonName1 = '';
......@@ -2470,7 +2492,7 @@ const convertType = (type, url, extra = {}) => {
url: url,
extra: extra,
})
}
}, 1000);
const handleScroll = (e) => {
const currentIndex = e.detail.current;
......@@ -2835,7 +2857,7 @@ const handleHelpClick = () => {
}
// 签到按钮点击事件
const handleSigninClick = async () => {
const handleSigninClick = throttleTap(async () => {
console.log('签到按钮点击');
md.sensorComponentLogTake({
......@@ -2868,7 +2890,7 @@ const handleSigninClick = async () => {
icon: 'none'
});
}
}
}, 1000);
// 关闭签到提示弹窗
const handleCloseSignedTips = () => {
......@@ -2916,15 +2938,21 @@ const handleCloseGongzhonghaoPop = () => {
}
// 处理异业券兑换点击
const handleExchangeClick = (benefit, index) => {
const handleExchangeClick = throttleTap((benefit, index, event) => {
console.log('兑换权益:', benefit);
md.sensorComponentLogTake({
xcxComponentClick: "true",
pageName: "积分服务页",
componentName: "异业券权益",
componentContent: benefit.goodsName
});
if (event) {
if (event.currentTarget.dataset.comlog) {
md.sensorComponentLog(event);
}
}
// md.sensorComponentLogTake({
// xcxComponentClick: "true",
// pageName: "积分服务页",
// componentName: "异业券权益",
// componentContent: benefit.goodsName
// });
if (!islogin.value) {
needReinit.value = true;
......@@ -2935,13 +2963,6 @@ const handleExchangeClick = (benefit, index) => {
return;
}
// 埋点统计
md.sensorLogTake({
xcxClick: "积分服务页-异业券权益页面点击",
pageName: "积分服务页-异业券权益",
buttonName: `兑换权益-${benefit.name}`,
});
jump({
type: JumpType.INNER,
......@@ -2966,7 +2987,7 @@ const handleExchangeClick = (benefit, index) => {
// icon: 'success'
// });
// }
}
}, 1000);
// 处理邀请按钮点击
const handleInviteClick = () => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment