From 814f5915fde05ecf5e565a07bc9d611cf6202505 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期五, 12 九月 2025 17:07:21 +0800
Subject: [PATCH] 分享虚拟优惠卷

---
 pages/order/cardPack.vue                  |   52 ++++++++++++++++++++++++----------------------------
 pages/order/claim-coupon/claim-coupon.vue |    5 ++---
 2 files changed, 26 insertions(+), 31 deletions(-)

diff --git a/pages/order/cardPack.vue b/pages/order/cardPack.vue
index d2a402d..6b00db7 100644
--- a/pages/order/cardPack.vue
+++ b/pages/order/cardPack.vue
@@ -24,7 +24,6 @@
 								'coupon-used': item.claimStatus === 'CLAIMED',
 								'coupon-expired': item.status === 'EXPIRED'
 							}"
-							@click="handleCouponClick(item)"
 						>
 							<!-- 宸︿晶浼樻儬鍒镐富浣� -->
 							<view class="left">
@@ -38,7 +37,7 @@
 									<view class="coupon-name">{{ item.skuName }}</view>
 									<view class="coupon-no">鍒稿彿: {{ item.couponNo }}</view>
 									<view class="order-id" v-if="item.orderId">璁㈠崟: {{ item.orderId }}</view>
-								
+
 								</view>
 								
 								<!-- 鍦嗗舰瑁呴グ -->
@@ -65,16 +64,14 @@
 									  {{ item.shareStatus === 'NOT_SHARE' ? '鏈垎浜�' : '宸插垎浜�' }}
 									</view>
 									
-									<!-- 鎿嶄綔鎸夐挳 -->
-									<view class="action-btn" v-if="item.claimStatus === 'NOT_CLAIM'">
-										绔嬪嵆棰嗗彇
+										
+									<view v-if="item.claimStatus === 'CLAIMED'">
+										<button class="action-btn shared"  open-type="share" :data-item="JSON.stringify(item)">
+											鍒嗕韩濂藉弸
+										</button>
 									</view>
-									<view class="action-btn shared" v-else-if="item.shareStatus === 'NOT_SHARE'">
-										鍒嗕韩濂藉弸
-									</view>
-									<view class="action-btn disabled" v-else>
-										宸蹭娇鐢�
-									</view>
+									
+						
 								</view>
 							</view>
 						</view>
@@ -93,7 +90,9 @@
 </template>
 
 <script>
+	import configs from '@/config/config'
 	import {getPage} from '@/api/couponVirtual.js'
+	import storage from "@/utils/storage.js";
 	export default {
 		data() {
 			return {
@@ -107,8 +106,20 @@
 			   },
 			   storeId: "", //搴楅摵 id,
 			   couponData: "",
-		
 			};
+		},
+		onShareAppMessage(e){
+			const userInfo = storage.getUserInfo();
+			if(!userInfo) {
+				console.log("鏈櫥褰曚笉鑳藉垎浜�");
+				return
+			}
+			const shareItem = e.target?.dataset?.item ? JSON.parse(e.target.dataset.item) : this.item;
+			return {
+				title: '鍒嗕韩浼樻儬鍗�',
+				path: `/pages/order/claim-coupon/claim-coupon?id=${shareItem.id}`,
+				imageUrl: ''
+			}
 		},
 		 onLoad(options) {
 		    // options 涓寘鍚� URL 浼犻�掔殑鎵�鏈夊弬鏁�
@@ -161,22 +172,7 @@
 					this.loadStatus = "noMore";
 				}
 			},
-			handleCouponClick(item) {
-				// 澶勭悊浼樻儬鍒哥偣鍑讳簨浠�
-				if (item.claimStatus === 'NOT_CLAIM') {
-					// 棰嗗彇浼樻儬鍒搁�昏緫
-					uni.showToast({
-						title: '棰嗗彇鎴愬姛',
-						icon: 'success'
-					})
-				} else if (item.shareStatus === 'NOT_SHARE') {
-					// 鍒嗕韩浼樻儬鍒搁�昏緫
-					uni.showToast({
-						title: '宸茬敓鎴愬垎浜浘',
-						icon: 'success'
-					})
-				}
-			}
+			
 		}
 	}
 </script>
diff --git a/pages/order/claim-coupon/claim-coupon.vue b/pages/order/claim-coupon/claim-coupon.vue
index 2acfa09..905d2dc 100644
--- a/pages/order/claim-coupon/claim-coupon.vue
+++ b/pages/order/claim-coupon/claim-coupon.vue
@@ -12,12 +12,12 @@
 				<!-- 鍟嗗搧鍥剧墖 -->
 				<view class="goods-image-container">
 					<u-image 
-						:src="couponInfo.goodsImage || '/static/default_goods.png'" 
+						:src="couponInfo.goodsUrl"
 						width="100%" 
 						height="300rpx" 
 						mode="aspectFit"
 						border-radius="16"
-						@click="previewImage(couponInfo.goodsImage)"
+						@click="previewImage(couponInfo.goodsUrl)"
 					></u-image>
 				</view>
 				
@@ -95,7 +95,6 @@
 		onLoad(options) {
 			// 閫氳繃鍙傛暟浼犻�掍紭鎯犲埜ID
 			// 渚嬪: /pages/order/claim-coupon/claim-coupon?id=123
-			options.id = '1966390012058017794'
 			
 			this.couponId = ''
 			if (options.id) {

--
Gitblit v1.8.0