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