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