Bladeren bron

优惠券配置

zhengjinyi 1 jaar geleden
bovenliggende
commit
d7a2459f3f

+ 2 - 2
common/css/common.scss

@@ -392,13 +392,13 @@ button::after{
 		top: 0;
 		border-radius: 8rpx 16rpx 0 8rpx;
 		&.none{
-			border-radius: 8rpx;
+			border-radius:16rpx 0;
 		}
 	}
 	.price{
 		height: 32rpx;
 		box-sizing: border-box;
-		border-radius:0 8rpx 8rpx 0;
+		border-radius:0 0 18rpx 0;
 		background-color: #F0CB72;
 		line-height: 32rpx !important;
 		color: #333333 !important;

+ 8 - 4
common/css/iconfont.scss

@@ -1,8 +1,8 @@
 @font-face {
   font-family: "iconfont"; /* Project id 1519039 */
-  src: url('//at.alicdn.com/t/c/font_1519039_1dbk8r8fldb.woff2?t=1701851301194') format('woff2'),
-       url('//at.alicdn.com/t/c/font_1519039_1dbk8r8fldb.woff?t=1701851301194') format('woff'),
-       url('//at.alicdn.com/t/c/font_1519039_1dbk8r8fldb.ttf?t=1701851301194') format('truetype');
+  src: url('//at.alicdn.com/t/c/font_1519039_mbm0wo1jgm.woff2?t=1718188311371') format('woff2'),
+       url('//at.alicdn.com/t/c/font_1519039_mbm0wo1jgm.woff?t=1718188311371') format('woff'),
+       url('//at.alicdn.com/t/c/font_1519039_mbm0wo1jgm.ttf?t=1718188311371') format('truetype');
 }
 
 .iconfont {
@@ -13,6 +13,10 @@
   -moz-osx-font-smoothing: grayscale;
 }
 
+.icon-fenxiang:before {
+  content: "\e67f";
+}
+
 .icon-gongyingshang1:before {
   content: "\e760";
 }
@@ -699,4 +703,4 @@
 
 .icon-wodebeifenx:before {
   content: "\e611";
-}
+}

+ 3 - 2
pages/seller/cart/coupon.vue

@@ -83,6 +83,7 @@
                     pageNum: 1,
                     pageSize: 10
                 },
+                shareUserId:'',
                 coupinList: [],
                 skeletonShow: true,
                 nomoreText: '上拉显示更多',
@@ -124,7 +125,7 @@
         methods: {
             async initGetStotage() {
                 const userInfo = await this.$api.getStorage()
-                this.spId = userInfo.serviceProviderId
+                this.shareUserId = userInfo.userId
                 this.QueryCouponList()
                 setTimeout(() => {
                     this.skeletonShow = false
@@ -201,7 +202,7 @@
                     COUPON_TEXT_MAP[randomIndex]
                 return {
                     title: shareTitle,
-                    path: `pages/user/coupon/coupon-details?couponId=${coupon.couponId}&spId=${this.spId}`,
+                    path: `pages/user/coupon/coupon-details?couponId=${coupon.couponId}&shareUserId=${this.shareUserId}`,
                     imageUrl: 'https://static.caimei365.com/app/img/icon/icon-shareCoupon@2x.png'
                 }
             }

+ 45 - 6
pages/user/coupon/coupon-collection.vue

@@ -83,7 +83,10 @@
 								</view>
 							</view>
 						</view>
-						<view class="list-cell-time">{{ coupon.startDate }} - {{ coupon.endDate }}</view>
+						<view class="list-cell-time">{{ coupon.startDate }} - {{ coupon.endDate }}</view>
+                        <button open-type="share" class="list-cell-share" :data-coupon="coupon">
+                            <text class="iconfont icon-fenxiang"></text>
+                        </button>
 					</view>
 				</view>
 				<!--加载loadding-->
@@ -112,7 +115,8 @@
 import { mapState, mapMutations } from 'vuex'
 import authorize from '@/common/config/authorize.js'
 import couponTabs from '@/components/cm-module/coupon/tui-tabs.vue'
-import payMixins from '@/mixins/payMixins.js'
+import payMixins from '@/mixins/payMixins.js'
+import { COUPON_TEXT_MAP } from '@/utils/coupon.share.js'
 export default {
 	mixins: [payMixins],
 	components: {
@@ -122,7 +126,7 @@ export default {
 		return {
 			StaticUrl: this.$Static,
 			isIphoneX: this.$store.state.isIphoneX,
-			userIdentity: 0,
+			userIdentity: 0,
 			listQuery: {
 				userId: 0,
 				pageNum: 1,
@@ -417,7 +421,22 @@ export default {
 		navigator(url) {
 			this.$api.navigateTo(url)
 		}
-	},
+	},
+    onShareAppMessage(res) {
+        //分享购买优惠券
+        const coupon = res.target.dataset.coupon
+        if (res.from === 'button') {
+            const randomIndex = Math.floor(Math.random() * COUPON_TEXT_MAP.length)
+            const shareTitle = coupon.moneyCouponFlag === 1 ?
+                `${coupon.moneyCouponPrice}抵${coupon.couponAmount},限时优惠券等您抢购~` :
+                COUPON_TEXT_MAP[randomIndex]
+            return {
+                title: shareTitle,
+                path: `pages/user/coupon/coupon-details?couponId=${coupon.couponId}&shareUserId=${this.listQuery.userId}`,
+                imageUrl: 'https://static.caimei365.com/app/img/icon/icon-shareCoupon@2x.png'
+            }
+        }
+    },
 	onPullDownRefresh() {
 		setTimeout(() => {
 			this.QueryCouponList()
@@ -494,7 +513,27 @@ page {
 			height: 100%;
 			box-sizing: border-box;
 			padding: 20rpx 24rpx 0 24rpx;
-			float: right;
+			float: right;
+            position: relative;
+            .list-cell-share{
+                width: 60rpx;
+                height: 60rpx;
+                line-height: 60rpx;
+                text-align: center;
+                position: absolute;
+                right: 0;
+                top: 0;
+                box-sizing: border-box;
+                display: block;
+                background: transparent;
+                border-radius: 0;
+                border: 0;
+                margin: 0;
+                .iconfont{
+                    font-size: 40rpx;
+                    color: #07c160;
+                }
+            }
 			.list-cell-top {
 				width: 100%;
 				height: 121rpx;
@@ -543,7 +582,7 @@ page {
 						width: 100%;
 						height: 100%;
 						box-sizing: border-box;
-						padding-top: 28rpx;
+						padding-top: 48rpx;
 						.icon-used-text {
 							width: 100%;
 							text-align: center;

+ 5 - 5
pages/user/coupon/coupon-details.vue

@@ -76,7 +76,7 @@
                 skeletonShow: true,
                 isReceiveLoading: false, //领券操作状态
                 param: {
-                    spId: 0,
+                    shareUserId: 0,
                     userId: 0,
                     couponId: 0,
                     source: 1
@@ -85,13 +85,13 @@
         },
         onLoad(option) {
             wxLogin.wxLoginAuthorize()
-            this.param.spId = option.spId
+            this.param.shareUserId = option.shareUserId
             this.param.couponId = option.couponId
             // #ifdef MP-WEIXIN
             // 绑定分享参数
-            console.log('绑定分享参数', { query: `couponId=${option.couponId}&spId=${option.spId}` })
+            console.log('绑定分享参数', { query: `couponId=${option.couponId}&shareUserId=${option.shareUserId}` })
             wx.onCopyUrl(() => {
-                return { query: `couponId=${option.couponId}&spId=${option.spId}` }
+                return { query: `couponId=${option.couponId}&shareUserId=${option.shareUserId}` }
             });
             // #endif
             this.initCouponDetail(this.param.couponId)
@@ -213,7 +213,7 @@
             const randomIndex = Math.floor(Math.random() * COUPON_TEXT_MAP.length);
             return {
                 title: COUPON_TEXT_MAP[randomIndex],
-                path: `pages/user/coupon/coupon-details?couponId=${this.param.couponId}&spId=${this.param.spId}`,
+                path: `pages/user/coupon/coupon-details?couponId=${this.param.couponId}&shareUserId=${this.param.shareUserId}`,
                 imageUrl: 'https://static.caimei365.com/app/img/icon/icon-shareCoupon@2x.png'
             }
         },

+ 45 - 6
pages/user/coupon/coupon.vue

@@ -87,10 +87,13 @@
 										<view class="icon-used-btn" @click="toUseCoupon(coupon)">去使用</view>
 									</view>
 									<view class="icon-use" v-if="coupon.useStatus == 2"></view>
-									<view class="icon-invalid" v-if="coupon.useStatus == 3"></view>
-								</view>
+									<view class="icon-invalid" v-if="coupon.useStatus == 3"></view>
+								</view>
 							</view>
-							<view class="list-cell-time">{{ coupon.startDate }} - {{ coupon.endDate }}</view>
+							<view class="list-cell-time">{{ coupon.startDate }} - {{ coupon.endDate }}</view>
+                           <button open-type="share" class="list-cell-share" :data-coupon="coupon" v-if="coupon.useStatus == 1">
+                               <text class="iconfont icon-fenxiang"></text>
+                           </button>
 						</view>
 					</view>
 					<!--加载loadding-->
@@ -109,7 +112,8 @@
 
 <script>
 import { mapState, mapMutations } from 'vuex'
-import couponTabs from '@/components/cm-module/coupon/tui-tabs.vue'
+import couponTabs from '@/components/cm-module/coupon/tui-tabs.vue'
+import { COUPON_TEXT_MAP } from '@/utils/coupon.share.js'
 export default {
 	components: {
 		couponTabs
@@ -304,7 +308,22 @@ export default {
 		navigator(url) {
 			this.$api.navigateTo(url)
 		}
-	},
+	},
+    onShareAppMessage(res) {
+        //分享购买优惠券
+        const coupon = res.target.dataset.coupon
+        if (res.from === 'button') {
+            const randomIndex = Math.floor(Math.random() * COUPON_TEXT_MAP.length)
+            const shareTitle = coupon.moneyCouponFlag === 1 ?
+                `${coupon.moneyCouponPrice}抵${coupon.couponAmount},限时优惠券等您抢购~` :
+                COUPON_TEXT_MAP[randomIndex]
+            return {
+                title: shareTitle,
+                path: `pages/user/coupon/coupon-details?couponId=${coupon.couponId}&shareUserId=${this.listQuery.userId}`,
+                imageUrl: 'https://static.caimei365.com/app/img/icon/icon-shareCoupon@2x.png'
+            }
+        }
+    },
 	onPullDownRefresh() {
 		setTimeout(() => {
 			this.QueryCouponList()
@@ -405,7 +424,27 @@ page {
 			height: 100%;
 			box-sizing: border-box;
 			padding: 20rpx 24rpx 0 24rpx;
-			float: right;
+			float: right;
+            position: relative;
+            .list-cell-share{
+                width: 60rpx;
+                height: 60rpx;
+                line-height: 60rpx;
+                text-align: center;
+                position: absolute;
+                right: 0;
+                top: 0;
+                box-sizing: border-box;
+                display: block;
+                background: transparent;
+                border-radius: 0;
+                border: 0;
+                margin: 0;
+                .iconfont{
+                    font-size: 40rpx;
+                    color: #07c160;
+                }
+            }
 			.list-cell-top {
 				width: 100%;
 				height: 121rpx;

+ 2 - 1
utils/coupon.share.js

@@ -8,5 +8,6 @@ export const COUPON_TEXT_MAP = [
     '抢购正当时,优惠券帮你省钱!',
     '今天还没领到优惠券?',
     '下单前记得先抢100元红包!',
-    '社群专享福利请查收'
+    '社群专享福利请查收',
+    '会员专属优惠'
 ]