From d50a3ed44e2edab2a7a661c43491c3aa42c57794 Mon Sep 17 00:00:00 2001 From: peng <peng.com> Date: 星期四, 25 九月 2025 14:17:05 +0800 Subject: [PATCH] 用户行为分享基础埋点 --- pages/prize/PrizeDetail/PrizeDetail.vue | 39 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 38 insertions(+), 1 deletions(-) diff --git a/pages/prize/PrizeDetail/PrizeDetail.vue b/pages/prize/PrizeDetail/PrizeDetail.vue index 6e2bba5..0272909 100644 --- a/pages/prize/PrizeDetail/PrizeDetail.vue +++ b/pages/prize/PrizeDetail/PrizeDetail.vue @@ -148,6 +148,8 @@ </template> <script> import bgConfig from '@/pages/prize/PrizeDetail/prize-bgConfig.js' + import { getSessionId, userAction } from "@/api/userAction.js"; + import { prizeInfo, prizeNum, @@ -212,7 +214,17 @@ shareTimelineAttempt: false, activityCover: '', activityName: '', - couponId: '' + couponId: '', + pageSessionNo:"", + actionParam:{ + sessionId:'', + actionType:"PAGE", + joinType:"SELF", + pageCode:"PRIZE_DETAIL", + pageParams:"{}", + pageStatus:"JOIN", + pageType:"DETAIL" + } }; }, computed: { @@ -221,7 +233,32 @@ return [...this.originalWinners] } }, + onUnload() { + let param = this.actionParam; + if (this.sendOnShow)return + param.pageStatus = "LEAVE" + userAction(param) + }, + onHide() { + this.startHidenTime = Date.now() + let param = this.actionParam; + this.sendOnShow = true; + param.pageStatus = "LEAVE" + userAction(param) + }, + onShow() { + getSessionId().then(res=>{ + this.pageSessionNo = res.data.data + if(this.pageSessionNo){ + let param = this.actionParam; + param.sessionId = this.pageSessionNo + userAction(param) + } + }) + }, async onLoad(option) { + this.actionParam.pageParams = JSON.stringify(option) + const pages = getCurrentPages() console.log('================pages ', pages) this.activityId = option.id -- Gitblit v1.8.0