[添加转账,提现等新功能]

This commit is contained in:
zhangmanman
2021-07-20 09:01:00 +08:00
parent bc38362878
commit c661dd0e16
75 changed files with 1759 additions and 130 deletions

116
pages/favour/favour.js Normal file
View File

@@ -0,0 +1,116 @@
// 本市生活
Page({
/**
* 页面的初始数据
*/
data: {
account : '', //账户积分
typeArr : [], //转账类型
typeIndex: 0, //转账下标
userInfo : '', //转账用户信息
mobile : '', //转账手机号
disabled : false, //支付按钮状态
popShow : false //校验弹出层
},
/**
* 生命周期函数--监听页面加载
*/
onLoad (options) {
// 获取账户下拉列表
this.accountList();
},
/**
* 账户下拉列表
*/
accountList() {
wx.$api.user.transfers().then(res=>{
this.setData({
account: res.data.account,
typeArr: res.data.accounts
})
})
},
/**
* 账户下拉选择
*/
typeBind(e) {
this.setData({
typeIndex: e.detail.value
})
},
/**
* 转入的手机号
*/
bindKeyInput(val){
this.setData({
mobile : val.detail.value
})
},
/**
* 校验手机号码
*/
checkTel() {
wx.$api.user.ajaxTel(this.data.mobile).then(res=>{
this.setData({
userInfo: res.data,
popShow : !this.data.popShow
})
}).catch(err=>{})
},
/**
* 关闭校验弹出
*/
popHide() {
this.setData({
popShow : !this.data.popShow
})
},
/**
* 提交表单
*/
formSubmit(e) {
// 检查用户登录状态
const Paypass = wx.getStorageSync("hasPaypass")
if(Paypass == false) {
wx.showModal({
title : '提示',
content : '抱歉,您还没有设置支付密码',
success : res=> {
if (res.confirm) {
wx.navigateTo({
url: '/pages/password/password?source=favourUrl'
})
} else if (res.cancel) {}
}
})
return
}
let newAmount = e.detail.value.amount,
newMobile = this.data.mobile,
newPaypass = e.detail.value.paypass,
newType = this.data.typeArr[this.data.typeIndex].key
wx.$api.user.transfersForm(newMobile, newType, newAmount, newPaypass).then(res=>{
this.setData({
disabled: true
})
wx.showToast({
title: '转入成功',
})
setTimeout(()=>{
wx.redirectTo({
url: "/pages/account/account?type=" + newType
})
},2000)
}) .catch(err=>{})
}
})

6
pages/favour/favour.json Normal file
View File

@@ -0,0 +1,6 @@
{
"usingComponents": {},
"navigationBarTitleText": "积分赠与",
"navigationBarBackgroundColor": "#000000",
"navigationBarTextStyle": "white"
}

51
pages/favour/favour.wxml Normal file
View File

@@ -0,0 +1,51 @@
<view class="favourBack">
<image class="favourBack-img" src="/static/img/favour_back.png" mode="widthFix"></image>
<view class="favourBack-cont">
<view class="favourBack-cont-title">本时生活 -- 积分赠与</view>
<view class="favourBack-cont-name">{{typeArr[typeIndex].value}}</view>
<view class="favourBack-cont-number">{{typeArr[typeIndex].key == 'silver' ? account.silver : account.drill}}</view>
</view>
</view>
<view class="favourCont">
<view class="favourCont-title">赠好友积分</view>
<form bindsubmit="formSubmit">
<view class="favourCont-label">
<view class="favourCont-name">积分账户</view>
<picker class="favourCont-picker" range="{{typeArr}}" range-key="value" bindchange="typeBind">
<view class="tabs-text">
{{typeArr[typeIndex].value}}
</view>
<image src="/static/icon/rightsArrow.png"></image>
</picker>
</view>
<view class="favourCont-label">
<view class="favourCont-name">手机号</view>
<view class="favourCont-check">
<input type="number" bindinput="bindKeyInput" placeholder="请输入被转人手机号" />
<view class="favourCont-check-btn" bindtap="checkTel">校验号码</view>
</view>
</view>
<view class="favourCont-label">
<view class="favourCont-name">转账金额</view>
<input type="digit" name="amount" placeholder="请输入转账金额" />
</view>
<view class="favourCont-label">
<view class="favourCont-name">支付密码</view>
<input type="number" name="paypass" placeholder="请输入支付密码" password />
</view>
<button class="favourCont-btn" formType="submit" disabled="{{disabled}}">立即转入</button>
<navigator class="favourCont-record" hover-class="none" url="/pages/account/account?type={{typeArr[typeIndex].key}}"><text>赠与记录</text></navigator>
</form>
</view>
<!-- 校验手机号弹出 -->
<view class="popTel-back" wx:if="{{popShow}}"></view>
<view class="popTel" wx:if="{{popShow}}">
<view class="popTel-title">当前转入的账户信息</view>
<view class="popTel-cont">
<image class="popTel-head" src="{{userInfo.avatar}}"></image>
<view class="popTel-name">{{userInfo.nickname}}</view>
</view>
<view class="popTel-btn" bindtap="popHide">知道了</view>
</view>

187
pages/favour/favour.wxss Normal file
View File

@@ -0,0 +1,187 @@
page {
background: #fcdece;
}
.favourBack {
position: relative;
}
.favourBack-img {
width: 100vw;
display: block;
}
.favourBack-cont {
position: absolute;
top: 0;
width: 100%;
padding: 140rpx 40rpx;
box-sizing: border-box;
left: 0;
color: #ca3c19;
}
.favourBack-cont-title {
font-size: 32rpx;
font-weight: 600;
margin-bottom: 30rpx;
}
.favourBack-cont-name {
font-size: 46rpx;
font-weight: 600;
}
.favourBack-cont-number {
background-color: #ff5e5d;
color: #fff;
border-radius: 50rpx;
display: inline-block;
padding: 4rpx 20rpx;
margin-top: 15rpx;
}
/* 表单 */
.favourCont {
background-color: #fff;
margin: 0 30rpx;
padding: 0 40rpx 60rpx;
box-sizing: border-box;
border-radius: 30rpx;
}
.favourCont-title {
text-align: center;
color: #d57449;
font-size: 38rpx;
font-weight: 600;
width: 100%;
padding: 30rpx 0 50rpx;
}
.favourCont-label {
position: relative;
line-height: 80rpx;
background-color: #f4f4f4;
margin-bottom: 40rpx;
font-size: 28rpx;
}
.favourCont-name {
background-color: #ffffff;
width: 130rpx;
}
.favourCont-label>input,
.favourCont-picker,
.favourCont-check {
position: absolute;
left: 0;
font-size: 28rpx;
top: 0;
display: block;
height: 80rpx;
padding: 0 30rpx 0 160rpx;
width: 100%;
box-sizing: border-box;
}
.favourCont-picker image {
width: 50rpx;
height: 50rpx;
position: absolute;
right: 10rpx;
top: 14rpx;
}
.favourCont-btn {
background: linear-gradient(to right, #ff8e65, #ff5f5d);
color: #fff;
margin-top: 80rpx;
width: 100% !important;
font-size: 32rpx;
line-height: 54rpx;
}
.favourCont-record {
text-align: center;
color: #ff5f5d;
font-size: 30rpx;
font-weight: 600;
margin-top: 40rpx;
text-align: center;
width: 100%;
}
.favourCont-record text {
border-bottom: #ff5f5d solid 4rpx;
display: inline-block;
}
.favourCont-check {
line-height: 80rpx;
}
.favourCont-check>input {
height: 80rpx;
}
.favourCont-check-btn {
font-size: 28rpx;
position: absolute;
right: 0;
top: 0;
background: #ff8e65;
padding: 0 20rpx;
color: #fff;
z-index: 9;
}
/* 校验弹出层 */
.popTel-back {
position: fixed;
left: 0;
top: 0;
background: rgba(0, 0, 0, .7);
width: 100vw;
height: 100vh;
z-index: 10;
}
.popTel {
position: fixed;
left: 140rpx;
right: 140rpx;
top: 30%;
z-index: 11;
background-color: #fff;
border-radius: 20rpx;
text-align: center;
overflow: hidden;
}
.popTel-title {
font-size: 32rpx;
background-color: #ff8e65;
color: #fff;
line-height: 80rpx;
}
.popTel-cont {
padding: 60rpx 0;
}
.popTel-head {
width: 100rpx;
height: 100rpx;
border-radius: 50%;
margin: 0 auto 20rpx;
border: #ff8e65 solid 2rpx;
}
.popTel-btn {
border-top: 2rpx solid #dedede;
line-height: 90rpx;
color: #ff8e65;
font-size: 30rpx;
}