From 3fea9f0720e7751e4737ded74b3aa89db273688d Mon Sep 17 00:00:00 2001 From: peng <peng.com> Date: 星期日, 28 九月 2025 17:55:11 +0800 Subject: [PATCH] 用户行为分析 --- pages/tabbar/user/my.vue | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 103 insertions(+), 2 deletions(-) diff --git a/pages/tabbar/user/my.vue b/pages/tabbar/user/my.vue index 6552fd3..d3b8b31 100644 --- a/pages/tabbar/user/my.vue +++ b/pages/tabbar/user/my.vue @@ -140,10 +140,11 @@ import '@/pages/subComponents/uview-components/uview-ui'; import tool from "@/pages/tabbar/user/utils/tool.vue"; import { getSTSToken } from "@/api/common.js"; -import { getCouponsNum, getFootprintNum } from "@/api/members.js"; +import { getCouponsNum, getFootprintNum,bindMemberAndStore } from "@/api/members.js"; import { getUserWallet } from "@/api/members"; import configs from '@/config/config' import storage from '@/utils/storage.js' +import { getSessionId, userAction } from "@/api/userAction.js"; export default { components: { tool @@ -160,12 +161,91 @@ couponNum: "", footNum: "", walletNum: "", + pageSessionNo:"", + actionParam:{ + sessionId:'', + actionType:"PAGE", + joinType:"SELF", + pageCode:"TBA_BAR_MY", + pageParams:"{}", + pageStatus:"JOIN", + pageType:"DETAIL" + } }; }, - onLoad() { + onLoad(option) { + console.log('-----------鍒嗕韩鍑虹殑鏁版嵁---------->', option) + let shareStoreId = null; + let shareTime = null; + // 妫�鏌ユ槸鍚﹀瓨鍦╭鍙傛暟 + if (option.q) { + // 鍙岄噸瑙g爜锛氬井淇″URL杩涜浜嗕袱娆$紪鐮� + const decodedUrl = decodeURIComponent(decodeURIComponent(option.q)); + console.log('鍘熷URL:', decodedUrl); + + // 瑙f瀽URL涓殑鏌ヨ鍙傛暟 + const params = this.parseUrlParams(decodedUrl); + shareStoreId = params.shareStoreId; + try { + // 灏嗘暟鎹瓨鍌ㄥ埌鏈湴缂撳瓨 + uni.setStorageSync('shareStoreId', shareStoreId); + //鍒涘缓涓�涓壂鐮佺殑鏃堕棿 + // 鑾峰彇褰撳墠鏃堕棿骞舵牸寮忓寲涓� yyyy-MM-dd HH:mm:ss + const now = new Date(); + const year = now.getFullYear(); + const month = String(now.getMonth() + 1).padStart(2, '0'); // 鏈堜唤浠�0寮�濮嬶紝闇�瑕�+1 + const day = String(now.getDate()).padStart(2, '0'); + const hours = String(now.getHours()).padStart(2, '0'); + const minutes = String(now.getMinutes()).padStart(2, '0'); + const seconds = String(now.getSeconds()).padStart(2, '0'); + + shareTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; + uni.setStorageSync('shareTime', shareTime); + console.log('鏁版嵁瀛樺偍鎴愬姛'); + } catch (e) { + console.error('瀛樺偍澶辫触锛�', e); + } + }else{ + shareStoreId = uni.getStorageSync('shareStoreId'); + shareStoreId = uni.getStorageSync('shareTime'); + console.log('浠庣紦瀛樿鍙栧弬鏁�:', { shareStoreId, shareTime }); + // this.bindMemberAndStore(shareStoreId, shareTime) + if (shareStoreId && shareTime) { + console.log('妫�娴嬪埌鏈夋晥鍙傛暟锛岃皟鐢ㄥ悗绔帴鍙�'); + this.bindMemberAndStore(shareStoreId, shareTime); + } else { + console.log('鏃犳湁鏁堝弬鏁帮紝鎵ц姝e父閫昏緫'); + } + } + this.initCOS() + }, + 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) + }, + onLoad(options) { + this.actionParam.pageParams = JSON.stringify(options) this.initCOS() }, 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) + } + }) this.userInfo = this.$options.filters.isLogin() || {}; if (this.$options.filters.isLogin("auth")) { this.getUserOrderNum(); @@ -190,6 +270,27 @@ mounted() { }, methods: { + async bindMemberAndStore(shareStoreId, shareTime){ + let form ={ + shareStoreId: shareStoreId, + shareTime: shareTime + } + // let form ={ + // shareStoreId: "1376433565247471616", + // shareTime: "2025-09-26 16:18:00" + // } + try { + const res = await bindMemberAndStore(form); + if(res.statusCode === 200){ + //娓呴櫎缂撳瓨 + uni.removeStorageSync('shareStoreId'); + uni.removeStorageSync('shareTime'); + } + } + catch(error) { + console.error('鍑洪敊:', error); + }; + }, // goTOSuccess(){ // uni.redirectTo({ // url:"/pages/cart/payment/success?paymentMethod=WECHAT" + -- Gitblit v1.8.0