commission--yt-commit

This commit is contained in:
2025-06-03 21:29:15 +08:00
parent eaf4b6c5e5
commit 361f6a89d3
16 changed files with 538 additions and 104 deletions

View File

@ -1,66 +1,268 @@
import { baseUrl } from "../../../request"
// pages/personCenter/bindBankCard/bindBankCard.js
Page({
/**
* 页面的初始数据
*/
data: {
id: 0, // 账户ID
cardHolder: '', // 持卡人
idCardNumber: '', // 身份证号
phoneNumber: '', // 手机号
bankCardNumber: '', // 银行卡号
bankName: '', // 开户银行
isUpdate: false, // 是否更新
},
/**
* 更新按钮点击事件
*/
updateInfo() {
if (this.validateForm()) {
// 构建请求体
const requestData = {
id: this.data.id,
cardHolder: this.data.cardHolder,
idCardNumber: this.data.idCardNumber,
phoneNumber: this.data.phoneNumber,
bankCardNumber: this.data.bankCardNumber,
openBank: this.data.bankName, // 添加开户银行字段
};
// 发送请求到后台接口
wx.request({
url: baseUrl + '/userAccount/update', // 替换成实际接口地址
method: 'POST',
header: {
Authorization: wx.getStorageSync('token')
},
data: requestData,
success(res) {
// console.log('后端返回---->',res.data);
// 成功的回调
wx.showToast({
title: '更新成功',
icon: 'success',
});
// 这里可以跳转到其他页面
wx.reLaunch({
url: '/pages/personCenter/withdrawalAccount/withdrawalAccount',
});
},
fail(err) {
// 失败的回调
wx.showToast({
title: '绑定失败,请重试',
icon: 'none',
});
}
});
}
},
// 获取当前账户信息
getAccountInfo() {
wx.request({
url: baseUrl + '/userAccount/queryById', // 替换为你的后端接口
method: 'POST',
header: {
Authorization: wx.getStorageSync('token'),
},
success: (res) => {
// console.log('当前账户是---->',res.data.data);
if (res.data.code === 1) {
this.setData({
id: res.data.data.id,
cardHolder: res.data.data.cardHolder,
idCardNumber: res.data.data.idCardNumber,
phoneNumber: res.data.data.phoneNumber,
bankCardNumber: res.data.data.bankCardNumber,
bankName: res.data.data.openBank
});
} else {
wx.showToast({
title: '获取数据失败',
icon: 'none'
});
}
},
fail: () => {
wx.showToast({
title: '请求失败',
icon: 'none'
});
}
});
},
/**
* 处理输入框的变化
*/
handleInputChange(e) {
const { field } = e.target.dataset; // 获取字段名
this.setData({
[field]: e.detail.value, // 动态更新输入框数据
});
},
/**
* 验证表单
*/
validateForm() {
const { cardHolder, idCardNumber, phoneNumber, bankCardNumber, bankName } = this.data;
// 检查必填字段是否为空
if (!cardHolder || !idCardNumber || !phoneNumber || !bankCardNumber || !bankName) {
wx.showToast({
title: '用户信息不全',
icon: 'none',
});
return false;
}
// 检查手机号是否为 11 位且只包含数字
const phonePattern = /^[0-9]{11}$/;
if (!phonePattern.test(phoneNumber)) {
wx.showToast({
title: '手机号必须是 11 位数字',
icon: 'none',
});
return false;
}
// 检查身份证号是否为 18 位且只包含数字
const idCardPattern = /^[0-9]{18}$/;
if (!idCardPattern.test(idCardNumber)) {
wx.showToast({
title: '身份证号必须是 18 位数字',
icon: 'none',
});
return false;
}
// 检查银行卡号是否为 16 位且只包含数字
const bankCardPattern = /^[0-9]{16}$/;
if (!bankCardPattern.test(bankCardNumber)) {
wx.showToast({
title: '银行卡号必须是 16 位数字',
icon: 'none',
});
return false;
}
// 检查持卡人不能是纯数字
const cardHolderPattern = /^\d+$/;
if (cardHolderPattern.test(cardHolder)) {
wx.showToast({
title: '持卡人姓名不能是数字',
icon: 'none',
});
return false;
}
// 检查开户银行不能包含字母或数字,只能是中文
const bankNamePattern = /^[\u4e00-\u9fa5]+$/; // 只允许中文字符
if (!bankNamePattern.test(bankName)) {
wx.showToast({
title: '开户银行只能包含中文字符',
icon: 'none',
});
return false;
}
return true;
},
/**
* 保存按钮点击事件
*/
saveInfo() {
if (this.validateForm()) {
// 构建请求体
const requestData = {
cardHolder: this.data.cardHolder,
idCardNumber: this.data.idCardNumber,
phoneNumber: this.data.phoneNumber,
bankCardNumber: this.data.bankCardNumber,
openBank: this.data.bankName, // 添加开户银行字段
};
// 发送请求到后台接口
wx.request({
url: baseUrl + '/userAccount/add', // 替换成实际接口地址
method: 'POST',
header: {
Authorization: wx.getStorageSync('token')
},
data: requestData,
success(res) {
console.log('后端返回---->',res.data);
// 成功的回调
wx.showToast({
title: '绑定成功',
icon: 'success',
});
// 这里可以跳转到其他页面
wx.reLaunch({
url: '/pages/personCenter/withdrawal/withdrawal',
});
},
fail(err) {
// 失败的回调
wx.showToast({
title: '绑定失败,请重试',
icon: 'none',
});
}
});
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
// console.log('---->',options.isUpdate);
this.getAccountInfo()
this.setData({
isUpdate: options.isUpdate
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
onReady() {},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
onShow() {},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
onHide() {},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
onUnload() {},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
onPullDownRefresh() {},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
onReachBottom() {},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})
onShareAppMessage() {},
});

View File

@ -1,44 +1,88 @@
<view class="flex-col page">
<text class="self-center font text">绑定银行卡</text>
<text wx:if="{{ isUpdate }}" class="self-center font text">更改银行卡信息</text>
<text wx:else="{{ isUpdate }}" class="self-center font text">绑定银行卡信息</text>
<text class="self-center font_2 text_2">请绑定持卡人本人的银行卡</text>
<view class="flex-col self-stretch group">
<!-- 持卡人 -->
<view class="self-start group_2">
<text class="font_2">持卡人</text>
<text class="font_3">*</text>
</view>
<view class="flex-col justify-start items-start self-stretch text-wrapper mt-11">
<input class="text_3 font" placeholder="请输入持卡人" />
<input
class="text_3 font"
placeholder="请输入持卡人"
data-field="cardHolder"
bindinput="handleInputChange"
value="{{ cardHolder }}"
/>
</view>
<!-- 身份证号 -->
<view class="self-start group_3 mt-11">
<text class="font_2 text_4">身份证号</text>
<text class="font_3">*</text>
</view>
<view class="flex-col justify-start items-start self-stretch text-wrapper_2 mt-11">
<input class="text_12 font_4" placeholder="请输入持卡人身份证号" />
<input
class="text_12 font_4"
placeholder="请输入持卡人身份证号"
data-field="idCardNumber"
bindinput="handleInputChange"
value="{{ idCardNumber }}"
/>
</view>
<!-- 手机号 -->
<view class="self-start group_4 mt-11">
<text class="font_2">手机号</text>
<text class="font_3">*</text>
</view>
<view class="flex-col justify-start items-start self-stretch text-wrapper_2 mt-11">
<input class="text_1 font_4" placeholder="请输入持卡人绑定的手机号" />
<input
class="text_1 font_4"
placeholder="请输入持卡人绑定的手机号"
data-field="phoneNumber"
bindinput="handleInputChange"
value="{{ phoneNumber }}"
/>
</view>
<!-- 银行卡号 -->
<view class="self-start group_5 mt-11">
<text class="font_2 text_6">银行卡号</text>
<text class="font_3">*</text>
</view>
<view class="flex-col justify-start items-start self-stretch text-wrapper_2 mt-11">
<input class="text_5 font_4" placeholder="请输入持卡人银行卡号" />
<input
class="text_5 font_4"
placeholder="请输入持卡人银行卡号"
data-field="bankCardNumber"
bindinput="handleInputChange"
value="{{ bankCardNumber }}"
/>
</view>
<view class="self-start group_6 mt-11">
<text class="font_2 text_7">开户银行</text>
<text class="font_3">*</text>
</view>
<view class="flex-col justify-start items-start self-stretch text-wrapper_2 mt-11">
<input class="text_1 font_4" placeholder="请输入开户银行" />
<input
class="text_1 font_4"
placeholder="请输入开户银行"
data-field="bankName"
bindinput="handleInputChange"
value="{{ bankName }}"
/>
</view>
</view>
<view class="flex-col justify-start items-center self-center text-wrapper_3">
<text class="font_2 text_8">保存</text>
<!-- 保存按钮 -->
<view wx:if="{{ isUpdate }}" class="flex-col justify-start items-center self-center text-wrapper_3">
<text class="font_2 text_8" bindtap="updateInfo" >更新</text>
</view>
</view>
<view wx:else="{{ isUpdate }}" class="flex-col justify-start items-center self-center text-wrapper_3">
<text class="font_2 text_8" bindtap="saveInfo" >保存</text>
</view>
</view>