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() {}, /** * 生命周期函数--监听页面显示 */ onShow() {}, /** * 生命周期函数--监听页面隐藏 */ onHide() {}, /** * 生命周期函数--监听页面卸载 */ onUnload() {}, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() {}, /** * 页面上拉触底事件的处理函数 */ onReachBottom() {}, /** * 用户点击右上角分享 */ onShareAppMessage() {}, });