From d1cada30a4b98000ef9c8970f0e2b53ed76e352c Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 30 九月 2025 11:16:00 +0800
Subject: [PATCH] 商品行为分析

---
 pages/video/video-similar.vue             |   87 ++++++++++++++++++++++++++++++++++++++++++-
 pages/video/video-goods-detail.vue        |    6 +-
 pages/video/video-goods-detail-swiper.vue |   11 +++--
 pages/tabbar/index/home.vue               |    8 ++-
 4 files changed, 99 insertions(+), 13 deletions(-)

diff --git a/pages/tabbar/index/home.vue b/pages/tabbar/index/home.vue
index bd05123..054c85e 100644
--- a/pages/tabbar/index/home.vue
+++ b/pages/tabbar/index/home.vue
@@ -528,9 +528,11 @@
 		// 杩斿洖涓�涓狿romise
 		return new Promise((resolve) => {
 					this.shareId = '';
-					this.shareParam.shareOption = JSON.stringify({
-						id:this.activityId
-					})
+					let shareObj ={
+						videoId:videoInfo.id,
+						userId:userInfo.id
+					}
+					this.shareParam.shareOption = JSON.stringify(shareObj)
 					userShare(this.shareParam).then(res => {
 					  this.shareId = res.data.data;
 					  let param = {
diff --git a/pages/video/video-goods-detail-swiper.vue b/pages/video/video-goods-detail-swiper.vue
index a50b6da..ebf7321 100644
--- a/pages/video/video-goods-detail-swiper.vue
+++ b/pages/video/video-goods-detail-swiper.vue
@@ -568,12 +568,13 @@
 		// }
 	},
 	onShareAppMessage(e){
-		console.log(e)
+		const goodsInfo = e.target.dataset.obj;
+		console.log(goodsInfo)
 		return new Promise((resolve) => {
 					this.shareId = '';
 					let shareObj ={
-						id:e.id,
-						goodsId:e.goodsId
+						id:goodsInfo.id,
+						goodsId:goodsInfo.goodsId
 					}
 					this.shareParam.shareOption = JSON.stringify(shareObj)
 					userShare(this.shareParam).then(res => {
@@ -581,7 +582,7 @@
 					  // 褰撹幏鍙栧埌shareId鍚庯紝鍐峳esolve鍒嗕韩閰嶇疆
 					  resolve({
 						title: this.goodsDetail.goodsName,
-						path: '/pages/product/goods' +'?id='+ e.id + '&goodsId=' + e.goodsId +'&shareId=' + this.shareId,
+						path: '/pages/product/goods' +'?id='+ goodsInfo.id + '&goodsId=' + goodsInfo.goodsId +'&shareId=' + this.shareId,
 						imageUrl: this.goodsDetail.goodsGalleryList[0],
 						success(e) {
 						  console.log("鍒嗕韩鎴愬姛", e);
@@ -595,7 +596,7 @@
 					  console.error('鑾峰彇鍒嗕韩ID澶辫触', err);
 					  resolve({
 						title: this.goodsDetail.goodsName,
-						path: '/pages/product/goods' +'?id='+ e.id+ '&goodsId=' + e.goodsId,
+						path: '/pages/product/goods' +'?id='+ goodsInfo.id+ '&goodsId=' + goodsInfo.goodsId,
 						imageUrl: this.goodsDetail.goodsGalleryList[0],
 					  });
 					});
diff --git a/pages/video/video-goods-detail.vue b/pages/video/video-goods-detail.vue
index d254c1d..6a1a69e 100644
--- a/pages/video/video-goods-detail.vue
+++ b/pages/video/video-goods-detail.vue
@@ -60,14 +60,14 @@
 			}
 		},
     onUnload() {
-      let	param = this.actionParam;
+      let param = Object.assign({}, this.actionParam);
       if (this.sendOnShow)return
       param.pageStatus = "LEAVE"
       userAction(param)
     },
     onHide() {
       this.startHidenTime = Date.now()
-      let	param = this.actionParam;
+      let param = Object.assign({}, this.actionParam);
       this.sendOnShow = true;
       param.pageStatus = "LEAVE"
       userAction(param)
@@ -76,7 +76,7 @@
 			getSessionId().then(res=>{
 				this.pageSessionNo = res.data.data
 				if(this.pageSessionNo){
-				let	param = this.actionParam;
+				let param = Object.assign({}, this.actionParam);
 					param.sessionId = this.pageSessionNo
 					userAction(param)
 				}
diff --git a/pages/video/video-similar.vue b/pages/video/video-similar.vue
index 6fc7b5d..19a4b88 100644
--- a/pages/video/video-similar.vue
+++ b/pages/video/video-similar.vue
@@ -108,7 +108,7 @@
 
 <script>
 import { getGoodsSimilarlyVideos, savePlayRecord, changeCollect, changeThumbsUp } from "@/api/video.js"
-
+import { getSessionId, userAction ,userShare } from "@/api/userAction.js";
 export default {
 	data() {
 		return {
@@ -146,10 +146,41 @@
 			// 鍙虫粦杩斿洖棣栭〉鐩稿叧
 			touchStartX: 0,
 			touchEndX: 0,
-			minSwipeDistance: 100 // 鏈�灏忔粦鍔ㄨ窛绂�
+			minSwipeDistance: 100 ,// 鏈�灏忔粦鍔ㄨ窛绂�
+			pageSessionNo:"",
+			actionParam:{
+				sessionId:'',
+				actionType:"PAGE",
+				joinType:"SELF",
+				pageCode:"RECOMMEND_VIDEO_RIGHT_VIDEO",
+				pageParams:"{}",
+				pageStatus:"JOIN",
+				pageType:"DETAIL"
+			},
+			shareParam:{
+				pageCode:"RECOMMEND_VIDEO_RIGHT_VIDEO",
+				shareOption:"{}",
+				pageType:"DETAIL"
+			},
+			shareId:'',
 		}
 	},
 	onLoad(options) {
+		if(options.shareId){
+			this.actionParam.shareId = options.shareId;
+			this.actionParam.joinType = 'SHARE'
+			console.log('瑙﹀彂onLoad')
+			uni.setStorage({
+				key: 'shareId',
+				data: options.shareId,
+				success: function () {
+					console.log('缂撳瓨shareId鎴愬姛');
+				}
+			});
+		}
+		
+		this.actionParam.pageParams = JSON.stringify(options)
+		
 		// 鑾峰彇浼犻�掔殑鍟嗗搧淇℃伅
 		if (options.goodsId) {
 			this.loadSimilarVideos(options.goodsId, options.currentVideoId);
@@ -161,6 +192,15 @@
 			const videoContext = uni.createVideoContext(`video${this.currentIndex}`, this);
 			videoContext.play();
 		}
+		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)
+					}
+		})	
 	},
 	onHide() {
 		// 椤甸潰闅愯棌鏃舵殏鍋滆棰�
@@ -168,6 +208,49 @@
 			const videoContext = uni.createVideoContext(`video${this.currentIndex}`, this);
 			videoContext.pause();
 		}
+		this.startHidenTime = Date.now()
+		let param = Object.assign({}, this.actionParam);
+		this.sendOnShow = true;
+		param.pageStatus = "LEAVE"
+		userAction(param)
+	},
+	onShareAppMessage(e){
+		const userInfo = storage.getUserInfo();
+		if (!userInfo) {
+			console.log("鏈櫥褰曚笉鑳藉垎浜�");
+			return
+		}
+		const videoInfo = e.target.dataset.obj;
+		return new Promise((resolve) => {
+					this.shareId = '';
+					let shareObj ={
+						videoId:videoInfo.id,
+						userId:userInfo.id
+					}
+					this.shareParam.shareOption = JSON.stringify(shareObj)
+					userShare(this.shareParam).then(res => {
+					  this.shareId = res.data.data;
+					  resolve({
+						title: videoInfo.title,
+						path: `/pages/tabbar/index/home?videoId=${videoInfo.id}&userId=${userInfo.id}&shareId=${this.shareId}`,
+						imageUrl: videoInfo.coverUrl,
+						success(e) {
+						  console.log("鍒嗕韩鎴愬姛", e);
+						},
+						fail(e) {
+						  console.log('鍒嗕韩澶辫触', e);
+						}
+					  });
+					}).catch(err => {
+					  // 澶勭悊閿欒鎯呭喌锛屼緥濡備娇鐢ㄩ粯璁ゅ弬鏁�
+					  console.error('鑾峰彇鍒嗕韩ID澶辫触', err);
+					  resolve({
+							title: videoInfo.title,
+							path: `/pages/tabbar/index/home?videoId=${videoInfo.id}&userId=${userInfo.id}`,
+							imageUrl: videoInfo.coverUrl
+					  });
+					});
+		});
 	},
 	methods: {
 		// 鍔犺浇鐩镐技瑙嗛

--
Gitblit v1.8.0