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