提现/我的页面修改

This commit is contained in:
GaoHao 2024-12-06 11:11:29 +08:00
parent 400126ffeb
commit e1eff87490
14 changed files with 160 additions and 234 deletions

View File

@ -51,6 +51,7 @@ const install = (Vue, vm) => {
let userMoney = (params = {}) => vm.$u.get('app/invite/selectUserMoney', params); //查看钱包
let cashMoney = (params = {}) => vm.$u.get('app/cash/cashMoney', params); //申请提现
let withdraw = (params = {}) => vm.$u.get('app/cash/withdraw', params); //申请提现
let selectPay = (params = {}) => vm.$u.get('app/cash/selectPayDetails', params); //提现记录
let moneyDet = (params = {}) => vm.$u.get('app/cash/queryUserMoneyDetails', params); //钱包明细
let type = (params = {}) => vm.$u.get('app/common/type', params); //钱包明细
@ -107,10 +108,14 @@ const install = (Vue, vm) => {
moneyList,
userMoney,
cashMoney,
withdraw,
selectPay,
moneyDet,
type,
myPurseDet,
myPurse,
help,
helpDet,
selectCourseDetailsById

View File

@ -1,191 +0,0 @@
<template>
<view>
<view class="jf flex align-center justify-between">
<view class="jf-l">
<view class="jf-l-t">
当前积分
</view>
<view class="jf-l-b">
{{num}}
</view>
</view>
<view class="jf-r">
<view class="jf-r-t">
兑换说明
</view>
<view class="jf-r-b">
{{bili}}:1兑换最少{{bili}}积分
</view>
</view>
</view>
<view class="listTitle flex align-center">
<u-icon name="order" color="#2e2f33" size="50"></u-icon>
<text>
兑换数量
</text>
</view>
<view class="list">
<view class="list-input">
<u-input v-model="value" placeholder="请输入兑换数量" type="number" :border="true" />
</view>
<view class="list-btn">
<view @click="userIntegral()" class="list-btn-s flex align-center justify-center">
提交兑换
</view>
</view>
</view>
</view>
</template>
<script>
import empty from '../../components/empty.vue'
export default {
components: {
empty
},
data() {
return {
num: 0,
value: '',
bili: 0,
};
},
onShow() {
this.getNum()
this.getBili()
},
methods: {
//
userIntegral() {
if (!this.value) {
uni.showToast({
title: '请输入兑换的积分数量',
icon: 'none'
})
return
}
if (Number(this.value) < Number(this.bili)) {
uni.showToast({
title: '兑换的积分数量不能小于' + this.bili + '积分',
icon: 'none'
})
return
}
let data = {
integral: this.value
}
this.$Request.postT('/app/integral/creditsExchange', data).then(res => {
if (res.code == 0) {
uni.showToast({
title: '积分兑换成功'
})
this.getNum()
this.value = ''
setTimeout(() => {
uni.navigateBack()
}, 1500)
} else {
uni.showToast({
title: res.msg,
icon: 'none'
})
}
})
},
//
getBili() {
this.$u.get('/app/common/type/104').then(res => { // 104
if (res.code == 0 && res.data) {
this.bili = res.data.value
}
});
},
//
getNum() {
this.$Request.getT('/app/integral/selectByUserId').then(res => {
uni.stopPullDownRefresh()
if (res.code == 0) {
this.num = res.data.integralNum
} else {
this.num = 0
}
})
},
}
}
</script>
<style lang="scss">
page {
background-color: #ffffff;
}
.jf {
width: 100%;
height: 252rpx;
background: linear-gradient(90deg, rgba(255, 117, 129, 0.6) 0%, #ff7581 100%);
padding: 0 40rpx;
.jf-l-t {
color: #ffffff;
font-size: 28rpx;
}
.jf-l-b {
font-size: 40rpx;
color: #ffffff;
font-weight: 600;
margin-top: 30rpx;
}
.jf-r {
color: #ffffff;
font-size: 28rpx;
.jf-r-b {
margin-top: 20rpx;
}
}
}
.listTitle {
width: 100%;
height: 110rpx;
margin-top: -40rpx;
background-color: #ffffff;
border-radius: 30rpx 30rpx 0 0;
padding-left: 20rpx;
text {
color: #2e2f33;
font-size: 32rpx;
font-weight: bold;
margin-left: 20rpx;
padding-top: 8rpx;
}
}
.list {
width: 100%;
.list-input {
padding: 20rpx;
}
.list-btn {
padding: 40rpx;
}
.list-btn-s {
width: 100%;
height: 88rpx;
color: #ffffff;
background-color: #ff7581;
border-radius: 8rpx;
}
}
</style>

View File

@ -9,6 +9,8 @@
<video :show-fullscreen-btn="false" @controlstoggle="controlstoggles" object-fit="cover"
v-if="isShowVideo == item.courseDetailsId && item.videoUrl" :play-strategy="2"
:show-loading="true" codec="software" :muted="false" :show-center-play-btn="true" :loop="true"
@timeupdate="timeupdate"
@play="videoPlay('myVideo'+item.courseDetailsId, item.courseDetailsId)"
@ended="ended" :enable-progress-gesture="false" :poster="item.titleImg"
:ref="'myVideo'+item.courseDetailsId" :id="'myVideo'+item.courseDetailsId" :src="item.videoUrl"
:autoplay="item.autoPlay" class="swipers-items-video"></video>
@ -368,6 +370,7 @@
'width': '750rpx',
},
isShowVideo: '',
playFlag: false,
};
},
onUnload() {
@ -492,6 +495,38 @@
}
},
methods: {
//播放时的回掉
videoPlay(videoId,courseDetailsId) {
this.courseDetailsId = courseDetailsId
if ( !this.playFlag ) {
this.playFlag = true
httpsRequest.getT('app/course/viewCourse', {
courseId: this.courseId,
courseDetailsId: courseDetailsId,
type: 'start'
}).then(res => {
console.log('播放开始')
})
}
},
//播放进度变化回掉
timeupdate(e) {
if (e.detail.currentTime > e.detail.duration*0.9) {
if ( this.playFlag) {
this.playFlag = false
httpsRequest.getT('app/course/viewCourse', {
courseId: this.courseId,
courseDetailsId: this.courseDetailsId,
type: 'end'
}).then(res => {
console.log('播放结束')
})
}
}
},
appear(e, index) {
this.current = index
this.showControls = true
@ -796,7 +831,7 @@
//显示/隐藏适配控制器的回调
controlstoggles(e) {
this.showControls = e.detail.show
console.log(e.detail.show, '显示/隐藏控制栏')
// console.log(e.detail.show, '显示/隐藏控制栏')
},
//打开倍速弹框
openBs() {

View File

@ -371,6 +371,7 @@
zongPrice: 0, //
countPrice: 0, //
isWxIosPay: true,
playFlag: false,
};
},
onShareAppMessage(res) {
@ -526,7 +527,6 @@
if (e.tt_episode_id) {
this.tt_episode_id = e.tt_episode_id
}
console.log(1)
// this.$u.get('/app/common/type/817').then(res => { // 817
// if (res.code == 0 && res.data) {
// this.zhengbu = res.data.value;
@ -620,7 +620,6 @@
}
// #endif
this.isVips = uni.getStorageSync('isVips') ? uni.getStorageSync('isVips') : '否'
console.log(2)
if(this.courseId){
this.getDataList(this.courseId, this.courseDetailsId);
}
@ -949,6 +948,21 @@
// #ifdef H5
uni.hideLoading()
// #endif
// console.log(e.detail.currentTime)
// console.log(e.detail.duration)
if (e.detail.currentTime > e.detail.duration*0.9) {
if ( this.playFlag) {
this.playFlag = false
this.$Request.getT('app/course/viewCourse', {
courseId: this.courseId,
courseDetailsId: this.courseDetailsId,
type: 'end'
}).then(res => {
console.log('播放结束')
})
}
}
},
//
waiting(e) {
@ -1577,8 +1591,8 @@
}
}
}
// this.courseId = this.videoList[current].courseId
// this.courseDetailsId = this.videoList[current].courseDetailsId
this.courseId = this.videoList[current].courseId
this.courseDetailsId = this.videoList[current].courseDetailsId
//
let scrollIndex = this.meunList.findIndex(ite => ite.courseDetailsId == this.videoList[current]
.courseDetailsId)
@ -1608,10 +1622,12 @@
})
},
startPlay(current) {
console.log(222222)
if (this.videoContext) { //
this.videoContext.stop()
this.videoContext = null
}
console.log(this.videoList[current])
let numIdCurr = this.videoList[current].courseDetailsId
if (this.videoList[current].videoUrl) { //
// id
@ -1635,7 +1651,14 @@
//
videoPlay(videoId) {
this.$Request.getT('app/course/viewCourse', {
courseId: this.courseId,
courseDetailsId: this.courseDetailsId,
type: 'start'
}).then(res => {
this.playFlag = true
console.log('播放开始')
})
},
//
ended() {

View File

@ -8,6 +8,8 @@
<video :show-fullscreen-btn="false" @controlstoggle="controlstoggles" object-fit="cover"
v-if="current === index && item.videoUrl" :play-strategy="2" :show-loading="true"
codec="software" :muted="false" :show-center-play-btn="true" :loop="true" @ended="ended"
@timeupdate="timeupdate"
@play="videoPlay('myVideo'+item.courseDetailsId, item.courseDetailsId)"
:enable-progress-gesture="false" :poster="item.titleImg" :ref="'myVideo'+item.courseDetailsId"
:id="'myVideo'+item.courseDetailsId" :src="item.videoUrl" :autoplay="item.autoPlay"
class="swipers-items-video"></video>
@ -358,6 +360,8 @@
payPrice: 0, //解锁价格
iosPayId: '',
isCollect: false,
playFlag: false,
};
},
computed: {
@ -491,6 +495,38 @@
}
},
methods: {
//播放时的回掉
videoPlay(videoId,courseDetailsId) {
this.courseDetailsId = courseDetailsId
if ( !this.playFlag ) {
this.playFlag = true
httpsRequest.getT('app/course/viewCourse', {
courseId: this.courseId,
courseDetailsId: courseDetailsId,
type: 'start'
}).then(res => {
console.log('播放开始')
})
}
},
//播放进度变化回掉
timeupdate(e) {
if (e.detail.currentTime > e.detail.duration*0.9) {
if ( this.playFlag) {
this.playFlag = false
httpsRequest.getT('app/course/viewCourse', {
courseId: this.courseId,
courseDetailsId: this.courseDetailsId,
type: 'end'
}).then(res => {
console.log('播放结束')
})
}
}
},
//选集弹窗的回调
changeXj(e) {
if (e.show == false) {

View File

@ -8,18 +8,23 @@
<view
style="width: 90%;height: max-content;margin-left: 40upx;background-color: #FFFFFF;box-shadow: rgba(183, 183, 183, 0.3) 0px 1px 10px;margin-top: 50upx;border-radius: 20upx;">
<view style="display: flex;flex-direction: row;padding: 20upx;">
<view style="font-size: 32upx;color: #333333;">提现金额 <text style="font-size: 28upx;color: #ff7581;"
v-if="shouxufei">提现手续费为{{shouxufei * 100}}%</text>
<view style="font-size: 32upx;color: #333333;">提现金额
<!-- <text style="font-size: 28upx;color: #ff7581;"
v-if="shouxufei">提现手续费为{{shouxufei * 100}}%</text> -->
</view>
</view>
<view style="display: flex;flex-direction: row;padding: 20upx;">
<view style="font-size: 40upx;color: #333333;">¥</view>
<input type="number" v-model="money" placeholder="请输入金额"
style="font-size: 40upx;color: #333333;text-align: left;margin-left: 10upx;width: 100%;" />
<view style="display: flex;flex-direction: row;padding: 20upx;justify-content: space-between;align-items: center;">
<view style="display: flex;align-items: center;">
<view style="font-size: 40upx;color: #333333;">¥</view>
<input type="number" v-model="money" placeholder="请输入金额"
style="font-size: 40upx;color: #333333;text-align: left;margin-left: 10upx;width: 80%;" />
</view>
<view @click="money = mayMoney" style="font-size: 30rpx;color: #333333;background: #ff7581;color: white;border-radius: 10rpx;padding: 7rpx 15rpx;">全部</view>
</view>
<view style="background: #E6E6E6;width: 100%;height: 1upx;"></view>
<view style="display: flex;flex-direction: row;flex-wrap: wrap;">
<!-- <view style="display: flex;flex-direction: row;flex-wrap: wrap;">
<view style="display: flex;flex-direction: row;" v-for="(item, index) in moneyList" :key="index">
<view>
<view style="padding: 20upx;" @click="getOut1(item.money)">
@ -30,7 +35,7 @@
</view>
</view>
</view>
</view>
</view> -->
</view>
<view @click="getOut"
style="margin: 32upx;font-size: 18px;background: #ff7581;color: white;border-radius: 10px;height: 40px;line-height: 40px">
@ -40,7 +45,7 @@
<view style="display: flex;width: 100%;justify-content: center;">
<view style="color: grey;padding-bottom: 30px;padding-top: 20upx;width: 33%;" @click="goZhifuBao">提现账号
</view>
<view style="color: grey;padding-bottom: 30px;padding-top: 20upx;width: 33%;" @click="goqianbao">包明细
<view style="color: grey;padding-bottom: 30px;padding-top: 20upx;width: 33%;" @click="goqianbao">包明细
</view>
<view style="color: grey;padding-bottom: 30px;padding-top: 20upx;width: 33%;" @click="gojilu">提现记录
</view>
@ -124,15 +129,20 @@
page: this.page,
limit: this.limit
}
this.$u.api.queryInviter(data).then(res => {
// this.$u.api.myPurseDet(data).then(res => {
// if (res.code == 0) {
// this.mayMoney = res.data.inviteMoney.money
// } else {
// uni.showToast({
// title: res.msg,
// duration: 1000,
// icon: 'none'
// });
// }
// })
this.$Request.getT('app/moneyDetails/selectUserMoney').then(res => {
if (res.code == 0) {
this.mayMoney = res.data.inviteMoney.money
} else {
uni.showToast({
title: res.msg,
duration: 1000,
icon: 'none'
});
this.mayMoney = res.data.amount
}
})
},
@ -166,12 +176,12 @@
//this.$queue.showLoading("...");
//
let data = {
money: that.money
amount: that.money
}
this.$u.api.cashMoney(data).then(res => {
this.$u.api.withdraw(data).then(res => {
if (res.code == 0) {
uni.showToast({
title: '提现申请成功,预计三个工作日到账',
title: res.msg,
icon: 'none'
})
that.money = ''
@ -196,12 +206,11 @@
let that = this;
let token = that.token
let userId = that.userId
console.log(token)
let cashMoney = that.cashMoney;
if (token) {
if (that.zhifubao && that.zhifubaoName) {
if (!/^\d+$/.test(that.money)) {
if (!/^\d+(\.\d{1,2})?$/.test(that.money)) {
uni.showToast({
icon: 'none',
title: '请输入正确金额,不能包含中文,英文,特殊字符和小数'
@ -216,8 +225,10 @@
uni.showModal({
title: "提现申请提示",
content: '请仔细确认收款人信息\n\n收款人姓名:' + that.zhifubaoName + '\n\n提现金额:' + that
.money + '元\n\n提现手续费' + shouxufei +
'\n\n收款人账号' + that.zhifubao + '',
.money + '元\n\n收款人账号' + that.zhifubao + '',
// content: '\n\n:' + that.zhifubaoName + '\n\n:' + that
// .money + '\n\n' + shouxufei +
// '\n\n' + that.zhifubao + '',
success: (e) => {
if (e.confirm) {
// that.money = money
@ -276,8 +287,10 @@
uni.showModal({
title: '提现申请提示',
content: '请仔细确认收款人信息\n\n收款人姓名:' + that.zhifubaoName + '\n\n提现金额:' + money +
'元\n\n提现手续费' + shouxufei +
'\n\n收款人账号' + that.zhifubao + '',
'元\n\n收款人账号' + that.zhifubao + '',
// content: '\n\n:' + that.zhifubaoName + '\n\n:' + money +
// '\n\n' + shouxufei +
// '\n\n' + that.zhifubao + '',
confirmColor: '#ff7581',
success: e => {
if (e.confirm) {

View File

@ -59,7 +59,7 @@
page: that.page,
limit: that.limit
}
that.$u.api.selectPay(data).then(res => {
this.$Request.getT('app/cash/selectPayDetails', data).then(res => {
if (that.page == 1) {
that.list = res.data.list
uni.stopPullDownRefresh();

View File

@ -51,7 +51,7 @@
<view class="padding" style="position: relative;height: 160px;">
<u-image src="@/me/static/invite/yaoqing.png" alt="" width="100%" height="100%"></u-image>
<view class="text-center padding-top flex justify-center flex-direction zhanji">
<view class="flex justify-around margin-top-sm" @click="goNav('/me/invite/inviteDet')">
<view class="flex justify-around margin-top-sm">
<view>
<view class="margin-bottom-sm">已邀请</view>
<view class="text-red"><text class="text-bold u-font-18">{{inviterNumber}}</text></view>

View File

@ -51,7 +51,8 @@
page : that.page,
limit : that.limit
}
that.$u.api.moneyDet(data).then(res => {
this.$Request.getT('app/moneyDetails/queryUserMoneyDetails', data).then(res => {
if(that.page == 1) {
that.list = res.data.records
uni.stopPullDownRefresh();

View File

@ -1,7 +1,7 @@
<!-- 任务中心 -->
<template>
<view class="container">
<u-navbar :background="background" :is-back="false" :title="title" :border-bottom="false"></u-navbar>
<view class="task_bg u-absolute">
<u-image class="task_bg" src="../../static/images/me/task_bg.png" ></u-image>
</view>
@ -40,6 +40,10 @@
},
data() {
return {
title: '',
background: {
backgroundImage: 'linear-gradient(to right, #FFE5EA 0%, #E4F5FB 49%, #FFF0EE 100%)'
},
cellList: [
{
title: '分享奖励', type: 1, url: '/me/invite/index', icon: '../../static/images/me/task_icon3.png', tip: '奖励888金币', subhead: '分享好友即可获得', btnText:'立即分享'

View File

@ -9,7 +9,7 @@
class="info-box-c flex align-center justify-between">
<view class="info-box-c-l flex align-center">
<view class="info-box-c-l-avatar">
<image :src="avatar?avatar:'../../static/images/logo.png'" mode=""></image>
<image :src="avatar?avatar:'../../static/images/me/default_avatar.png'" mode=""></image>
</view>
<view class="info-box-c-l-name">
<view class="info-box-c-l-name-t">
@ -53,12 +53,12 @@
我的积分
</view>
</view> -->
<view class="statistics-box-item" @click="goNav('/me/balance/index',{amount: userInfo.amount})">
<view class="statistics-box-item" @click="goNav('/me/invite/cashDetail',{amount: userInfo.amount})">
<view class="statistics-box-item-top">
{{userInfo.amount || '0.00'}}
</view>
<view class="statistics-box-item-btn">
我的余额
我的红包
</view>
</view>
</view>
@ -90,7 +90,7 @@
<view class="">
<view class="money-box-title flex align-center">
<view class="money-box-title-l">
余额
余额
</view>
<view @click="isShoMoney = !isShoMoney" class="money-box-title-r" style="margin-left: 12rpx;">
<u-icon :name="isShoMoney?'eye':'eye-off'" color="#5A4A32" size="40"></u-icon>
@ -125,7 +125,7 @@
</view>
</view>
<!-- #endif -->
<view v-if="kmPaySel != ''" @click="openKaMiShow()"
<!-- <view v-if="kmPaySel != ''" @click="openKaMiShow()"
class="tool-box-content-item flex align-center justify-center flex-wrap">
<view class="tool-box-content-item-img">
<image src="../../static/images/me/kami.png" mode=""></image>
@ -133,7 +133,7 @@
<view class="tool-box-content-item-txt">
卡密兑换
</view>
</view>
</view> -->
<view class="tool-box-content-item flex align-center justify-center flex-wrap"
@click="goNav('/me/invite/index')">
<view class="tool-box-content-item-img">
@ -278,7 +278,7 @@
rate: 0,
kmPaySel: '否',
isWxIosPay: true, //
userInfo: null,
userInfo: {},
}
},
onLoad() {

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB