From 3fea9f0720e7751e4737ded74b3aa89db273688d Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期日, 28 九月 2025 17:55:11 +0800
Subject: [PATCH] 用户行为分析
---
pages/product/goods.vue | 145 ++++++++++++++++++++++++++++++++++++++----------
1 files changed, 114 insertions(+), 31 deletions(-)
diff --git a/pages/product/goods.vue b/pages/product/goods.vue
index 2b8dd2e..94fd6cd 100644
--- a/pages/product/goods.vue
+++ b/pages/product/goods.vue
@@ -155,7 +155,7 @@
<!-- 閰嶇疆鍦板潃 濡傛灉鏄櫄鎷熶骇鍝佺殑鏃跺�欎笉灞曠ず -->
<view class="card-box" v-if="goodsDetail.goodsType != 'VIRTUAL_GOODS'">
<view class="card-flex" @click="shutMask(4)">
- <view class="card-title"> 宸查�� </view>
+ <view class="card-title"> 鍙�夎鏍� </view>
<view class="card-content">
<span v-if="selectedGoods.spec">{{ selectedGoods.spec.specName }}-{{
selectedGoods.spec.specValue
@@ -184,21 +184,21 @@
<Evaluation id="main5" :goodsDetail="goodsDetail" />
<!-- 搴楅摵鎺ㄨ崘 -->
- <storeLayout id="main7" :storeDetail="storeDetail" :goodsDetail="goodsDetail" :res="recommendList" />
+ <storeLayout v-if="false" id="main7" :storeDetail="storeDetail" :goodsDetail="goodsDetail" :res="recommendList" />
<!-- 瀹濊礉璇︽儏 -->
- <GoodsIntro id="main9" :res="goodsDetail" :goodsParams="goodsParams" :goodsId="goodsDetail.goodsId"
+ <GoodsIntro id="main9" :res="goodsDetail" :goodsParams="goodsParams" :goodsId="goodsDetail.goodsId"
v-if="goodsDetail.id" />
<!-- 瀹濊礉鎺ㄨ崘 -->
- <GoodsRecommend id="main11" :res="likeGoodsList" />
+ <GoodsRecommend id="main11" :res="likeGoodsList" v-if="false" />
</view>
</scroll-view>
<view class="page-bottom mp-iphonex-bottom" id="pageBottom">
<view class="icon-btn">
- <view class="icon-btn-item" @click="navigateToStore(goodsDetail.storeId)">
+ <view class="icon-btn-item" @click="navigateToStore(goodsDetail.storeId)">
<u-icon size="34" class="red" name="home-fill"></u-icon>
<view class="red icon-btn-name">搴楅摵</view>
</view>
@@ -213,10 +213,10 @@
</view>
</view>
<!-- 涓嬫灦灞曠ず -->
- <div class="detail-btn" v-if="takeDownFromSale">
+<!-- <div class="detail-btn" v-if="takeDownFromSale">
<view class="to-store-car to-store-btn" @click="reStartTakeDownSale">
鏌ョ湅绫讳技鍟嗗搧</view>
- </div>
+ </div> -->
<!-- 姝e父缁撶畻椤甸潰 -->
<view class="detail-btn" v-if="!isGroup && !takeDownFromSale">
<view class="to-store-car to-store-btn" v-if="goodsDetail.goodsType != 'VIRTUAL_GOODS'" @click="shutMask(4)">
@@ -289,22 +289,23 @@
import storage from "@/utils/storage.js";
/************缁勪欢***************/
-import PromotionLayout from "./product/promotion/-promotion"; //淇冮攢缁勪欢
-import PromotionDetailsLayout from "./product/promotion/-promotion-details"; //淇冮攢娲诲姩璇︽儏
-import PromotionAssembleLayout from "./product/promotion/-promotion-assemble-promotions"; //淇冮攢娲诲姩鏉�
-import PromotionAssembleListLayout from "./product/promotion/-promotion-assemble-list"; //鎷煎洟鐢ㄦ埛鍒楄〃
-import PromotionCoupon from "./product/promotion/-promotion-coupon"; //浼樻儬鍒哥粍浠�
-import GoodsIntro from "./product/goods/-goods-intro"; //鍟嗗搧浠嬬粛缁勪欢
-import GoodsRecommend from "./product/goods/-goods-recommend"; //瀹濊礉鎺ㄨ崘
-import storeLayout from "./product/shop/-shop"; //搴楅摵缁勪欢
-import Evaluation from "./product/evaluation/-evaluation"; //璇勪环缁勪欢
-import GoodsSwiper from "./product/goods/-goods-swiper"; //杞挱鍥剧粍浠�
-import popupGoods from "@/pages/subComponents/m-buy/goods.vue"; //璐墿杞﹀晢鍝佺殑妯″潡
-import popupAddress from "./product/popup/address"; //鍦板潃閫夋嫨妯″潡
-import shares from "@/pages/subComponents/m-share/index.vue"; //鍒嗕韩
+import PromotionLayout from "@/pages/product/product/promotion/-promotion.vue"; //淇冮攢缁勪欢
+import PromotionDetailsLayout from "@/pages/product/product/promotion/-promotion-details.vue"; //淇冮攢娲诲姩璇︽儏
+import PromotionAssembleLayout from "@/pages/product/product/promotion/-promotion-assemble-promotions.vue"; //淇冮攢娲诲姩鏉�
+import PromotionAssembleListLayout from "@/pages/product/product/promotion/-promotion-assemble-list.vue"; //鎷煎洟鐢ㄦ埛鍒楄〃
+import PromotionCoupon from "@/pages/product/product/promotion/-promotion-coupon.vue"; //浼樻儬鍒哥粍浠�
+import GoodsIntro from "@/pages/product/product/goods/-goods-intro.vue"; //鍟嗗搧浠嬬粛缁勪欢
+import GoodsRecommend from "@/pages/product/product/goods/-goods-recommend.vue"; //瀹濊礉鎺ㄨ崘
+import storeLayout from "@/pages/product/product/shop/-shop.vue"; //搴楅摵缁勪欢
+import Evaluation from "@/pages/product/product/evaluation/-evaluation"; //璇勪环缁勪欢
+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"; //涓嬫灦妗�
+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'
@@ -400,10 +401,10 @@
text: "璇︽儏",
id: "3",
},
- {
- text: "鎺ㄨ崘",
- id: "4",
- },
+ // {
+ // text: "鎺ㄨ崘",
+ // id: "4",
+ // },
],
tabScrollTop: null,
scrollArr: [],
@@ -444,6 +445,23 @@
IMLink: "", // IM鍦板潃
wholesaleList: [],
takeDownFromSale: false, // 涓嬫灦閿�鍞姸鎬�
+ pageSessionNo:"",
+ sendOnShow:false,
+ actionParam:{
+ sessionId:'',
+ actionType:"PAGE",
+ joinType:"SELF",
+ pageCode:"GOODS_DETAILS",
+ pageParams:"{}",
+ pageStatus:"JOIN",
+ pageType:"DETAIL",
+ shareId:null,
+ },
+ shareParam:{
+ pageCode:"GOODS_DETAILS",
+ shareOption:"{}",
+ pageType:"DETAIL"
+ }
};
},
@@ -497,7 +515,31 @@
this.productRefHeight = windowHeight - bottomHeight + "px";
},
async onLoad (options) {
- this.routerVal = options;
+
+ if(options.q){
+ const queryParam = {
+ id:'',
+ goodsId:'',
+ distributionId:''
+ };
+ const decodedUrl = decodeURIComponent(decodeURIComponent(options.q));
+ console.log('鍘熷URL:', decodedUrl);
+ const params = this.parseUrlParams(decodedUrl);
+ const id = params.id;
+ const gooodsId = params.goodsId;
+ queryParam.id = id;
+ queryParam.goodsId = gooodsId;
+ this.routerVal = queryParam;
+ this.actionParam.pageParams = JSON.stringify(params)
+ this.actionParam.joinType = 'SCAN'
+ }else{
+ this.routerVal = options;
+ this.actionParam.pageParams = JSON.stringify(options)
+ }
+ console.log('鎵撳嵃淇℃伅')
+ console.log(options)
+ console.log(this.routerVal)
+
// #ifdef MP-WEIXIN
// 灏忕▼搴忛粯璁ゅ垎浜�
uni.showShareMenu({
@@ -506,7 +548,28 @@
});
// #endif
},
+ 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)
+ },
async onShow () {
+ getSessionId().then(res=>{
+ this.pageSessionNo = res.data.data
+ if(this.pageSessionNo){
+ let param = this.actionParam;
+ param.sessionId = this.pageSessionNo
+ userAction(param)
+ }
+ })
this.goodsDetail = {};
//濡傛灉鏈夊弬鏁癷ds璇存槑浜嬪垎閿�鐭繛鎺ワ紝闇�瑕佽幏鍙栧弬鏁�
if (this.routerVal.scene) {
@@ -522,6 +585,23 @@
},
methods: {
+ // 瑙f瀽URL鍙傛暟
+ parseUrlParams(url) {
+ const params = {};
+ // 澶勭悊鍙兘瀛樺湪鐨刪ash锛堝鏋滄湁鐨勮瘽锛�
+ const cleanUrl = url.split('#')[0];
+ const queryStr = cleanUrl.split('?')[1] || '';
+
+ queryStr.split('&').forEach(pair => {
+ const [key, value] = pair.split('=');
+ if (key) {
+ // 濡傛灉鍊煎瓨鍦紝鍒欒В鐮侊紝鍚﹀垯璁句负绌哄瓧绗︿覆
+ params[key] = value ? decodeURIComponent(value) : '';
+ }
+ });
+
+ return params;
+ },
// 閲嶆柊鎵撳紑涓嬫灦
reStartTakeDownSale(){
this.$refs.takeDownSale.show = true
@@ -555,6 +635,8 @@
* 鍒濆鍖栦俊鎭�
*/
async init (id, goodsId, distributionId = "") {
+ console.log('鎵撳嵃id:' + id)
+ console.log('鎵撳嵃goodsId:'+ goodsId)
this.isGroup = false; //鍒濆鍖栨嫾鍥�
this.productId = id; // skuId
// 杩欓噷璇锋眰鑾峰彇鍒伴〉闈㈡暟鎹� 瑙f瀽鏁版嵁
@@ -611,7 +693,7 @@
this.goodsSpec = response.data.result.specs;
this.PromotionList = response.data.result.promotionMap;
this.goodsParams = response.data.result.goodsParamsDTOList || [];
-
+ console.log('浼樻儬鍗锋椿鍔�--------------------銆�',response.data.result.promotionMap)
// 鍒ゆ柇鏄惁鎷煎洟娲诲姩鎴栬�呯Н鍒嗗晢鍝� 濡傛灉鏈夊垯鏄剧ず鎷煎洟娲诲姩淇℃伅
this.PromotionList &&
Object.keys(this.PromotionList).forEach((item) => {
@@ -732,13 +814,14 @@
* 鏌ョ湅璐墿杞�
*/
reluchToCart () {
+ console.log('鐐瑰嚮浜嗚喘鐗╄溅-----------------------銆�')
let obj = {
from: "product",
id: this.productId,
};
storage.setCartBackbtn(obj);
- uni.switchTab({
- url: "/pages/tabbar/cart/cartList",
+ uni.redirectTo({
+ url: "/pages/cusbar/cart/cartList",
});
},
@@ -758,8 +841,8 @@
*/
back () {
if (getCurrentPages().length == 1) {
- uni.switchTab({
- url: "/pages/tabbar/home/index",
+ uni.redirectTo({
+ url: "/pages/commodity-square/commoditySquare",
});
} else {
uni.navigateBack();
--
Gitblit v1.8.0