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

---
 pages/product/goods.vue |   86 +++++++++++++++++++++++++++++++++---------
 1 files changed, 67 insertions(+), 19 deletions(-)

diff --git a/pages/product/goods.vue b/pages/product/goods.vue
index 94fd6cd..cf365da 100644
--- a/pages/product/goods.vue
+++ b/pages/product/goods.vue
@@ -6,13 +6,15 @@
     <!-- 浠卙5鏈夋晥 鎵撳紑App -->
 
     <!-- 鍒嗕韩 -->
-    <shares v-if="enableShare && goodsDetail.id" :skuId="this.routerVal.id" :goodsId="this.routerVal.goodsId" :link="
+<!--    <shares v-if="enableShare && goodsDetail.id" :skuId="this.routerVal.id" :goodsId="this.routerVal.goodsId" :link="
       '/pages/product/goods?id=' +
       this.routerVal.id +
       '&goodsId=' +
       this.routerVal.goodsId
     " :thumbnail="goodsDetail.thumbnail" :goodsName="goodsDetail.goodsName" type="goods"
       @close="enableShare = false" />
+	  -->
+	  
     <popups v-model="popupsSwitch" @tapPopup="handleNavbarList" :popData="navbarListData" :x="navbarListX"
       :y="navbarListY" placement="top-start" />
     <view class="index">
@@ -114,10 +116,18 @@
                     </span>
                   </view>
 
-                  <view class="icons share" @click="shareChange()">
+            <!--      <view class="icons share" @click="shareChange()">
                     <u-icon size="30" name="share-fill"></u-icon>
                     <view>鍒嗕韩</view>
-                  </view>
+                  </view> -->
+				  <view class="icons share"  style="margin-top: -15px;">
+				         <button open-type="share" class="custom-share-btn" plain="true" style="border: none;">
+				              <u-icon size="30" name="share-fill"></u-icon>
+				         </button>
+				          <view style="margin-top: -14px;">鍒嗕韩</view>
+				        </view>
+				  
+				  
                   <view class="icons" @click="clickFavorite(goodsDetail.id)">
                     <u-icon size="30" :color="favorite ? '#f2270c' : '#262626'"
                       :name="favorite ? 'heart-fill' : 'heart'"></u-icon>
@@ -301,18 +311,15 @@
 import GoodsSwiper from "@/pages/product/product/goods/-goods-swiper.vue"; //杞挱鍥剧粍浠�
 import popupGoods from "@/pages/product/m-buy/goods.vue"; //璐墿杞﹀晢鍝佺殑妯″潡
 import popupAddress from "@/pages/product/product/popup/address.vue"; //鍦板潃閫夋嫨妯″潡
-import shares from "@/pages/product/m-share/index.vue"; //鍒嗕韩
+
 import popups from "@/pages/product/popups/popups.vue"; //姘旀场妗�
 import takeDownFormSaleGoods from "@/pages/product/m-take-down-sale-goods/index.vue"; //涓嬫灦妗�
 import setup from "./product/popup/popup";
-import { getSessionId, userAction } from "@/api/userAction.js";
-	import {
-		getSTSToken
-	} from '@/api/common.js'
+import { getSessionId, userAction,userShare } from "@/api/userAction.js";
+import { getSTSToken } from '@/api/common.js'
 export default {
   components: {
     popups,
-    shares,
     PromotionLayout,
     PromotionDetailsLayout,
     PromotionAssembleLayout,
@@ -461,7 +468,8 @@
 			pageCode:"GOODS_DETAILS",
 			shareOption:"{}",
 			pageType:"DETAIL"
-		}
+		},
+		shareId:'',
     };
   },
 
@@ -514,8 +522,51 @@
 
     this.productRefHeight = windowHeight - bottomHeight + "px";
   },
+
+
+
+ onShareAppMessage(e) {
+ 		console.log("寮�濮嬪垎浜�")
+ 		console.log(this.goodsDetail)
+ 		// 杩斿洖涓�涓狿romise
+ 		return new Promise((resolve) => {
+ 			
+ 					this.shareId = '';
+ 					this.shareParam.shareOption = JSON.stringify(this.routerVal)
+ 					userShare(this.shareParam).then(res => {
+ 					  this.shareId = res.data.data;
+ 	
+ 					  
+ 					  // 褰撹幏鍙栧埌shareId鍚庯紝鍐峳esolve鍒嗕韩閰嶇疆
+ 					  resolve({
+ 						title: this.goodsDetail.goodsName,
+ 						path: '/pages/product/goods' +'?id='+ this.routerVal.id + '&goodsId=' + this.routerVal.goodsId +'&shareId=' + this.shareId,
+ 						imageUrl: this.goodsDetail.goodsGalleryList[0],
+ 						success(e) {
+ 						  console.log("鍒嗕韩鎴愬姛", e);
+ 						},
+ 						fail(e) {
+ 						  console.log('鍒嗕韩澶辫触', e);
+ 						}
+ 					  });
+ 					}).catch(err => {
+ 					  // 澶勭悊閿欒鎯呭喌锛屼緥濡備娇鐢ㄩ粯璁ゅ弬鏁�
+ 					  console.error('鑾峰彇鍒嗕韩ID澶辫触', err);
+ 					  resolve({
+ 						title: this.goodsDetail.goodsName,
+ 						path: '/pages/product/goods' +'?id='+ this.routerVal.id + '&goodsId=' + this.routerVal.goodsId,
+ 						imageUrl: this.goodsDetail.goodsGalleryList[0],
+ 					  });
+ 					});
+ 		});
+ 	},
   async onLoad (options) {
-	 
+	if(option.shareId){
+		this.actionParam.shareId = option.shareId;
+		this.actionParam.joinType = 'SHARE'
+		console.log('瑙﹀彂onLoad')
+	}
+	this.actionParam.pageParams = JSON.stringify(option)
 	  if(options.q){
 		  const queryParam = {
 			  id:'',
@@ -541,22 +592,19 @@
 	  console.log(this.routerVal)
     
     // #ifdef MP-WEIXIN
-    // 灏忕▼搴忛粯璁ゅ垎浜�
-    uni.showShareMenu({
-      withShareTicket: true,
-      menus: ["shareAppMessage", "shareTimeline"],
-    });
+
     // #endif
   },
+  
   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)
@@ -565,7 +613,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)
 	  	}

--
Gitblit v1.8.0