From 3fea9f0720e7751e4737ded74b3aa89db273688d Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期日, 28 九月 2025 17:55:11 +0800
Subject: [PATCH] 用户行为分析

---
 pages/prize/PrizeDetail/PrizeDetail.vue |   82 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 76 insertions(+), 6 deletions(-)

diff --git a/pages/prize/PrizeDetail/PrizeDetail.vue b/pages/prize/PrizeDetail/PrizeDetail.vue
index 6e2bba5..165273c 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 ,userShare } from "@/api/userAction.js";
+
 	import {
 		prizeInfo,
 		prizeNum,
@@ -212,7 +214,23 @@
 				shareTimelineAttempt: false,
 				activityCover: '',
 				activityName: '',
-				couponId: ''
+				couponId: '',
+			    pageSessionNo:"",
+			    actionParam:{
+					sessionId:'',
+					actionType:"PAGE",
+					joinType:"SELF",
+					pageCode:"PRIZE_DETAIL",
+					pageParams:"{}",
+					pageStatus:"JOIN",
+					pageType:"DETAIL"
+				},
+				shareParam:{
+					pageCode:"PRIZE_DETAIL",
+					shareOption:"{}",
+					pageType:"DETAIL"
+				},
+				shareId:'',
 			};
 		},
 		computed: {
@@ -221,7 +239,38 @@
 				return [...this.originalWinners]
 			}
 		},
+    onUnload() {
+      let param = Object.assign({}, this.actionParam);
+      if (this.sendOnShow)return
+      param.pageStatus = "LEAVE"
+      userAction(param)
+    },
+    onHide() {
+      this.startHidenTime = Date.now()
+      let	param = Object.assign({}, this.actionParam);
+      this.sendOnShow = true;
+      param.pageStatus = "LEAVE"
+      userAction(param)
+    },
+		onShow() {
+		  getSessionId().then(res=>{
+			this.pageSessionNo = res.data.data
+			this.actionParam.sessionId = res.data.data
+			if(this.pageSessionNo){
+			let	param = Object.assign({}, this.actionParam);
+				param.sessionId = this.pageSessionNo
+				userAction(param)
+			}
+		  })	
+		},
 		async onLoad(option) {
+			if(option.shareId){
+				this.actionParam.shareId = option.shareId;
+				this.actionParam.joinType = 'SHARE'
+				console.log('瑙﹀彂onLoad')
+			}
+			this.actionParam.pageParams = JSON.stringify(option)
+
 			const pages = getCurrentPages()
 			console.log('================pages ', pages)
 			this.activityId = option.id
@@ -266,17 +315,38 @@
 			// this.startAutoScroll()
 		},
 		onShareAppMessage() {
-			return {
+		  // 杩斿洖涓�涓狿romise
+		  return new Promise((resolve) => {
+			this.shareId = '';
+			this.shareParam.shareOption = JSON.stringify({
+				id:this.activityId
+			})
+			userShare(this.shareParam).then(res => {
+			  this.shareId = res.data.data;
+			  console.log('------------------1銆�', this.shareId);
+			  
+			  // 褰撹幏鍙栧埌shareId鍚庯紝鍐峳esolve鍒嗕韩閰嶇疆
+			  resolve({
 				title: this.activityName,
-				path: '/pages/prize/PrizeDetail/PrizeDetail?id=' + this.activityId,
+				path: '/pages/prize/PrizeDetail/PrizeDetail?id=' + this.activityId + '&shareId=' + this.shareId,
 				imageUrl: this.activityCover,
 				success(e) {
-					console.log("鍒嗕韩鎴愬姛", e)
+				  console.log("鍒嗕韩鎴愬姛", e);
 				},
 				fail(e) {
-					console.log('鍒嗕韩澶辫触', e)
+				  console.log('鍒嗕韩澶辫触', e);
 				}
-			}
+			  });
+			}).catch(err => {
+			  // 澶勭悊閿欒鎯呭喌锛屼緥濡備娇鐢ㄩ粯璁ゅ弬鏁�
+			  console.error('鑾峰彇鍒嗕韩ID澶辫触', err);
+			  resolve({
+				title: this.activityName,
+				path: '/pages/prize/PrizeDetail/PrizeDetail?id=' + this.activityId,
+				imageUrl: this.activityCover
+			  });
+			});
+		  });
 		},
 		beforeDestroy() {
 			this.stopAutoScroll()

--
Gitblit v1.8.0