smartswrtch-app/page_geren/kaitonghuiyuan.vue
2025-01-19 21:19:51 +08:00

366 lines
7.8 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="page">
<view class="fixed">
<u-navbar title="开通会员" :border-bottom="false" :background="background" title-color='#fff' title-size='36'
back-icon-color='#fff' height='45'></u-navbar>
</view>
<image class="backimg" src="https://lxnapi.ccttiot.com/bike/img/static/u3NgziRzuV79XdIE8cCn" mode=""></image>
<view class="vipcard">
<view class="card_top">
<view class="name">
17795402553
</view>
<view class="type">
未开通
</view>
<view class="type" v-if="false">
已开通
</view>
</view>
<view class="card_bot">
<view class="txts">
开通立享超值会员特权
</view>
<view class="txts" v-if="flase">
会员卡23天后到期
</view>
<view class="topage" @click="topage">
购买记录 >
</view>
</view>
</view>
<image class="mc" src="https://lxnapi.ccttiot.com/bike/img/static/uCIpavkHbM18al7gpxH8" mode=""></image>
<view class="cont_box">
<view class="cont_li" v-for="(item,index) in 3" :key="index" @click="choose(item,index)" :class="chooseidx==index?'act1':''">
<view class="tit">
会员卡
</view>
<view class="tips">
40天享7折
</view>
<view class="money">
¥ 36.66
</view>
<view class="tips" style="text-decoration: line-through; ">
¥30.66
</view>
<view class="tips">
立省¥6.00
</view>
</view>
</view>
<view class="txt">
该卡只能用于付费享折扣
</view>
<view class="pay_btn" @click="buy()">
¥38.88立即开通
</view>
</view>
</template>
<script>
export default {
data() {
return {
bgc: {
backgroundColor: '#fff'
},
userinfo:{},
chooseInfo:{},
chooseidx:0,
}
},
onShow() {
},
methods: {
topage(){
uni.navigateTo({
url:'/page_geren/vip_his'
})
},
tobuy(){
uni.navigateTo({
url:'/page_geren/buyCard'
})
},
choose(itm,idx){
this.chooseInfo=itm
this.chooseidx=idx
},
buy(){
let data={
userId:this.userinfo.userId,
couponId:this.chooseInfo.couponId
}
let that=this
that.$u.get("/appVerify/coupon/buy?",data ).then((res) => {
if (res.code == 200) {
uni.requestPayment({
provider: 'wxpay',
timeStamp: res.data.timeStamp,
nonceStr: res.data.nonceStr,
package: res.data.packageVal,
signType: res.data.signType,
paySign: res.data.paySign,
success(res) {
// 支付成功逻辑
setTimeout(()=>{
},500)
},
fail(err) {
// 支付失败逻辑
uni.showToast({
title: '支付失败',
icon: 'none',
duration: 2000
});
}
});
}
});
},
}
}
</script>
<style lang="scss">
page {
background-color: #fff;
}
.page {
width: 750rpx;
.fee_box {
margin-top: 18rpx;
position: relative;
margin-left: 38rpx;
width: 680rpx;
height: 288rpx;
background-image: url('https://lxnapi.ccttiot.com/bike/img/static/ugciMYClSGgJxP8HYoRU');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
.auto_box::-webkit-scrollbar {
display: none;
}
.auto_box {
padding-left: 24rpx;
display: flex;
overflow-x: auto; /* 允许横向滚动 */
flex-wrap: nowrap; /* 禁止换行保持所有元素在一行 */
position: absolute;
top: 90rpx;
width: 100%; /* 根据需要调整宽度 */
height: auto; /* 根据内容自动调整高度 */
.auto_li {
position: relative;
padding: 24rpx 28rpx;
margin-right: 22rpx;
width: 408rpx;
height: 176rpx;
flex-shrink: 0; /* 防止子元素被压缩 */
background-image: url('https://lxnapi.ccttiot.com/bike/img/static/ui88NWy9R1j2zFGojdHU');
background-size: cover;
background-position: center;
.txt1{
width: 100%;
font-weight: 600;
font-size: 32rpx;
color: #495E74;
}
.txt2{
font-weight: 400;
font-size: 24rpx;
color: #495E74;
}
.buy_btn{
position: absolute;
right: 26rpx;
bottom: 38rpx;
display: flex;
align-items: center;
justify-content: center;
width: 132rpx;
height: 50rpx;
background: #495E74;
border-radius: 25rpx 25rpx 25rpx 25rpx;
font-weight: 500;
font-size: 28rpx;
color: #FFF3DB;
}
}
}
}
.fixed {
z-index: 999;
position: fixed;
top: 0;
}
.tipss{
margin-left: 40rpx;
font-weight: 500;
font-size: 36rpx;
color: #3D3D3D;
}
.vipcard {
padding: 36rpx ;
position: fixed;
top: 428rpx;
left: 38rpx;
width: 680rpx;
height: 244rpx;
z-index: 1;
background-image: url('https://lxnapi.ccttiot.com/bike/img/static/u78FEc5oHRKzdvopQpZE');
background-size: cover;
/* 背景图片等比缩放以覆盖整个容器 */
background-position: center;
/* 背景图片居中显示 */
background-repeat: no-repeat;
.card_top{
display: flex;
flex-wrap: nowrap;
align-items: center;
.name{
font-weight: 500;
font-size: 44rpx;
color: #B07C1E;
}
.type{
margin-left: 30rpx;
padding: 4rpx 18rpx;
font-weight: 400;
font-size: 24rpx;
color: #B07C1E;
border-radius: 35rpx 35rpx 35rpx 35rpx;
border: 1rpx solid #B07C1E;
}
}
.card_bot{
margin-top: 20rpx;
display: flex;
flex-wrap: nowrap;
align-items: center;
.txts{
font-weight: 400;
font-size: 28rpx;
color: #B07C1E;
}
.topage{
margin-left: auto;
font-weight: 400;
font-size: 28rpx;
color: #B07C1E;
}
}
}
.pay_btn{
display: flex;
align-items: center;
justify-content: center;
margin: 20rpx auto ;
width: 680rpx;
height: 104rpx;
background: linear-gradient( 90deg, rgba(255,201,87,0.84) 0%, rgba(255,224,158,0.58) 100%);
border-radius: 58rpx 58rpx 58rpx 58rpx;
font-weight: 500;
font-size: 44rpx;
color: #B07C1E;
position: fixed;
left: 50%;
transform: translateX(-50%);
bottom: 100rpx;
}
.backimg {
position: fixed;
width: 750rpx;
height: 670rpx;
top: 0;
left: 0;
z-index: -1; // 确保背景图片在所有内容之下
}
.txt{
margin: 56rpx 48rpx;
font-weight: 400;
font-size: 24rpx;
color: #64B6A7;
}
.cont_box {
display: flex;
flex-wrap: nowrap;
padding: 0 38rpx;
margin-top: 690rpx;
z-index: 10;
overflow-x: auto; // 允许横向滚动
white-space: nowrap; // 保持内容不换行
-webkit-overflow-scrolling: touch; // 使滚动更流畅
// 隐藏横向滚动条
::-webkit-scrollbar {
display: none; // 针对 WebKit 浏览器 ( Safari Chrome)
height: 0; // 设定横向滚动条高度为 0
}
scrollbar-width: none; // 针对 Firefox
-ms-overflow-style: none; // 针对 Internet Explorer Edge
.act1{
background: #FFFBF1;
}
.cont_li {
width: 218rpx;
height: 256rpx;
background: rgba(255, 224, 158, 0.15) #FFFFFF;
border-radius: 20rpx;
border: 1rpx solid rgba(176, 124, 30, 0.56);
z-index: 10;
flex-shrink: 0; // 防止子元素缩小
margin-right: 20rpx; // 子元素之间的间距
.tit{
width: 100%;
text-align: center;
font-weight: 500;
font-size: 32rpx;
color: #B07C1E;
}
.money{
width: 100%;
text-align: center;
margin-top: 10rpx;
font-weight: 600;
font-size: 32rpx;
color: #E46666;
}
.tips{
margin-top: 10rpx;
width: 100%;
text-align: center;
font-weight: 400;
font-size: 24rpx;
color: #979797;
}
}
}
.cont_box::-webkit-scrollbar {
display: none;
}
.mc {
position: fixed;
top: 611rpx;
left: 0rpx;
width: 750rpx;
height: 107.29rpx;
z-index: 2;
}
}
</style>