Huanyuyuehui/pages/annex/vip_paid/index.vue

790 lines
89 KiB
Vue
Raw Permalink Normal View History

2024-03-21 17:52:58 +08:00
<template>
<!-- svip会员模块 -->
<view class="">
<view class="card-section">
<view class="header-card">
<view class="acea-row row-middle">
<image class="image" :src="userInfo.avatar ? userInfo.avatar : '/static/images/f.png'"></image>
<view class="text">
<view class="name">{{userInfo.nickname || ''}}</view>
<view>开通享六大特权省钱又省心</view>
</view>
</view>
</view>
<view class="right-section">
<view class="section-hd acea-row row-center-wrapper">
<view class="title acea-row row-center row-bottom">开通会员尊享权</view>
</view>
<view class="section-bd acea-row">
<view v-for="item in memberRights" :key="item.id" class="item" @click="goUrl(item.link)">
<image class="pic" :src="item.pic"></image>
<view class="text">
<view class="name line1">{{item.name}}</view>
<view class="text_info line1">{{item.info}}</view>
</view>
</view>
</view>
</view>
</view>
<view class="type-section" id="card">
<view class="title_bd">
<view class="bold">会员套餐</view>
</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.price | moneyFormat}}</text></view>
<view class="old">{{item.value.cost_price | moneyFormat}}</view>
</view>
</scroll-view>
<view class="buy" @click="pay">{{svip_type == 1 ? '立即体验' : '立即开通'}}</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">会员专享价 <text>会员购买享超低价</text></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">{{item.store_name}}</view>
<view class="svip-price">{{item.is_svip_price}}
<image :src="`${domain}/static/images/svip.png`"></image>
</view>
<view class="shop-price">商城价{{item.price}}</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>
</template>
<script>
2024-03-21 18:05:36 +08:00
2024-03-21 17:52:58 +08:00
import payment from '@/components/payment';
import easyLoadimage from '@/components/easy-loadimage/easy-loadimage.vue';
import { mapGetters } from "vuex";
import { memberCard, memberEquity, memberCardCreate, groomList } from '@/api/user.js';
import { orderOfflinePayType } from '@/api/order.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 * 1000).format('YYYY-MM-DD');
},
moneyFormat: function(value) {
return parseFloat(value);
}
},
data() {
return {
domain: HTTP_REQUEST_URL,
memberType: [],
userInfo: {},
memberRights: [],
memberExplain: [],
memberCoupons: [],
isGetFree: null,
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',
page: 1,
limit: 15,
finished: false,
loading: false,
memberEndTime: '',
// #ifdef H5
isWeixin: this.$wechat.isWeixin(),
// #endif
type: 0,
svipDef: null,
svip_type: 0
}
},
watch: {},
computed: mapGetters(['isLogin']),
onLoad() {
if (this.isLogin) {
this.memberEquity();
this.getMemberCard();
this.groomList();
} else {
toLogin()
}
},
onShow(){
uni.removeStorageSync('form_type_cart');
},
onReachBottom() {
this.groomList();
},
methods: {
pay() {
if (this.totalPrice == 0) {
this.createMemberCard('weixin');
} else {
this.pay_close = true;
}
},
payClose: function() {
this.pay_close = false;
},
goDetail(id) {
uni.navigateTo({
url: `/pages/goods_details/index?id=${id}`
});
},
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
})
}
}
},
// 付费会员权益
memberEquity() {
memberEquity().then(res => {
this.memberRights = res.data.interests;
this.userInfo = res.data.user;
if(res.data.user.is_svip > 0){
uni.navigateTo({
url: '/pages/annex/vip_center/index'
});
}
}).catch(err => {
uni.showToast({
title: err,
icon: 'none'
});
});
},
// 付费会员数据
getMemberCard() {
uni.showLoading({
title: '正在加载…'
});
memberCard().then(res => {
uni.hideLoading();
this.memberType = res.data.list;
this.svipDef = res.data.def;
this.svip_type = res.data.def.svip_type;
this.totalPrice = res.data.def.price.toString();
this.pay_order_id = res.data.def.group_data_id.toString();
}).catch(err => {
uni.hideLoading();
uni.showToast({
title: err,
icon: 'none'
});
});
},
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 => {
});
},
checkType(svip,index) {
this.type = index;
this.svipDef = svip.value;
this.svip_type = svip.value.svip_type;
this.pay_order_id = svip.group_data_id;
this.totalPrice = svip.value.price.toString();
},
payCheck: function(type) {
this.createMemberCard(type);
},
// 立即购买
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: '开通成功',
}, () => {
uni.navigateTo({
url: '/pages/annex/vip_center/index'
})
});
}
}).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: '开通成功',
}, () => {
uni.navigateTo({
url: '/pages/annex/vip_center/index'
})
});
}
}).catch(err => {
uni.hideLoading();
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,
})
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'
}, {
tab: 4,
url: goPages
});
}).catch(res => {
uni.hideLoading();
that.payClose();
if (res.errMsg == 'chooseWXPay:cancel') return that.$util.Tips({
title: '取消支付'
}, {
tab: 5,
url: goPages + '&status=0'
});
})
// #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();
let url="/pages/annx/vip_center/index"
return that.$util.Tips({
title: '支付成功',
icon: 'success'
}, {
tab: 4,
url: url
});
},
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.msg
}, {
tab: 5,
url: goPages
});
break;
// #ifdef H5
case 'h5':
let host = window.location.protocol + "//" + window.location.host;
let url = `${host}/pages/annex/vip_paid/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'
}, {
tab: 5,
url: goPages
});
},
fail: (e) => {
uni.hideLoading();
uni.showModal({
content: "支付失败",
showCancel: false,
success: function(res) {}
})
},
complete: () => {
uni.hideLoading();
},
});
break;
// #endif
}
},
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);
},
},
// 滚动监听
onPageScroll(e) {
// 传入scrollTop值并触发所有easy-loadimage组件下的滚动监听事件
uni.$emit('scroll');
}
}
</script>
<style lang="scss" scoped>
.card-section {
padding: 64rpx 0 50rpx;
background: url("data:image/png;base64,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
background-size: cover;
background-repeat: no-repeat;
.header-card{
width: 680rpx;
height: 200rpx;
margin: 0 auto;
background-image: url("data:image/png;base64,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
background-repeat: no-repeat;
background-size: cover;
padding: 33rpx 40rpx;
}
.image {
width:76rpx;
height: 76rpx;
border-radius: 50%;
border: 3rpx solid #fff;
margin-right: 20rpx;
}
.text {
flex: 1;
font-size: 22rpx;
line-height: 30rpx;
color: #89735B;
}
.name {
margin-bottom: 2rpx;
font-weight: bold;
font-size: 30rpx;
line-height: 42rpx;
color: #865622;
}
.info {
margin-top: 74rpx;
font-size: 24rpx;
color: #865622;
}
}
.right-section {
width: 690rpx;
height: 520rpx;
margin: 0 auto;
background-image: url("data:image/png;base64,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
background-size: cover;
background-repeat: no-repeat;
margin-top: -60rpx;
.section-hd {
padding-top: 34rpx;
padding-bottom: 34rpx;
.title {
width: 543rpx;
font-size: 28rpx;
line-height: 1.1;
color: #FFEED2;
}
.iconfont {
font-size: 34rpx;
color: #89735B;
}
}
.section-bd {
padding: 35rpx 30rpx 15rpx;
.item {
width: 210rpx;
margin-bottom: 30rpx;
text-align: center;
}
.pic {
width: 80rpx;
height: 80rpx;
border-radius: 100%;
}
.text {
flex: 1;
overflow: hidden;
white-space: nowrap;
font-size: 20rpx;
line-height: 33rpx;
color: #92846D;
}
.name {
margin-bottom: 2rpx;
font-size: 24rpx;
line-height: 37rpx;
color: #F4D7A3;
}
}
}
.type-section {
position: relative;
top: -20rpx;
border-radius: 20rpx 20rpx 0 0;
background-color: #FFFFFF;
padding: 0 30rpx 50rpx;
.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;
}
.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: 20rpx 30rpx 0;
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;
}
}
.goods-section {
margin-top: -20rpx;
background: #ffffff left top/414px 215px no-repeat;
background-image: linear-gradient(180deg, #FFF7E9 0%, #FFFFFF 100%);
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: #BCA376;
font-size: 24rpx;
font-weight: normal;
margin-left: 15rpx;
}
}
.section-bd {
padding: 0 30rpx 0 7rpx;
margin-top: 26rpx;
.item {
width: 215rpx;
padding-bottom: 24rpx;
margin-left: 23rpx;
}
/deep/image, /deep/uni-image, /deep/.easy-loadimage {
width: 215rpx;
height: 215rpx;
border-radius: 8rpx;
}
.name {
margin-top: 10rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 26rpx;
line-height: 37rpx;
color: #282828;
}
.svip-price {
margin-top: 6rpx;
font-size: 26rpx;
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>