From c6bddd39c91f2d411316a78ed27b466488c2a39e Mon Sep 17 00:00:00 2001 From: peng <peng.com> Date: 星期二, 30 九月 2025 17:38:39 +0800 Subject: [PATCH] 店铺扫码领取抽奖机会 --- pages/prize/PrizeDetail/PrizeDetail.vue | 78 +++++++++++++++++++++++++++++++-------- 1 files changed, 62 insertions(+), 16 deletions(-) diff --git a/pages/prize/PrizeDetail/PrizeDetail.vue b/pages/prize/PrizeDetail/PrizeDetail.vue index 0272909..9b6102e 100644 --- a/pages/prize/PrizeDetail/PrizeDetail.vue +++ b/pages/prize/PrizeDetail/PrizeDetail.vue @@ -96,7 +96,6 @@ <button class="chance-item" open-type="share"> <view class="chance-icon">馃懃</view> <text class="chance-title">鍒嗕韩濂藉弸</text> - <text class="chance-subtitle">+1娆℃満浼�</text> </button> <!-- <view class="chance-item" @tap="shareToTimeline"> <view class="chance-icon">馃寪</view> @@ -106,17 +105,14 @@ <view class="chance-item" @tap="watchVideo"> <view class="chance-icon">馃幀</view> <text class="chance-title">娴忚瑙嗛</text> - <text class="chance-subtitle">+1娆℃満浼�</text> </view> <view class="chance-item" @tap="browseProduct"> <view class="chance-icon">馃泹锔�</view> <text class="chance-title">娴忚鍟嗗搧</text> - <text class="chance-subtitle">+1娆℃満浼�</text> </view> <view class="chance-item " @tap="goShopping"> <view class="chance-icon">馃洅</view> <text class="chance-title">鍘昏喘鐗�</text> - <text class="chance-subtitle">浜彈璐墿涔愯叮</text> </view> </view> @@ -148,13 +144,14 @@ </template> <script> import bgConfig from '@/pages/prize/PrizeDetail/prize-bgConfig.js' - import { getSessionId, userAction } from "@/api/userAction.js"; + import { getSessionId, userAction ,userShare } from "@/api/userAction.js"; import { prizeInfo, prizeNum, prize, - grantRecord + grantRecord, + addPrizeNum } from '@/api/prize.js' export default { data() { @@ -224,7 +221,13 @@ pageParams:"{}", pageStatus:"JOIN", pageType:"DETAIL" - } + }, + shareParam:{ + pageCode:"PRIZE_DETAIL", + shareOption:"{}", + pageType:"DETAIL" + }, + shareId:'', }; }, computed: { @@ -234,14 +237,14 @@ } }, onUnload() { - let param = this.actionParam; + let param = Object.assign({}, this.actionParam); if (this.sendOnShow)return param.pageStatus = "LEAVE" userAction(param) }, onHide() { this.startHidenTime = Date.now() - let param = this.actionParam; + let param = Object.assign({}, this.actionParam); this.sendOnShow = true; param.pageStatus = "LEAVE" userAction(param) @@ -249,14 +252,36 @@ onShow() { getSessionId().then(res=>{ this.pageSessionNo = res.data.data + this.actionParam.sessionId = res.data.data if(this.pageSessionNo){ - let param = this.actionParam; + let param = Object.assign({}, this.actionParam); param.sessionId = this.pageSessionNo userAction(param) } - }) + }) + const shareId = uni.getStorageSync("shareId"); + if(shareId){ + let param = { + addType:"SHARE_USER_REGISTRY", + extend:"", + } + let extend = {shareId:shareId} + param.extend = JSON.stringify(extend) + addPrizeNum(param); + + let param2 = { + addType:"USER_STAY_TIME", + extend:"", + } + addPrizeNum(param2); + } }, 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() @@ -303,17 +328,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