overseas/pages/annex/vip_center/index.vue

1027 lines
114 KiB
Vue
Raw Normal View History

2024-03-21 17:52:58 +08:00
<template>
<!-- svip会员模块 -->
<view class="card_content">
<view class="card-section">
<view class="header-card" :style="'background-image: url('+domain+'/static/images/svip_section.png)'">
<view class="header-avatar acea-row">
<view class="acea-row row-middle">
<view class="avatar-box on">
<image class="image" :src="userInfo.avatar ? userInfo.avatar : '/static/images/f.png'"></image>
<view class="headwear">
<image :src="`${domain}/static/images/crown.png`"></image>
</view>
</view>
<view class="text acea-row">
<view class="name">{{userInfo.nickname || ''}}</view>
<image class="vip" :src="`${domain}/static/images/svip.png`"></image>
</view>
</view>
<view v-if="userInfo.is_svip == 3" class="expire">终身会员</view>
<view v-else class="expire">{{userInfo.svip_endtime | dateFormat}}到期</view>
</view>
<view class="header_count">
<view class="acea-row row-between vip_save">
<view class="save_money">
<text class="name">累计节省()</text>
<view class="money">{{userInfo.svip_save_money}}</view>
</view>
<view v-if="userInfo.is_svip != 3" @click="scrollToCard" class="renew_btn">立即续费</view>
</view>
<view class="save_list acea-row">
<scroll-view scroll-x="true" style="white-space: nowrap; display: flex" show-scrollbar="false">
<view v-for="(item,index) in memberRights" :key="index" class='item' @click="goUrl(item.link)">
<image class="pic" :src="item.on_pic"></image>
<view class="text">
<view class="name">{{item.name}}</view>
<view class="info line1">{{item.info}}</view>
</view>
</view>
</scroll-view>
</view>
</view>
</view>
</view>
<!--卡片下方内容-->
<view class="vip_center">
<view v-if="memberCoupons.length > 0" class="coupon-section">
<view class="section-hd">
<view class="title">会员优惠券</view>
<text class="desc">会员专享优惠券全场通用</text>
</view>
<scroll-view class="section-bd" scroll-x="true">
<view v-for="item in memberCoupons" :key="item.coupon_id" class="item"
:class="{gray: item.svipIssue}"
:style="'background-image: url('+domain+'/static/images/svip_coupon.png)'">
<view class="coupon-count">
<view class="money">
<text></text>
<text class="num">{{item.coupon_price}}</text>
</view>
<view class="text">
<view v-if="item.use_min_price === '0.00'" class="mark">无门槛券</view>
<view v-else class="mark">{{item.use_min_price | moneyFormat}}可用</view>
</view>
</view>
<navigator hover-class="none" :url="'/pages/columnGoods/goods_coupon_list/index?coupon_id='+item.coupon_id" v-if="item.svipIssue" class="coupon-btn">去使用</navigator>
<view v-else @click="receiveCoupon(item)" class="coupon-btn">立即领取</view>
</view>
</scroll-view>
</view>
<!--立即续费-->
<view v-if="userInfo.is_svip != 3" class="type-section" id="card" :style="{ 'background-image':`url(../static/renew_bg.png)`}">
<view class="section-hd">
<view class="title">会员续费</view>
<text class="desc">续费可继续享受优惠价</text>
</view>
<scroll-view class="scroll" scroll-x="true">
<view v-for="(item,index) in memberType" :key="item.group_data_id" class="item" :class="{on: index === type}"
@click="checkType(item,index)">
<view class="title line1">{{item.value && item.value.svip_name}}</view>
<view class="new"><text class="num">{{item.value && item.value.price | moneyFormat}}</text></view>
<view class="old">{{item.value && item.value.cost_price | moneyFormat}}</view>
</view>
</scroll-view>
<view class="buy" @click="pay">立即支付</view>
<view v-if="memberExplain" class="agree">
<navigator class="link" url="/pages/annex/vip_clause/index" hover-class="none">购买即视为同意<text
class="mark">会员用户协议</text></navigator>
</view>
</view>
<view v-if="goodsList.length" class="goods-section">
<view class="section-hd">
<view class="title">会员专享价</view>
</view>
<view class="section-bd acea-row">
<view v-for="item in goodsList" :key="item.product_id" class="item" @click="goDetail(item.product_id)">
<easy-loadimage class="image" mode="widthFix" :image-src="item.image"></easy-loadimage>
<view class="name line2">
<text v-if="item.merchant.type_name && item.product_type == 0" class="font-bg-red bt-color">{{item.merchant.type_name}}</text>
{{item.store_name}}
</view>
<view class="svip-price">{{item.svip_price}}
<image :src="`${domain}/static/images/svip.png`"></image>
</view>
<view class="shop-price">商城价{{item.price}}</view>
</view>
</view>
</view>
</view>
<payment :payMode="payMode" :pay_close="pay_close" :is-call="true" @onChangeFun="onChangeFun"
:order_id="pay_order_id" :totalPrice="totalPrice"></payment>
<view v-show="false" v-html="formContent"></view>
</view>
</template>
<script>
2024-03-21 18:05:36 +08:00
2024-03-21 17:52:58 +08:00
import easyLoadimage from '@/components/easy-loadimage/easy-loadimage.vue';
import payment from '@/components/payment';
import { mapGetters } from "vuex";
import {
memberCard,
memberEquity,
memberCouponLst,
memberCardDraw,
memberCardCreate,
groomList,
getAgreementApi,
receiveMemberCoupon
} from '@/api/user.js';
import { toLogin } from '@/libs/login.js';
import { openPaySubscribe } from '@/utils/SubscribeMessage.js';
import dayjs from '@/plugin/dayjs/dayjs.min.js';
import { HTTP_REQUEST_URL } from '@/config/app';
export default {
components: {
payment,
easyLoadimage
},
filters: {
dateFormat: function(value) {
return dayjs(value).format('YYYY-MM-DD');
},
moneyFormat: function(value) {
return parseFloat(value);
}
},
data() {
return {
domain: HTTP_REQUEST_URL,
memberType: [],
userInfo: {},
memberRights: [],
memberExplain: [],
memberCoupons: [],
isGetFree: null,
popupShow: false,
account: '',
password: '',
goodsList: [],
pay_order_id: '',
payMode: [{
name: '微信支付',
icon: 'icon-weixinzhifu',
// #ifdef H5
value: this.$wechat.isWeixin() ? 'weixin' : 'h5',
// #endif
// #ifdef MP
value: 'routine',
// #endif
// #ifdef APP-PLUS
value: 'weixin',
// #endif
title: '微信快捷支付',
payStatus: true
}
// #ifdef H5 ||APP-PLUS
,
{
name: '支付宝支付',
icon: 'icon-zhifubao',
// #ifdef H5 || APP-PLUS
value: 'alipay',
// #endif
// #ifdef MP
value: 'alipayQr',
// #endif
title: '支付宝支付',
payStatus: true
}
// #endif
],
pay_close: false,
totalPrice: '0',
formContent: '',
page: 1,
limit: 15,
finished: false,
loading: false,
memberEndTime: '',
// #ifdef H5
isWeixin: this.$wechat.isWeixin(),
// #endif
type: 0,
svip_type: 1,
svip: null,
svipDef: {},
}
},
watch: {
},
computed: mapGetters(['isLogin']),
onLoad() {
this.getCouponLst();
if (this.isLogin) {
this.getMemberCard();
this.memberEquity();
this.groomList();
} else {
toLogin()
}
},
onShow(){
},
onReachBottom() {
this.groomList();
},
methods: {
onLunch() {
this.getMemberCard();
this.memberEquity();
this.getCouponLst();
},
goUrl(url){
if(url.indexOf("http") != -1){
// #ifdef H5
location.href = url
// #endif
}else{
if(['/pages/goods_cate/goods_cate','/pages/order_addcart/order_addcart','/pages/user/index','/pages/plant_grass/index'].indexOf(url) == -1){
uni.navigateTo({
url:url
})
}else{
uni.switchTab({
url:url
})
}
}
},
// 付费会员数据
getMemberCard() {
uni.showLoading({
title: '正在加载…'
});
memberCard().then(res => {
uni.hideLoading();
this.memberType = res.data.list;
this.svipDef = res.data.def;
this.totalPrice = res.data.def.price.toString();
this.pay_order_id = res.data.def.group_data_id.toString();
this.svip_type = res.data.def.svip_type;
}).catch(err => {
uni.showToast({
title: err,
icon: 'none'
});
});
},
// 付费会员权益
memberEquity() {
memberEquity().then(res => {
this.memberRights = res.data.interests;
this.userInfo = res.data.user;
}).catch(err => {
uni.showToast({
title: err,
icon: 'none'
});
});
},
// 会员优惠券
getCouponLst() {
memberCouponLst().then(res => {
this.memberCoupons = res.data
}).catch(err => {
uni.showToast({
title: err,
icon: 'none'
});
});
},
receiveCoupon(item) {
let that = this;
if (that.isLogin === false) {
toLogin()
} else {
receiveMemberCoupon(item.coupon_id).then(res => {
item.svipIssue = 1
uni.showToast({
title: res.message,
icon: 'none'
})
}).catch(err => {
uni.showToast({
title: err,
icon: 'none'
})
})
}
},
pay() {
if (this.totalPrice == 0) {
this.createMemberCard('weixin');
} else {
this.pay_close = true;
}
},
payClose: function() {
this.pay_close = false;
},
// 立即购买
createMemberCard(type) {
uni.showLoading({
title: '正在加载…'
});
let query = {
pay_type: type,
// #ifdef H5
return_url: location.port ? location.protocol + '//' + location.hostname + ':' + location.port +
'/pages/annex/vip_paid/index' : location.protocol + '//' + location.hostname +
'/pages/annex/vip_paid/index'
// #endif
};
let group_id = this.pay_order_id
// #ifdef MP
openPaySubscribe().then(() => {
memberCardCreate(group_id,query).then(res => {
if (parseFloat(this.totalPrice) > 0) {
this.callPay(res);
} else {
uni.hideLoading();
return this.$util.Tips({
title: this.svip_type == 1 ? '成功开启0元试用' : '续费成功',
}, () => {
this.onLunch()
});
}
}).catch(err => {
uni.hideLoading();
uni.showToast({
title: err,
icon: 'none'
});
});
});
// #endif
// #ifndef MP
memberCardCreate(group_id,query).then(res => {
if (parseFloat(this.totalPrice) > 0) {
this.callPay(res);
} else {
uni.hideLoading();
return this.$util.Tips({
title: this.svip_type == 1 ? '成功开启0元试用' : '续费成功',
}, () => {
this.onLunch()
});
}
}).catch(err => {
uni.showToast({
title: err,
icon: 'none'
});
});
// #endif
},
// 调用支付
callPay(res) {
let that = this;
let status = res.data.status,
orderId = res.data.result.order_id,
callback_key = res.data.result.pay_key,
jsConfig = res.data.result.config,
goPages = '/pages/annx/vip_center/index'
switch (status) {
case 'ORDER_EXIST':
case 'EXTEND_ORDER':
case 'PAY_ERROR':
case 'error':
uni.hideLoading();
that.payClose();
return that.$util.Tips({
title: res.message
});
break;
case 'success':
uni.hideLoading();
that.payClose();
return that.$util.Tips({
title: res.message,
icon: 'success'
});
break;
case 'alipay':
case "alipayQr":
uni.hideLoading();
that.payClose();
uni.navigateTo({
url: '/pages/order_pay_back/index?keyCode='+callback_key+'&url='+jsConfig+'&type=11',
})
return;
break;
// #ifndef MP
case "wechat":
case "weixin":
case "weixinApp":
jsConfig.timeStamp = jsConfig.timestamp;
// #ifndef APP-PLUS
this.$wechat.pay(jsConfig).then(res => {
uni.hideLoading();
that.payClose();
return that.$util.Tips({
title: res.message,
icon: 'success'
});
}).catch(res => {
uni.hideLoading();
if (res.errMsg == 'chooseWXPay:cancel') return that.$util.Tips({
title: '取消支付'
});
})
// #endif
// #ifdef APP-PLUS
let mp_pay_name=''
if(uni.requestOrderPayment){
mp_pay_name='requestOrderPayment'
}else{
mp_pay_name='requestPayment'
}
uni[mp_pay_name]({
provider: 'wxpay',
orderInfo: jsConfig,
success: (e) => {
uni.hideLoading();
that.payClose();
return that.$util.Tips({
title: '支付成功',
icon: 'success'
});
},
fail: (e) => {
uni.hideLoading();
that.payClose();
uni.showModal({
content: "支付失败",
showCancel: false,
success: function(res) {}
})
},
complete: () => {
uni.hideLoading();
},
});
// #endif
break;
// #endif
// #ifdef MP
case "routine":
jsConfig.timeStamp = jsConfig.timestamp;
let mp_pay_name=''
if(uni.requestOrderPayment){
mp_pay_name='requestOrderPayment'
}else{
mp_pay_name='requestPayment'
}
uni[mp_pay_name]({
...jsConfig,
success: function(res) {
uni.hideLoading();
that.payClose();
return that.$util.Tips({
title: '支付成功',
icon: 'success'
}, {
tab: 5,
url: goPages
});
},
fail: function(e) {
uni.hideLoading();
that.payClose();
return that.$util.Tips({
title: '取消支付'
});
},
})
break;
// #endif
case "balance":
uni.hideLoading();
that.payClose();
//余额不足
return that.$util.Tips({
title: res.message
}, {
tab: 5,
url: goPages
});
break;
// #ifdef H5
case 'h5':
let host = window.location.protocol + "//" + window.location.host;
let url = `${host}/pages/annex/vip_center/index`
let eUrl = encodeURIComponent(url)
let jsurl = jsConfig.mweb_url || jsConfig.h5_url
let locations = `${jsurl}&redirect_url=${eUrl}`
setTimeout(() => {
location.href = locations;
}, 100);
break;
// #endif
// #ifdef APP-PLUS
case 'alipayApp':
uni.requestPayment({
provider: 'alipay',
orderInfo: jsConfig,
success: (e) => {
uni.hideLoading();
that.payClose();
return that.$util.Tips({
title: '支付成功',
icon: 'success'
});
},
fail: (e) => {
uni.hideLoading();
uni.showModal({
content: "支付失败",
showCancel: false,
success: function(res) {}
})
},
complete: () => {
uni.hideLoading();
},
});
break;
// #endif
}
},
payCheck: function(type) {
this.createMemberCard(type);
},
onChangeFun: function(e) {
let opt = e;
let action = opt.action || null;
let value = opt.value != undefined ? opt.value : null;
action && this[action] && this[action](value);
},
scrollToCard() {
const query = uni.createSelectorQuery().in(this);
query.select('#card').boundingClientRect(data => {
uni.pageScrollTo({
scrollTop: data.top
});
}).exec();
},
checkType(svip,index) {
this.svipDef = svip.value;
this.type = index;
this.svip_type = svip.value.svip_type;
this.pay_order_id = svip.group_data_id.toString();
this.totalPrice = svip.value.price.toString();
},
goDetail(id) {
uni.navigateTo({
url: `/pages/goods_details/index?id=${id}`
});
},
groomList() {
if (this.finished || this.loading) {
return;
}
this.loading = true
groomList({
page: this.page,
limit: this.limit
}).then(res => {
this.goodsList = this.goodsList.concat(res.data.list);
this.finished = res.data.list.length < this.limit;
this.loading = false;
this.page += 1;
}).catch(err => {
});
},
},
// 滚动监听
onPageScroll(e) {
// 传入scrollTop值并触发所有easy-loadimage组件下的滚动监听事件
uni.$emit('scroll');
}
}
</script>
<style lang="scss" scoped>
.card_content{
background: #F5f5f5;
}
.card-section {
height: 600rpx;
background: url("data:image/png;base64,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
background-size: cover;
background-repeat: no-repeat;
position: relative;
.header-card{
width: 750rpx;
margin: 0 auto;
background-image: url("data:image/png;base64,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
background-repeat: no-repeat;
background-size: 100% 100%;
padding: 53rpx 0 60rpx;
position: absolute;
left: 0;
top: 64rpx;
z-index: 10;
.header-avatar{
justify-content: space-between;
align-items: center;
padding: 0 53rpx;
.text {
flex: 1;
margin-left: 15rpx;
font-size: 22rpx;
line-height: 30rpx;
color: #89735B;
}
.name {
margin-bottom: 2rpx;
font-weight: bold;
font-size: 30rpx;
line-height: 42rpx;
color: #865622;
}
}
.vip{
width: 82rpx;
height: 36rpx;
position: relative;
top: 5rpx;
margin-left: 7rpx;
}
.expire {
font-size: 22rpx;
color: #865622;
}
}
.avatar-box{
position: relative;
.image {
width: 64rpx;
height: 64rpx;
border-radius: 50%;
border: 3rpx solid rgb(255, 210, 104);
margin-right: 20rpx;
}
.headwear {
position: absolute;
right: 18rpx;
top: -18rpx;
width: 18rpx;
height: 18rpx;
image {
width: 100%;
height: 100%;
}
}
}
}
.header_count{
margin-top: 20rpx;
.vip_save{
padding: 0 53rpx;
.save_money{
color: #666666;
font-size: 24rpx;
.money{
font-size: 58rpx;
color: #282828;
}
}
.renew_btn{
width: 160rpx;
line-height: 60rpx;
height: 60rpx;
text-align: center;
background: #282828;
border-radius: 30rpx;
color: #F7E1A6;
font-size: 24rpx;
font-weight: bold;
position: relative;
top: 30rpx;
}
}
}
.save_list{
margin-top: 20rpx;
padding: 0 30rpx 0 53rpx;
display: flex;
.item{
width: 22%;
display: inline-block;
text-align: center;
margin-right: 12rpx;
&:last-child{
margin-right: 0;
}
.pic{
width: 84rpx;
height: 84rpx;
border-radius: 100%;
}
.text{
margin-top: 10rpx;
color: #282828;
.name{
font-size: 26rpx;
font-weight: bold;
}
.info{
max-width: 100%;
color: #666666;
font-size: 18rpx;
margin-top: 4rpx;
}
}
}
}
.vip_center{
border-radius: 34rpx 34rpx 0 0;
background: #F5F5F5;
padding: 215rpx 20rpx 0;
position: relative;
margin-top: -260rpx;
z-index: 5;
.coupon-section {
margin-top: 20rpx;
background-color: #FFFFFF;
background-size: 100%;
background-repeat: no-repeat;
border-radius: 16rpx;
.section-bd {
white-space: nowrap;
padding: 0 20rpx;
.item {
display: inline-flex;
width: 160rpx;
height: 190rpx;
margin: 26rpx 20rpx 30rpx 0;
background-size: cover;
background-repeat: no-repeat;
position: relative;
.coupon-count{
width: 160rpx;
text-align: center;
margin-top: 36rpx;
}
&:last-child {
margin-right: 0;
}
&.gray {
&::before{
content: "";
display: block;
width: 160rpx;
height: 190rpx;
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAC+BAMAAABAPRn1AAAAJFBMVEVHcEzvypbsyZXsypTtyZXwzpPtypXsyZXsyZXsyZXsyZXsyZUx55mvAAAAC3RSTlMAJqVDehFfv9vwj03dKpUAAAVNSURBVGje7VjLU9tGGF9Zlm3IRaGZOMAFE/IAXww2kISLzRhaqoubmmcuCu/WF2xKAtUFSEiZ6JKZ0CapLqSdJJ1wQjb2mu+f6+5KNjaTzlTrTk/7O0i7q9Fv9nvu9y1CvFiw8MRMb188Hl/9tpBS1uAFagl+qxJ7cDvjzhIDahietcInGZXhdKxhPq6Pwq0WCKeqK5/J9ia/Z7vVEVLW9HUc4+Z7CFvLVFwNk0fgZI+urQ2flLgFNstZlbxlyybPdgC2tc+yySv0ffxVkr7bLaC8UGarcn6ukuHboHWw5Iy6U5To5WtnNjtsbHARdtoLqjMKOK9p98PtYIWHTzG3IggNf+GLb8XgIQziBVUqFL/06eMcD6F28B4hy3b1LzVu1TfIYxJIxJBiVXUq/Y+f0uk/+i4cmsdvQuddxLI7Z9S+vWx70mKk7vEchCcHPZSEPOS+mtt1HDNrkSUOG0PC9Rmlr9mN5QKXE7ZXFtxRWG3mM4ArTrpPP7gETQbIvjCwofMQntxyf1ts4rMA62M9PGEC11zvOW7mi+JM2ysOwkAl62aCTCOfbayYx8FTnrgrP2YZGkUasw9Wx3Y7y/4iB+Gjs2NZyxOTJOtLQ2gb1M6yDMs8GVvLJ/00QwfrK6OgI7MAGOVsHsJoWkUW+XH1gu8og3JwZOoB4CE0hxDCRFc9db7z6RgKVTK5XZTDKofX+JCiDtadJghvy1O/okB1WisjGWzPjDJ23NDP/vTf9B1lgUpq7gAOZDF4PgL8tnM8+djzCmx+F4XSO6rEiGGOlzrAK6GvlGogfLQP23BY1pIoZBMN3iiiLu+ETmpwBB/b6gBYxfNEiXDVKne/4gkUx7wJh3AnOartmtShTRPjk2OO/O8SXkUKCRVtB8dC5dzBWzKsDsJfKgdh0XVAZYrUH9EV7Vkfbitquh/2UD9POqztUJkisYZM1Q8lc/H8Xkw6IvVDgCvZMD1JU/DE0tE9kvZLuecYv0dU2iAPYYkSSlHYRNoukRkGiiEborBx4Use3eY85fKheaLEHyb8xUABlPVdXsJ2EimEj2ZXP1GiIvlOSWZAKHPhnB5PABLLMuNTvqF169i7UxStJWpS8kx4L2xIsZFSmJk3afEOsA+1KpO8vZdzMESzrMr45KdEzGi1q1aHJcnp4j3BLhIHid5i+1MsMpbSdYOpJD16P+c3STx0V+EmOw+agreDRrdnwrEzoikfOIfoWFONTtfaPRO2lSPUNE6JqTXmq0CSq/jyVWjmim44B9TxJYk5IEOYlmBFxtfY0Sq8XZRxU6f7RGi9uUOeVTkJc6cbTImX+KQIb+MYspkSDy918KMZ92j1Hs0wRH6cv8T3kJg49IbPzsYelXmSinm7tnaNCCybxJkUDsL58+X6bgeYlMoQixuN9LpBLpk7YhdXDQPpxHjvilNH9OroI5fMB/mGWTxes0XgcmfwbzGHw//UkKxxdaOSld+6fKnh7nHL4PNtu9ZESe49kOFo9etZ4CL0Q/6JM7qSZtVCN9gscfQYRb5oOamEHe13AyMMAWtQn8+CjjijZW89xrTpJLB51uWtL5mveQP6PqQKVI2z2Cl1JDIJf9Awb8ZBkolH9snf8kW72BUJw1YLt31gX99v3M9aPgu/tXLfdwMqI09TtdnM3Ui2fk/CiXXAqbVf/hycVq4m7vwce2DZKmoNowA/DSY+3ykMTKoz/fB7q3wkCZoALyeX4vGRu4Q7g1qH3A8u3kyg/wbXP22/qx4WHiMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQGB/wd/A1K7dDGJQCorAAAAAElFTkSuQmCC");
background-size: cover;
background-repeat: no-repeat;
position: absolute;
top: 0;
left: 0;
z-index: 2;
}
}
.coupon-btn {
position: absolute;
bottom: 10rpx;
color: #8F5C11;
font-size: 22rpx;
font-weight: bold;
display: block;
width: 100%;
text-align: center;
z-index: 3;
}
.text {
max-width: 194rpx;
margin-top: 10rpx;
display: block;
}
.name {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-weight: bold;
font-size: 28rpx;
line-height: 40rpx;
color: #5D3324;
}
.mark {
display: inline-block;
height: 35rpx;
font-size: 22rpx;
line-height: 35rpx;
color: #8F5C11;
}
.money {
max-width: 170rpx;
text-align: center;
font-size: 22rpx;
font-weight: 800;
color: #8F5C11;
margin-top: -20rpx;
}
.num {
position: relative;
font-size: 44rpx;
}
}
}
}
.type-section {
margin-top: 30rpx;
border-radius: 20rpx;
background-color: #FFFFFF;
padding-bottom: 30rpx;
background-size: 100%;
background-repeat: no-repeat;
.title_bd {
padding: 26rpx 40rpx 0 0;
font-size: 24rpx;
color: #797979;
.bold {
display: inline-block;
margin-right: 14rpx;
font-weight: bold;
font-size: 32rpx;
line-height: 45rpx;
color: #333333;
+view {
display: inline-block;
}
}
.time {
margin-left: 14rpx;
font-size: 24rpx;
color: #AE5A2A;
}
}
.scroll {
white-space: nowrap;
padding: 0 30rpx;
}
.item {
display: inline-flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 210rpx;
height: 232rpx;
border-radius: 12rpx;
margin: 32rpx 20rpx 30rpx 0;
border: 1px solid #CFCFCF;
line-height: 42rpx;
&:last-child {
margin-right: 0;
}
&.on {
border: 3rpx solid #FCC282;
background-color: #FEF7EC;
.new {
color: #DBAA4D;
}
}
.title{
color: #282828;
font-weight: bold;
font-size: 30rpx;
width: 180rpx;
text-align: center;
}
}
.new {
margin-top: 22rpx;
font-weight: 600;
font-size: 34rpx;
color: #E7BE7D;
.num {
font-size: 48rpx;
line-height: 48rpx;
}
}
.old {
margin-top: 13rpx;
text-decoration: line-through;
font-size: 24rpx;
color: #999999;
}
.info {
margin-top: 13rpx;
font-size: 24rpx;
}
.agree {
font-size: 22rpx;
text-align: center;
color: #797979;
margin-top: 30rpx;
.link {
display: inline-block;
}
.mark {
color: #AE5A2A;
}
}
.buy {
height: 80rpx;
border-radius: 12rpx;
margin: 0 30rpx;
background: linear-gradient(270deg, #E5BA62 0%, #ECCA7F 51%, #F3D99B 100%);
font-size: 30rpx;
font-weight: bold;
line-height: 80rpx;
text-align: center;
color: #865622;
border-radius:: 43rpx;
}
.cash {
padding-top: 26rpx;
padding-bottom: 29rpx;
font-size: 28rpx;
text-align: center;
color: #754E19;
}
}
.section-hd {
padding: 30rpx 30rpx 0;
.title {
font-weight: bold;
font-size: 32rpx;
line-height: 45rpx;
color: #333333;
}
.desc {
font-size: 20rpx;
color: #999999;
}
}
}
.goods-section {
margin-top: 30rpx;
background-color: #ffffff;
background-image: url("data:image/png;base64,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
background-size: 100%;
background-repeat: no-repeat;
border-radius: 16rpx;
padding-bottom: calc(0rpx + constant(safe-area-inset-bottom)); ///兼容 IOS<11.2/
padding-bottom: calc(0rpx + env(safe-area-inset-bottom)); ///兼容 IOS>11.2/
.section-hd {
padding: 26rpx 30rpx 0;
font-weight: bold;
font-size: 32rpx;
line-height: 45rpx;
color: #333333;
text {
color: #999999;
font-size: 24rpx;
font-weight: normal;
}
}
.section-bd {
margin-top: 26rpx;
.item {
width: 325rpx;
padding-bottom: 24rpx;
margin-left: 20rpx;
}
/deep/image, /deep/uni-image, /deep/.easy-loadimage {
width: 325rpx;
height: 325rpx;
border-radius: 16rpx 16rpx 0 0;
}
.name {
margin-top: 10rpx;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
font-size: 28rpx;
line-height: 37rpx;
color: #282828;
}
.svip-price {
margin-top: 6rpx;
font-size: 28rpx;
color: #282828;
font-weight: bold;
image {
width: 65rpx;
height: 28rpx;
margin-left: 6rpx;
position: relative;
top: 5rpx;
}
}
.shop-price {
margin-top: 4rpx;
font-size: 20rpx;
color: #999999;
}
}
}
</style>