From 58c78011ca0567a597d8c1e51696e317a3086604 Mon Sep 17 00:00:00 2001 From: peng <peng.com> Date: 星期一, 29 九月 2025 10:52:20 +0800 Subject: [PATCH] Merge branch 'dev_fix_sub' into user_action --- pages/tabbar/user/my.vue | 79 ++++++++++++++++++++++++++++++++------- 1 files changed, 65 insertions(+), 14 deletions(-) diff --git a/pages/tabbar/user/my.vue b/pages/tabbar/user/my.vue index 2f7ddd1..f4f3e1e 100644 --- a/pages/tabbar/user/my.vue +++ b/pages/tabbar/user/my.vue @@ -144,6 +144,7 @@ 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,6 +161,16 @@ couponNum: "", footNum: "", walletNum: "", + pageSessionNo:"", + actionParam:{ + sessionId:'', + actionType:"PAGE", + joinType:"SELF", + pageCode:"TBA_BAR_MY", + pageParams:"{}", + pageStatus:"JOIN", + pageType:"DETAIL" + } }; }, onLoad(option) { @@ -190,28 +201,41 @@ shareTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; uni.setStorageSync('shareTime', shareTime); - - this.bindMemberAndStore(shareStoreId, 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(); @@ -220,6 +244,16 @@ this.couponNum = 0; this.footNum = 0; } + + let shareStoreId = uni.getStorageSync('shareStoreId'); + let shareTime = uni.getStorageSync('shareTime'); + console.log('浠庣紦瀛樿鍙栧弬鏁�:', { shareStoreId, shareTime }); + if (shareStoreId && shareTime) { + console.log('妫�娴嬪埌鏈夋晥鍙傛暟锛岃皟鐢ㄥ悗绔帴鍙�'); + this.bindMemberAndStore(shareStoreId, shareTime); + } else { + console.log('鏃犳湁鏁堝弬鏁帮紝鎵ц姝e父閫昏緫'); + } }, onPullDownRefresh() { this.getUserOrderNum(); @@ -236,6 +270,23 @@ mounted() { }, 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; + }, async bindMemberAndStore(shareStoreId, shareTime){ let form ={ shareStoreId: shareStoreId, -- Gitblit v1.8.0