From 4c85457a83afeebb0bb4977d0525222493d29de2 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期一, 29 九月 2025 17:19:19 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev_fix_sub' into dev_fix_sub --- pages/tabbar/user/my.vue | 90 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 86 insertions(+), 4 deletions(-) diff --git a/pages/tabbar/user/my.vue b/pages/tabbar/user/my.vue index d86d2e2..81b5994 100644 --- a/pages/tabbar/user/my.vue +++ b/pages/tabbar/user/my.vue @@ -140,7 +140,7 @@ 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' @@ -162,10 +162,43 @@ walletNum: "", }; }, - onLoad() { - this.initCOS() + 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); + } + } + this.initCOS() }, onShow() { + this.userInfo = this.$options.filters.isLogin() || {}; if (this.$options.filters.isLogin("auth")) { this.getUserOrderNum(); @@ -174,6 +207,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(); @@ -190,6 +233,44 @@ 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, + 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" + @@ -242,6 +323,7 @@ </script> <style lang="scss" scoped> + @import url("/pages/subComponents/static/bgStyle.css"); html, body { overflow: auto; @@ -333,7 +415,7 @@ background-size: cover; border-bottom-left-radius: 30rpx; border-bottom-right-radius: 30rpx; - background-image: url("/pages/subComponents/static/img/main-bg.png"); + background-image: var(--main-bg); background-position: bottom; background-repeat: no-repeat; color: #ffffff; -- Gitblit v1.8.0