This commit is contained in:
liuyuan
2025-06-12 14:26:50 +08:00
parent 9a2c26ace8
commit e415f34fa8
15 changed files with 735 additions and 3668 deletions

View File

@@ -201,7 +201,7 @@
<u-back-top :scroll-top="scrollTop" bottom="60" :customStyle="bgiStyle" :iconStyle="iconStyle"></u-back-top>
</view>
<view class="appJump">
<view class="soulspace item flexbox" @click="appjumpfun('soulspace')" v-if="$platform != 'ios'">
<view class="soulspace item flexbox" @click="appjumpfun('soulspace')">
<view class="img">
<image src="@/static/xlkj.png"></image>
</view>

View File

@@ -31,46 +31,26 @@
</view>
<br clear="both" />
</view>
<!-- <view class="now_vip" v-if="userMes.vip==0">
<text>
<image src="../../static/icon/mine_p.png" style="height: 44rpx;"></image>
开通会员畅享海量内容
</text>
<b class="kt_btn" @click="onPageJump('./opeVip')">开通VIP</b>
</view> -->
<!-- <view class="now_vip" v-if="userMes.vip==1">
<text>
<image src="../../static/icon/mine_v.png"></image>
尊贵的VIP会员
<font style="font-size: 14rpx;margin-left: 20rpx;">{{userMes.vipValidtime}}到期</font>
</text>
<b class="kt_btn" @click="onPageJump('./opeVip')">立即续费</b>
</view> -->
<view class="chong_zhi">
<view class="zhanghu" @click="onPageJump('../user/persCount')">
<!-- <view class="zhanghu" @click="onPageJump('../user/persCount')">
我的账户
<text style="float: right; line-height: 85rpx"> > </text>
</view>
<text style="float: right; line-height: 85rpx"> </text>
</view> -->
<view class="chong_list">
<view >
<view @click="onPageJump('/pages/user/persCount')">
<b style="color: #11a669!important;">{{ userMes.peanutCoin }}</b>
天医币
</view>
<view @click="onPageJump('/pages/user/points')">
<b style="color: #11a669!important;">{{ userMes.jf }}</b>
积分
</view>
<view @click="onPageJump('/pages/mine/wallet/couponList')">
<b style="color: #fd6004 !important;">{{ userCouponNum }}</b>
优惠券
</view>
<!-- <view v-if="iosHide">
<b>{{ userMes.conponsCount }}</b>
优惠券
</view> -->
<!-- <b class="chong_btn" @click="onPageJump('../sdkDemo/pay')"> </b> -->
<b class="chong_btn" v-if="platform == 'android'" @click="onPageJump('./reCharge')"
> </b
>
<b class="chong_btn" v-if="$platform == 'android'" @click="onPageJump('./reCharge')"> </b>
</view>
</view>
@@ -78,41 +58,15 @@
<view class="nav_list" @click="onPageJump('../bookShop/orderList')">
<text>我的订单</text>
</view>
<!-- <view class="nav_list" @click="onPageJump('../clock/clockList')">
<text>我的打卡</text>
</view> -->
<!-- <view class="nav_list" @click="onPageJump('../listen/home')" v-if="iosHide">
<text>我的听书</text>
</view> -->
<!-- 暂时去掉 -->
<!-- <view class="nav_list" @click="onPageJump('../listen/setListen')" v-if="iosHide">
<text>听书设置</text>
</view> -->
<!-- <view class="nav_list" @click="onPageJump('../peanut/myComments')">
<text>我的评价</text>
</view> -->
<!-- 暂时去掉 -->
<view class="nav_list" @click="onPageJump('../peanut/shopping')">
<text>购物车</text>
</view>
<!-- <view v-if="showEbook" class="nav_list" @click="onPageJump('../eBook/bookBuy')">
<text>电子书购买记录</text>
</view> -->
<!-- <view v-if="showEbook" class="nav_list" @click="onPageJump('../eBook/bookRecord')">
<text>阅读记录</text>
</view> -->
<view class="nav_list" @click="onPageJump('../user/persData')">
<text>修改个人资料</text>
</view>
<view class="nav_list" @click="onPageJump('../user/address')">
<text>地址管理</text>
</view>
<!-- <view class="nav_list" @click="onGoing()">
<text>帮助与反馈11111</text>
</view> -->
<!-- <view class="nav_list" @click="newOnShare" v-if="isAndorid"> -->
<view class="nav_list" @click="newOnShare">
<text>分享App</text>
</view>
@@ -161,20 +115,13 @@ export default {
userCouponNum: 0,
signShow: false,
signContent: "是否要退出登录?",
playData: {},
isAndorid: true,
platform: null, // 设备系统
playData: {}
};
},
//第一次加载
onLoad(e) {
// 隐藏原生的tabbar
uni.hideTabBar();
// #ifdef APP-PLUS
this.getOS();
this.platform = uni.getSystemInfoSync().platform;
console.log('操纵系统',this.platform)
// #endif
},
computed: {
...mapState(["userInfo"]),
@@ -184,7 +131,6 @@ export default {
// 隐藏原生的tabbar
uni.hideTabBar();
this.getData();
},
components: {
musicPlay,
@@ -193,43 +139,32 @@ export default {
methods: {
...mapMutations(["setUserInfo"]),
async getUserCouponList(){
await this.$http
.request({
url: "common/coupon/getCouponHistoryList",
method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
data: {
"page":1,
"limit":10,
"getType":"",//获取类型 0 后台赠送 1 主动获取
"status":"0",//使用状态 0 未使用 1 已使用 2 已过期
"userInfo":"",//用户信息
"userId":this.userMes.id
},
header: {
//默认 无 说明:请求头
"Content-Type": "application/json",
},
})
.then(async (res) => {
if(res.code != 0) return;
this.userCouponNum = res.couponList.total
}).catch(e => {
console.log(e);
this.$commonJS.showToast(e.errMsg);
})
await this.$http
.request({
url: "common/coupon/getCouponHistoryList",
method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
data: {
"page":1,
"limit":10,
"getType":"",//获取类型 0 后台赠送 1 主动获取
"status":"0",//使用状态 0 未使用 1 已使用 2 已过期
"userInfo":"",//用户信息
"userId":this.userMes.id
},
// 获得操作系统
getOS() {
let oprateOs = "";
oprateOs = uni.getSystemInfoSync().platform;
// console.log(oprateOs)
if (oprateOs == "android") {
this.isAndorid = true;
} else {
this.isAndorid = false;
}
},
header: {
//默认 无 说明:请求头
"Content-Type": "application/json",
},
})
.then(async (res) => {
if(res.code != 0) return;
this.userCouponNum = res.couponList.total
}).catch(e => {
console.log(e);
this.$commonJS.showToast(e.errMsg);
})
},
haveSelected(data) {
console.log(data, " 选择的是");
if (data.index == 0) {
@@ -422,9 +357,8 @@ export default {
.chong_zhi {
background-color: #fff;
margin: 0 0 30upx 0;
padding: 0 30upx;
height: 240upx;
padding: 30upx;
margin-bottom: 30rpx;
.zhanghu {
font-size: 32upx;
@@ -440,7 +374,7 @@ export default {
color: #a3a1a1;
b {
font-size: 45rpx;
font-size: 40rpx;
display: block;
margin: 0 0 10rpx 0;
color: #76757b;
@@ -455,7 +389,7 @@ export default {
color: #fffbf6;
padding: 12rpx 42rpx;
margin: 20rpx 0 0 0;
background: #815219;
background: #11a669;
}
}
}

View File

@@ -16,32 +16,20 @@
: 'cj_price'
"
>
<view
class="pr_jg"
style="display: flex; align-items: center; justify-content: center"
>
<image
src="@/static/icon/currency.png"
alt=""
style="width: 40rpx; height: 40rpx; margin-right: 10rpx"
/>
{{ item.money }}
</view>
<view class="pr_yl" style="color: #565455"
>{{ item.realMoney }}</view
>
<view class="pr_lj" v-if="item.description&&item.description!=''"
> {{item.description}}</view
>
<view class="pr_jg" >{{ item.realMoney }}</view>
<view class="pr_yl" :style="item.givejf&&item.givejf>0?' paddingTop: 0':''">{{ item.money }}天医币<text v-if="item.givejf&&item.givejf>0">{{ item.givejf }}积分</text></view>
<view class="pr_lj" v-if="item.description&&item.description!=''">{{item.description}}</view>
</view>
<br clear="both" />
</view>
<view
><text style="font-size: 24rpx; color: #8e8e8e; font-weight: 500"
>说明 : 天医币属于虚拟产品一经购买概不退还</text
></view
>
<view class="limitBlock" v-if="isAndroid">
<text>其他金额</text>
<input type="text" v-model="limitVal" placeholder="请输入充值金额" placeholder-class="limit-placeholder" @input="input()" />
</view>
<view>
<text style="font-size: 24rpx; color: #8e8e8e;">说明 : 天医币属于虚拟产品一经购买概不退还</text>
</view>
<view class="active_block" v-if="isAndroid&&activityContent.remark" v-html="activityContent.remark"></view>
</view>
<view class="cha_fangsh">
@@ -88,7 +76,7 @@
<radio-group class="agree">
<view v-for="(item, index) in argee" :key="index">
<radio
class="agreeRadio"
class="agreeRadio" color="#fe6e09"
:value="item.id"
:checked="item.id == radioValue"
@click="radioCheck(index)"
@@ -182,6 +170,8 @@ export default {
// 成功回调
},
oprateOs: "",
limitVal: '',
activityContent: {}
};
},
//第一次加载
@@ -190,7 +180,8 @@ export default {
uni.hideTabBar();
this.chargeOrderSn = e.orderSn;
this.oprateOs = uni.getSystemInfoSync().platform;
// console.log(e.orderSn,'orderSn')
this.getActivity();
},
//页面显示
onShow() {
@@ -500,7 +491,7 @@ export default {
// 点击充值金额
chosPric(e) {
this.stepsCj = e;
console.log(e);
this.limitVal = '';
},
// 选择支付方式1
@@ -508,6 +499,29 @@ export default {
let that = this;
that.payType = e;
},
//获取活动文案
getActivity(){
$http.request({
url: "common/bookBuyConfig/getRechargeActivity",
method: "POST",
data: {},
header: {
"Content-Type": "application/json",
},
})
.then((data) => {
if(data.code==0){
if(data.res&&data.res.length>0){
this.activityContent = data.res[0];
}
}
})
},
//输入金额
input(val){
this.stepsCj = {};
},
//ios充值
iosPay() {
this.iphonepay();
@@ -518,6 +532,31 @@ export default {
},
// 正常充值
kaiChar() {
if(!this.stepsCj.priceTypeId&&!this.limitVal){
uni.showToast({
title: "请选择充值商品",
icon: "none",
});
return false;
}
const regex = /^[1-9]\d*$/;
//如果输入其他金额
if(this.limitVal){
if(!regex.test(this.limitVal)){
uni.showToast({
title: "充值金额必须为正整数",
icon: "none",
});
return false;
}
//设置充值金额和id
this.stepsCj = {
money: this.limitVal,
priceTypeId: 0
}
}
// 常规充值
if (this.radioValue == "1") {
uni.showLoading({
@@ -781,43 +820,56 @@ export default {
margin-top: 40rpx;
.cj_price {
border: 4rpx solid #ebebeb;
// box-shadow: 0 0 20rpx 0 #0000001a;
box-shadow: 0 0 20rpx 0 #0000001a;
float: left;
width: 31%;
margin: 0 3% 30rpx 0;
width: 47%;
margin: 0 5% 30rpx 0;
text-align: center;
padding: 25rpx 0 30rpx 0;
padding: 30rpx 0 0;
border-radius: 15rpx;
position: relative;
color: #2d2d2d;
height: 160rpx;
line-height: 44rpx;
.pr_jg {
font-size: 38rpx;
margin: 0rpx 0 10rpx 0;
font-size: 45rpx;
font-weight: bold;
}
.pr_yl {
font-size: 28rpx;
// text-decoration: line-through;
color: #8d8f8e;
padding-top: 10rpx;
font-size: 26rpx;
color: #575555;
text{
width: 100%;
text-align: center;
line-height: 40rpx;
position: absolute;
left: 0;
bottom: 10rpx;
color: red;
display: block;
font-size: 24rpx;
}
}
.pr_lj {
background-image: linear-gradient(90deg, #fe6e09 0%, #efa574 100%);
background-image: linear-gradient(180deg, #fe6e09 0%, #efa574 100%);
color: #fff;
position: absolute;
top: -22rpx;
right: -22rpx;
font-size: 24rpx;
padding: 5rpx 4rpx;
line-height: 20px;
padding: 5rpx 10rpx;
border-top-left-radius: 20rpx;
border-bottom-right-radius: 20rpx;
}
}
.cj_price:nth-child(3n) {
.cj_price:nth-child(2n) {
margin-right: 0;
}
@@ -835,7 +887,7 @@ export default {
}
.highlight {
color: $uni-color-primary;
color: #fe6e09;
}
.cha_fangsh {
@@ -863,10 +915,6 @@ export default {
vertical-align: bottom;
}
}
.Tab_xf {
background-color: #fdf1e9cc;
}
}
}
@@ -879,10 +927,12 @@ export default {
}
.char_btn {
position: fixed;
left: 0;
right: 0;
bottom: 30rpx;
width: 100%;
background: #fff;
padding: 20rpx 0;
position: fixed;
right: 0;
bottom: 0;
view {
background-image: linear-gradient(90deg, #ed7161 0%, #efa574 100%);
@@ -890,10 +940,67 @@ export default {
width: 90%;
margin: 0 auto;
text-align: center;
font-size: 35rpx;
font-weight: bold;
padding: 25rpx 0;
font-size: 30rpx;
padding: 20rpx 0;
border-radius: 50rpx;
}
}
.limitBlock{
display: flex;
align-items: center;
margin-bottom: 10rpx;
text{
font-size: 28rpx;
}
input{
display: inline-block;
margin-left: 20rpx;
width: 300rpx;
height: 70rpx;
border: 1rpx solid #ededed;
border-radius: 10rpx;
line-height: 40rpx;
padding: 20rpx;
font-size: 28rpx;
color: #666;
}
}
.limit-placeholder{
font-size: 25rpx;
color: #8b8c90 !important;
}
.active_block{
width: 100%;
background-color: rgba(238, 147, 109, 0.2);
border-radius: 10rpx;
padding: 10rpx 20rpx;
font-size: 28rpx;
line-height: 42rpx;
margin-top: 15rpx;
color: #333;
}
/deep/.active_block span{
color: red;
font-size: 32rpx;
font-weight: bold;
padding: 0 5rpx;
}
/deep/.active_block span:first-child{
padding: 0 5rpx 0 0;
}
/deep/.active_block p{
padding-top: 10rpx;
color: #666;
font-size: 24rpx;
line-height: 34rpx;
}
/deep/.active_block p span{
padding: 0 5rpx !important;
}
</style>