Commit 2986933c authored by 王炽's avatar 王炽

66666

parent 8ea0ef83
...@@ -168,6 +168,7 @@ ...@@ -168,6 +168,7 @@
import { ref, onMounted, computed, watch, nextTick } from 'vue'; import { ref, onMounted, computed, watch, nextTick } from 'vue';
import { useIntegralStore } from '../stores/integral'; import { useIntegralStore } from '../stores/integral';
import { throttleTap } from '../utils/index'; import { throttleTap } from '../utils/index';
import md from '../md';
// Props // Props
const props = defineProps({ const props = defineProps({
...@@ -357,6 +358,15 @@ const shouldShowSection = computed(() => { ...@@ -357,6 +358,15 @@ const shouldShowSection = computed(() => {
// sessionsLength: creditsSaleData.value?.sessions?.length || 0, // sessionsLength: creditsSaleData.value?.sessions?.length || 0,
// creditsSaleData: creditsSaleData.value // creditsSaleData: creditsSaleData.value
// }); // });
if(hasSessions) {
md.sensorComponentLogTake({
xcxComponentExposure: "true",
pageName: "积分服务页",
componentName: "积分限时购",
componentContent: "积分限时购"
});
}
return hasSessions; return hasSessions;
}); });
...@@ -657,6 +667,13 @@ const mapSeckillDataToCreditsSale = (seckillData) => { ...@@ -657,6 +667,13 @@ const mapSeckillDataToCreditsSale = (seckillData) => {
// 处理积分抢购点击事件 // 处理积分抢购点击事件
const handleCreditsSaleClick = (good) => { const handleCreditsSaleClick = (good) => {
console.log('点击抢购商品:', good); console.log('点击抢购商品:', good);
md.sensorComponentLogTake({
xcxComponentClick: "true",
pageName: "积分服务页",
componentName: "积分限时购",
componentContent: good.name
});
// 获取当前活动ID和场次Key // 获取当前活动ID和场次Key
const activityId = creditsSaleData.value.activityId; const activityId = creditsSaleData.value.activityId;
const sessionKey = creditsSaleData.value.sessions[currentSessionIndex.value]?.sessionKey; const sessionKey = creditsSaleData.value.sessions[currentSessionIndex.value]?.sessionKey;
......
...@@ -41,9 +41,9 @@ ...@@ -41,9 +41,9 @@
</template> </template>
<script setup> <script setup>
import { defineProps, defineEmits } from 'vue'; import { defineProps, defineEmits, watch } from 'vue';
import { jump, JumpType } from '../../utils'; import { jump, JumpType } from '../../utils';
import md from '../../md.js';
// Props 定义 // Props 定义
const props = defineProps({ const props = defineProps({
visible: { visible: {
...@@ -75,6 +75,20 @@ const props = defineProps({ ...@@ -75,6 +75,20 @@ const props = defineProps({
// Emits 定义 // Emits 定义
const emit = defineEmits(['close', 'record', 'prize']); const emit = defineEmits(['close', 'record', 'prize']);
// 监听 visible 值的变化
watch(() => props.visible, (newVal, oldVal) => {
console.log('InvitePrizePanel visible 值变化:', { newVal, oldVal });
// 当 visible 变为 true 时执行埋点
if (newVal) {
md.sensorPopLogTake({
xcxPopExposure: "true",
toolName: "邀请组件",
popName: "邀请成功弹窗"
});
}
});
// 关闭弹窗 // 关闭弹窗
const handleClose = () => { const handleClose = () => {
emit('close'); emit('close');
...@@ -82,6 +96,13 @@ const handleClose = () => { ...@@ -82,6 +96,13 @@ const handleClose = () => {
// 查看邀请记录按钮点击事件 // 查看邀请记录按钮点击事件
const handleRecordClick = () => { const handleRecordClick = () => {
md.sensorPopLogTake({
xcxPopClick: "true",
toolName: "邀请组件",
popName: "邀请成功弹窗",
buttonName: "查看邀请明细"
});
jump({ jump({
type: 1, type: 1,
url: '/pages/invate/invaterecords' url: '/pages/invate/invaterecords'
...@@ -92,6 +113,13 @@ const handleRecordClick = () => { ...@@ -92,6 +113,13 @@ const handleRecordClick = () => {
// 查看奖品按钮点击事件 // 查看奖品按钮点击事件
const handlePrizeClick = () => { const handlePrizeClick = () => {
md.sensorPopLogTake({
xcxPopClick: "true",
toolName: "邀请组件",
popName: "邀请成功弹窗",
buttonName: "查看奖品"
});
console.log('查看奖品按钮点击'); console.log('查看奖品按钮点击');
if(props.prizeType === 'credits') { if(props.prizeType === 'credits') {
const urlStr = 'https://mom.feihe.com/member/mine/newPointDetail?crmId={crmid}&appCode=XMH'; const urlStr = 'https://mom.feihe.com/member/mine/newPointDetail?crmId={crmid}&appCode=XMH';
......
...@@ -30,7 +30,8 @@ ...@@ -30,7 +30,8 @@
</template> </template>
<script setup> <script setup>
import { defineProps, defineEmits, ref } from 'vue'; import { defineProps, defineEmits, ref, watch } from 'vue';
import md from '../../md';
// Props 定义 // Props 定义
const props = defineProps({ const props = defineProps({
...@@ -54,6 +55,18 @@ const emit = defineEmits(['close', 'accept']); ...@@ -54,6 +55,18 @@ const emit = defineEmits(['close', 'accept']);
// 是否正在播放动画 // 是否正在播放动画
const isAnimating = ref(false); const isAnimating = ref(false);
// 监听 visible 值的变化
watch(() => props.visible, (newVal) => {
if (newVal) {
console.log('埋点');
md.sensorPopLogTake({
xcxPopExposure: "true",
toolName: "做任务赚积分",
popName: "任务完成弹窗"
});
}
});
// 关闭弹窗 // 关闭弹窗
const handleClose = () => { const handleClose = () => {
emit('close'); emit('close');
......
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
<script setup> <script setup>
import { defineProps, defineEmits, ref, onMounted, watch } from 'vue'; import { defineProps, defineEmits, ref, onMounted, watch } from 'vue';
import { useIntegralStore } from '../../stores/integral'; import { useIntegralStore } from '../../stores/integral';
import md from '../../md.js';
// Props 定义 // Props 定义
const props = defineProps({ const props = defineProps({
...@@ -57,6 +58,17 @@ const props = defineProps({ ...@@ -57,6 +58,17 @@ const props = defineProps({
} }
}); });
onMounted(() => {
props.taskTodo.forEach(item => {
md.sensorComponentLogTake({
xcxComponentExposure: "true",
pageName: "任务面板页",
componentName: "做任务赚积分",
componentContent: item.taskTodoExtra?.title
});
});
});
// Emits 定义 // Emits 定义
const emit = defineEmits(['close', 'taskClick']); const emit = defineEmits(['close', 'taskClick']);
...@@ -98,6 +110,13 @@ const handleClose = () => { ...@@ -98,6 +110,13 @@ const handleClose = () => {
// 任务点击事件 // 任务点击事件
const handleTaskClick = (task, index) => { const handleTaskClick = (task, index) => {
md.sensorComponentLogTake({
xcxComponentClick: "true",
pageName: "任务面板页",
componentName: "做任务赚积分",
componentContent: task.taskTodoExtra?.title
});
if (task?.taskTodoExtra?.status === '3') { if (task?.taskTodoExtra?.status === '3') {
// 已完成的任务不触发跳转 // 已完成的任务不触发跳转
console.log('任务已完成:', task?.taskTodoExtra?.title); console.log('任务已完成:', task?.taskTodoExtra?.title);
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
import { ref, onMounted } from 'vue'; import { ref, onMounted } from 'vue';
import { useIntegralStore } from '@/stores/integral'; import { useIntegralStore } from '@/stores/integral';
import { showLoading, hideLoading } from '@/utils'; import { showLoading, hideLoading } from '@/utils';
import md from '../../md';
const integralStore = useIntegralStore(); const integralStore = useIntegralStore();
const records = ref([]); const records = ref([]);
...@@ -66,6 +67,13 @@ const formatTimestamp = (timestamp) => { ...@@ -66,6 +67,13 @@ const formatTimestamp = (timestamp) => {
}; };
onMounted(async () => { onMounted(async () => {
md.sensorComponentLogTake({
xcxComponentExposure: "true",
pageName: "邀请记录页",
componentName: "邀请记录",
componentContent: "邀请记录"
});
showLoading('加载中...'); showLoading('加载中...');
try { try {
await integralStore.getInvitationList(); await integralStore.getInvitationList();
......
...@@ -55,6 +55,7 @@ import { jump, JumpType, showLoading, hideLoading } from '../../utils'; ...@@ -55,6 +55,7 @@ import { jump, JumpType, showLoading, hideLoading } from '../../utils';
import { useGlobalStore } from '@/stores/global'; import { useGlobalStore } from '@/stores/global';
import { useUserStore } from '@/stores/user'; import { useUserStore } from '@/stores/user';
import { useIntegralStore } from '@/stores/integral'; import { useIntegralStore } from '@/stores/integral';
import md from '../../md';
// 分享登录弹窗状态 // 分享登录弹窗状态
const showSharePopLogin = ref(false); const showSharePopLogin = ref(false);
...@@ -111,6 +112,12 @@ const initInviteParams = () => { ...@@ -111,6 +112,12 @@ const initInviteParams = () => {
}; };
onMounted(async() => { onMounted(async() => {
md.sensorComponentLogTake({
xcxComponentExposure: "true",
pageName: "新人福利页",
componentName: "新人福利页",
componentContent: "立即领取"
});
showLoading(); showLoading();
// 先进行自动登录获取基础信息,登录成功后执行页面初始化 // 先进行自动登录获取基础信息,登录成功后执行页面初始化
...@@ -322,6 +329,13 @@ const handleViewBenefits = () => { ...@@ -322,6 +329,13 @@ const handleViewBenefits = () => {
// 一键领取按钮点击事件 // 一键领取按钮点击事件
const handleClaim = () => { const handleClaim = () => {
md.sensorComponentLogTake({
xcxComponentClick: "true",
pageName: "新人福利页",
componentName: "新人福利页",
componentContent: "立即领取"
});
if(!isLogin.value) { if(!isLogin.value) {
showPhone.value = true; showPhone.value = true;
return; return;
......
...@@ -284,7 +284,8 @@ ...@@ -284,7 +284,8 @@
<view class="vip-active-area" v-if="vipActive?.length > 0"> <view class="vip-active-area" v-if="vipActive?.length > 0">
<text class="vip-title" :style="{ color: itemIndex === 4 ? '#fff0df' : '#1d1e25' }">会员活动</text> <text class="vip-title" :style="{ color: itemIndex === 4 ? '#fff0df' : '#1d1e25' }">会员活动</text>
<swiper class="vip-active-swiper" :indicator-dots="vipActive?.length > 1" :autoplay="true" :circular="true" <swiper class="vip-active-swiper" :indicator-dots="vipActive?.length > 1" :autoplay="true" :circular="true"
indicator-color="#dfddd9" indicator-active-color="#b27c1e" :indicator-top="32"> indicator-color="#dfddd9" indicator-active-color="#b27c1e" :indicator-top="32"
@change="handleVipActiveSwipe">
<swiper-item v-for="(item, index) in vipActive" :key="index"> <swiper-item v-for="(item, index) in vipActive" :key="index">
<image class="vip-active-img" <image class="vip-active-img"
:src="item?.img.indexOf('http') !== -1 ? item?.img : $baseUrl + `${item?.img}`" mode="aspectFit" :src="item?.img.indexOf('http') !== -1 ? item?.img : $baseUrl + `${item?.img}`" mode="aspectFit"
...@@ -365,7 +366,7 @@ ...@@ -365,7 +366,7 @@
<view v-for="(tab, index) in goodsDataArr" :key="index" class="tab-item" :class="{ <view v-for="(tab, index) in goodsDataArr" :key="index" class="tab-item" :class="{
active: activeIndex === index && itemIndex !== 4, active: activeIndex === index && itemIndex !== 4,
active1: activeIndex === index && itemIndex === 4 active1: activeIndex === index && itemIndex === 4
}" @click="tabItemClick(index)"> }" @click="tabItemClick(index, tab)">
<text class="tab-line1">{{ tab?.resourcePositionName }}</text> <text class="tab-line1">{{ tab?.resourcePositionName }}</text>
<!-- <text class="tab-line1">{{ tab?.line1 }}</text> --> <!-- <text class="tab-line1">{{ tab?.line1 }}</text> -->
<!-- <text class="tab-line2">{{ tab?.line2 }}</text> --> <!-- <text class="tab-line2">{{ tab?.line2 }}</text> -->
...@@ -1759,10 +1760,42 @@ const getWeekdayLabel = (day) => { ...@@ -1759,10 +1760,42 @@ const getWeekdayLabel = (day) => {
// 监听 scrollTop 变化 // 监听 scrollTop 变化
watch(() => props.scrollTop, (newVal) => { watch(() => props.scrollTop, (newVal) => {
// console.log('scrollTop 变化:', newVal) console.log('scrollTop 变化:', newVal)
// 执行相关逻辑,如曝光检测 // 执行相关逻辑,如曝光检测
if (newVal > 650) { 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(integralStore.originInviteHome?.data) {
md.sensorComponentLogTake({
xcxComponentExposure: "true",
pageName: "积分服务页",
componentName: "邀请组件",
componentContent: "去邀请"
});
md.sensorComponentLogTake({
xcxComponentExposure: "true",
pageName: "积分服务页",
componentName: "邀请组件",
componentContent: "邀请记录"
});
}
}
if (mdMap.value.indexOf('积分服务页-二屏') == -1) { if (mdMap.value.indexOf('积分服务页-二屏') == -1) {
md.sensorLogTake({ md.sensorLogTake({
...@@ -1772,9 +1805,20 @@ const getWeekdayLabel = (day) => { ...@@ -1772,9 +1805,20 @@ const getWeekdayLabel = (day) => {
mdMap.value.push('积分服务页-二屏'); mdMap.value.push('积分服务页-二屏');
} }
const item = vipActive.value[0];
if(mdMap.value.indexOf(item.title) == -1) {
md.sensorComponentLogTake({
xcxComponentExposure: "true",
pageName: "积分服务页",
componentName: "会员活动",
componentContent: item.title
});
mdMap.value.push(item.title);
} }
}
if (newVal > 1328) { if (newVal > 1200 && newVal < 2058) {
if (mdMap.value.indexOf('积分服务页-三屏') == -1) { if (mdMap.value.indexOf('积分服务页-三屏') == -1) {
md.sensorLogTake({ md.sensorLogTake({
...@@ -1784,9 +1828,20 @@ const getWeekdayLabel = (day) => { ...@@ -1784,9 +1828,20 @@ const getWeekdayLabel = (day) => {
mdMap.value.push('积分服务页-三屏'); mdMap.value.push('积分服务页-三屏');
} }
const item1 = goodsDataArr.value[0];
if(mdMap.value.indexOf(item1.resourcePositionName) == -1) {
md.sensorComponentLogTake({
xcxComponentExposure: "true",
pageName: "积分服务页",
componentName: "积分商品tab选择",
componentContent: item1.resourcePositionName
});
mdMap.value.push(item1.resourcePositionName);
} }
}
if (newVal > 2058) { if (newVal > 2058 && newVal < 2788) {
if (mdMap.value.indexOf('积分服务页-四屏') == -1) { if (mdMap.value.indexOf('积分服务页-四屏') == -1) {
md.sensorLogTake({ md.sensorLogTake({
...@@ -1869,22 +1924,23 @@ onMounted(async () => { ...@@ -1869,22 +1924,23 @@ onMounted(async () => {
componentContent: "查看升级攻略" componentContent: "查看升级攻略"
}); });
const { data } = await fetchIntegralJSON(); const { data } = await fetchIntegralJSON();
integralData.value = { ...data }; integralData.value = { ...data };
let bannerData = integralData?.value?.banner; let bannerData = integralData?.value?.banner;
vipActive.value = []; vipActive.value = [];
bannerData?.forEach(item => { bannerData?.forEach(item => {
vipActive.value.push({ vipActive.value.push({
"img": item.url, "img": item.url,
"url": item.link.url, "url": item.link.url,
"type": item.link.type, "type": item.link.type,
"extra": item.link.extra "extra": item.link.extra,
"title":item.title,
});
}); });
});
goodsDataArr.value = integralData?.value?.goodsList; goodsDataArr.value = integralData?.value?.goodsList;
...@@ -1894,7 +1950,7 @@ onMounted(async () => { ...@@ -1894,7 +1950,7 @@ onMounted(async () => {
vipLvNameImgs.value = integralData.value?.viplv?.vipNameImgs; vipLvNameImgs.value = integralData.value?.viplv?.vipNameImgs;
vipIntegral.value = integralData.value?.vipIntegral; vipIntegral.value = integralData.value?.vipIntegral;
clickMore.value = integralData.value?.clickMore; clickMore.value = integralData.value?.clickMore;
// vipActive.value = integralData.value?.vipActive; // vipActive.value = integralData.value?.vipActive;
tabInfo.value = integralData.value?.goodsListData?.tabInfo; tabInfo.value = integralData.value?.goodsListData?.tabInfo;
listCommon.value = integralData.value?.goodsListData?.listCommon; listCommon.value = integralData.value?.goodsListData?.listCommon;
goodsData.value = integralData.value?.goodsListData?.goodsData; goodsData.value = integralData.value?.goodsListData?.goodsData;
...@@ -1909,12 +1965,12 @@ onMounted(async () => { ...@@ -1909,12 +1965,12 @@ onMounted(async () => {
quanyitiaozhuanInfo.value = integralData.value?.quanyitiaozhuanInfo; quanyitiaozhuanInfo.value = integralData.value?.quanyitiaozhuanInfo;
quanyiListIcon.value = []; quanyiListIcon.value = [];
imgInfos.value.forEach((element, index) => { imgInfos.value.forEach((element, index) => {
quanyiListIcon.value.push(element.img); quanyiListIcon.value.push(element.img);
privilegeSizes.value.push({ width: element.width, height: element.height, name: element.name }); privilegeSizes.value.push({ width: element.width, height: element.height, name: element.name });
}); });
await userStore.loadMemberInfo(); await userStore.loadMemberInfo();
await integralStore.getSigninAndTaskInfo(); await integralStore.getSigninAndTaskInfo();
await integralStore.getPointsBenefitCoupon(); await integralStore.getPointsBenefitCoupon();
...@@ -1922,6 +1978,16 @@ onMounted(async () => { ...@@ -1922,6 +1978,16 @@ onMounted(async () => {
ruleTextVal.value = integralStore.signinAndTaskInfo?.data?.checkInTodo?.checkInExtra?.rule; ruleTextVal.value = integralStore.signinAndTaskInfo?.data?.checkInTodo?.checkInExtra?.rule;
if(integralStore?.signinAndTaskInfo?.data?.checkInTodo?.checkInExtra?.rule) {
md.sensorComponentLogTake({
xcxComponentExposure: "true",
pageName: "积分服务页",
componentName: "签到组件",
componentContent: "立即签到"
});
}
//初始化签掉数据 //初始化签掉数据
initSignin(); initSignin();
...@@ -1986,7 +2052,7 @@ onMounted(async () => { ...@@ -1986,7 +2052,7 @@ onMounted(async () => {
}); });
} }
const initSignin = () => { const initSignin = () => {
if (!integralStore?.signinAndTaskInfo?.success) { if (!integralStore?.signinAndTaskInfo?.success) {
uni.showToast({ uni.showToast({
title: '获取签到信息失败,请稍后重试', title: '获取签到信息失败,请稍后重试',
...@@ -2255,7 +2321,7 @@ const initPointsBenefitCoupon = () => { ...@@ -2255,7 +2321,7 @@ const initPointsBenefitCoupon = () => {
}); });
const url = vipIntegral.value.jifenmingxi.url.replace("{crmid}", memberInfo.value.memberId); const url = vipIntegral.value.jifenmingxi.url.replace("{crmid}", memberInfo.value.memberId);
const type = vipIntegral.value.jifenmingxi.type; const type = vipIntegral.value.jifenmingxi.type;
console.log('积分明细链接:==', url) console.log('积分明细链接:==', url)
jump({ jump({
type: type, type: type,
...@@ -2263,37 +2329,52 @@ const initPointsBenefitCoupon = () => { ...@@ -2263,37 +2329,52 @@ const initPointsBenefitCoupon = () => {
}) })
} }
//会员活动swiper切换事件
const handleVipActiveSwipe = (e) => {
const index = e.detail.current;
const item = vipActive.value[index];
console.log('vip-active-swiper切换:', { item, index });
md.sensorComponentLogTake({
xcxComponentExposure: "true",
pageName: "积分服务页",
componentName: "会员活动",
componentContent: item.title
});
};
//会员活动点击事件 //会员活动点击事件
const handleVipActiveClick = (index, item) => { const handleVipActiveClick = (index, item) => {
console.log('handleVipActiveClick==:', item); console.log('handleVipActiveClick==:', item);
let buttonName = ''; let buttonName = '';
switch (index) { buttonName = item?.title;
case 0: // switch (index) {
buttonName = '第一张焦点图'; // case 0:
break; // buttonName = '第一张焦点图';
case 1: // break;
buttonName = '第二张焦点图'; // case 1:
break; // buttonName = '第二张焦点图';
case 2: // break;
buttonName = '第三张焦点图'; // case 2:
break; // buttonName = '第三张焦点图';
case 3: // break;
buttonName = '第四张焦点图'; // case 3:
break; // buttonName = '第四张焦点图';
case 4: // break;
buttonName = '第五张焦点图'; // case 4:
break; // buttonName = '第五张焦点图';
case 5: // break;
buttonName = '第六张焦点图'; // case 5:
break; // buttonName = '第六张焦点图';
case 6: // break;
buttonName = '第七张焦点图'; // case 6:
break; // buttonName = '第七张焦点图';
} // break;
// }
md.sensorLogTake({ md.sensorLogTake({
xcxClick: "积分服务页-二屏页面点击", xcxClick: "积分服务页",
pageName: "积分服务页-二屏", pageName: "会员活动",
buttonName: buttonName, buttonName: buttonName,
}); });
...@@ -2330,54 +2411,64 @@ const convertType = (type, url, extra = {}) => { ...@@ -2330,54 +2411,64 @@ const convertType = (type, url, extra = {}) => {
//商品点击 //商品点击
const handleGoodsItemClick = (goodsItem, googidx) => { const handleGoodsItemClick = (goodsItem, googidx) => {
console.log('handleGoodsItemClick:', goodsItem, googidx); console.log('handleGoodsItemClick:', goodsItem, googidx);
let buttonName0 = ''; const tabname = goodsDataArr[activeIndex.value].resourcePositionName;
let buttonName1 = ''; const buttonName = goodsItem.goodsName;
switch (activeIndex.value) {
case 0:
buttonName0 = '品牌活动版分类1';
break;
case 1:
buttonName0 = '品牌活动版分类2';
break;
case 2:
buttonName0 = '品牌活动版分类3';
break;
}
buttonName1 = `-商品${googidx}`; md.sensorComponentLogTake({
md.sensorLogTake({ xcxComponentClick: "true",
xcxClick: "积分服务页-二屏页面点击", pageName: "积分服务页",
pageName: "积分服务页-二三四屏", componentName: "积分商品",
buttonName: buttonName0 + buttonName1, componentContent: tabname + '-' + buttonName
}); });
//原逻辑 // let buttonName0 = '';
// let item = productIdUrl.value[goodsItem][googidx - 1]; // let buttonName1 = '';
// const url = item.url.replace('{productId}', item.productId).replace('{skuId}', item.skuId); // switch (activeIndex.value) {
// const type = item.type; // case 0:
// const extra = item.extra; // buttonName0 = '品牌活动版分类1';
// break;
// case 1:
// buttonName0 = '品牌活动版分类2';
// break;
// case 2:
// buttonName0 = '品牌活动版分类3';
// break;
// }
// buttonName1 = `-商品${googidx}`;
// md.sensorLogTake({
// xcxClick: "积分服务页-二屏页面点击",
// pageName: "积分服务页-二三四屏",
// buttonName: buttonName0 + buttonName1,
// });
//该B端配置后 //原逻辑
const url = goodsItem.url; // let item = productIdUrl.value[goodsItem][googidx - 1];
const type = goodsItem.urlType; // const url = item.url.replace('{productId}', item.productId).replace('{skuId}', item.skuId);
const extra = { // const type = item.type;
"appId": goodsItem.wxAppId, // const extra = item.extra;
"envVersion": goodsItem.envVersion
};
console.log('goodsItem.url:', url); //该B端配置后
const url = goodsItem.url;
const type = goodsItem.urlType;
const extra = {
"appId": goodsItem.wxAppId,
"envVersion": goodsItem.envVersion
};
extra.embedded = true; //半屏拉起小程序
console.log('goodsItem.url:', url);
extra.embedded = true; //半屏拉起小程序
jump({ jump({
type: Number(type), type: Number(type),
url: url, url: url,
extra: extra extra: extra,
}) })
} }
...@@ -2414,30 +2505,44 @@ const handleGoodsItemClick = (goodsItem, googidx) => { ...@@ -2414,30 +2505,44 @@ const handleGoodsItemClick = (goodsItem, googidx) => {
}; };
const tabItemClick = (index) => { const tabItemClick = (index, item) => {
activeIndex.value = index; activeIndex.value = index;
let buttonName = ''; let buttonName = '';
switch (index) { buttonName = item.resourcePositionName;
case 0: // switch (index) {
buttonName = '品牌活动版块部分-分类1'; // case 0:
break; // buttonName = '品牌活动版块部分-分类1';
case 1: // break;
buttonName = '品牌活动版块部分-分类2'; // case 1:
break; // buttonName = '品牌活动版块部分-分类2';
case 2: // break;
buttonName = '品牌活动版块部分-分类3'; // case 2:
break; // buttonName = '品牌活动版块部分-分类3';
} // break;
// }
console.log('buttonName=', buttonName); // console.log('buttonName=', buttonName);
md.sensorLogTake({ md.sensorComponentLogTake({
xcxClick: "积分服务页-二屏页面点击", xcxComponentClick: "true",
pageName: "积分服务页-二屏", pageName: "积分服务页",
buttonName: buttonName, componentName: "积分商品tab选择",
componentContent: buttonName
}); });
md.sensorComponentLogTake({
xcxComponentExposure: "true",
pageName: "积分服务页",
componentName: "积分商品tab选择",
componentContent: buttonName
});
// md.sensorLogTake({
// xcxClick: "积分服务页-二屏页面点击",
// pageName: "积分服务页-二屏",
// buttonName: buttonName,
// });
} }
// 处理查看更多点击 // 处理查看更多点击
...@@ -2733,6 +2838,13 @@ const handleHelpClick = () => { ...@@ -2733,6 +2838,13 @@ const handleHelpClick = () => {
const handleSigninClick = async () => { const handleSigninClick = async () => {
console.log('签到按钮点击'); console.log('签到按钮点击');
md.sensorComponentLogTake({
xcxComponentClick: "true",
pageName: "积分服务页",
componentName: "签到组件",
componentContent: "立即签到"
});
if (!islogin.value) { if (!islogin.value) {
needReinit.value = true; needReinit.value = true;
jump({ jump({
...@@ -2742,13 +2854,6 @@ const handleSigninClick = async () => { ...@@ -2742,13 +2854,6 @@ const handleSigninClick = async () => {
return; return;
} }
// 埋点统计
md.sensorLogTake({
xcxClick: "积分服务页-签到奖励页面点击",
pageName: "积分服务页-签到奖励",
buttonName: "立即签到",
});
const data = await integralStore.checkIn(signinInfo.value.id, ); const data = await integralStore.checkIn(signinInfo.value.id, );
console.log('datacheckIn=', data); console.log('datacheckIn=', data);
if (data.success) { if (data.success) {
...@@ -2814,6 +2919,13 @@ const handleCloseGongzhonghaoPop = () => { ...@@ -2814,6 +2919,13 @@ const handleCloseGongzhonghaoPop = () => {
const handleExchangeClick = (benefit, index) => { const handleExchangeClick = (benefit, index) => {
console.log('兑换权益:', benefit); console.log('兑换权益:', benefit);
md.sensorComponentLogTake({
xcxComponentClick: "true",
pageName: "积分服务页",
componentName: "异业券权益",
componentContent: benefit.goodsName
});
if (!islogin.value) { if (!islogin.value) {
needReinit.value = true; needReinit.value = true;
jump({ jump({
...@@ -2860,13 +2972,12 @@ const handleExchangeClick = (benefit, index) => { ...@@ -2860,13 +2972,12 @@ const handleExchangeClick = (benefit, index) => {
const handleInviteClick = () => { const handleInviteClick = () => {
console.log('去邀请按钮点击'); console.log('去邀请按钮点击');
// 埋点统计 md.sensorComponentLogTake({
md.sensorLogTake({ xcxComponentClick: "true",
xcxClick: "积分服务页-邀请得好礼页面点击", pageName: "积分服务页",
pageName: "积分服务页-邀请得好礼", componentName: "邀请组件",
buttonName: "去邀请", componentContent: "去邀请"
}); });
console.log('islogin.valuehandleInviteClick=', islogin.value); console.log('islogin.valuehandleInviteClick=', islogin.value);
if (!islogin.value) { if (!islogin.value) {
needReinit.value = true; needReinit.value = true;
...@@ -2907,6 +3018,12 @@ const handleInviteClick = () => { ...@@ -2907,6 +3018,12 @@ const handleInviteClick = () => {
// 处理邀请记录按钮点击 // 处理邀请记录按钮点击
const handleRecordClick = () => { const handleRecordClick = () => {
console.log('邀请记录按钮点击'); console.log('邀请记录按钮点击');
md.sensorComponentLogTake({
xcxComponentClick: "true",
pageName: "积分服务页",
componentName: "邀请组件",
componentContent: "邀请记录"
});
if (!islogin.value) { if (!islogin.value) {
needReinit.value = true; needReinit.value = true;
......
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