From d50a3ed44e2edab2a7a661c43491c3aa42c57794 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期四, 25 九月 2025 14:17:05 +0800
Subject: [PATCH] 用户行为分享基础埋点

---
 pages/video/video-goods-detail.vue |   56 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 53 insertions(+), 3 deletions(-)

diff --git a/pages/video/video-goods-detail.vue b/pages/video/video-goods-detail.vue
index 9d06578..d254c1d 100644
--- a/pages/video/video-goods-detail.vue
+++ b/pages/video/video-goods-detail.vue
@@ -29,8 +29,9 @@
 
 <script>
 	import {getGoodsDetail} from "@/api/video.js"
-	
+	import { buyBack } from "@/api/trade.js";
 	import '@/components/uview-components/uview-ui';
+	import { getSessionId, userAction } from "@/api/userAction.js";
 	export default {
 		computed: {
 			totalMoney() {
@@ -45,14 +46,53 @@
 		data() {
 			return {
 				videoId: '',
-				goodsList: []
+				goodsList: [],
+				pageSessionNo:"",
+				actionParam:{
+						sessionId:'',
+						actionType:"PAGE",
+						joinType:"SELF",
+						pageCode:"RECOMMEND_VIDEO_GOODS",
+						pageParams:"{}",
+						pageStatus:"JOIN",
+						pageType:"DETAIL"
+					}
 			}
+		},
+    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)
+				}
+			})	
 		},
 		onLoad(option) {
 			this.videoId = option.videoId;
+			this.actionParam.pageParams = JSON.stringify(option)
 			this.getGoodsList();
 		},
 		methods: {
+			selectGoods(goods,id){
+				uni.navigateTo({
+					url: `/pages/product/goods?id=${goods.id}&goodsId=${goods.goodsId}`
+				})
+			},
 			// 鑾峰彇鍟嗗搧鍒楄〃
 			async getGoodsList() {
 				getGoodsDetail(this.videoId).then(res => {
@@ -61,7 +101,17 @@
 			},
 			// 鐢熸垚璁㈠崟-鏀粯
 			toPay() {
-				
+				const buyList = this.goodsList.map(goods => {
+					return {
+						skuId: goods.id,
+						num: goods.goodsNum
+					}
+				})
+				buyBack(buyList).then(res => {
+					uni.navigateTo({
+						url: "/pages/order/fillorder?way=CART"
+					})
+				})
 			}
 		}
 	}

--
Gitblit v1.8.0