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