// pages/fund/withdrawAccountEdit.js import * as API_WithdrawAccount from '../../api/withdrawAccount' import * as API_Passport from '../../api/passport' import Toast from '../../miniprogram_npm/vant-weapp/toast/toast'; const app=getApp() Page({ /** * 页面的初始数据 */ data: { bankTypes: [{ name: '支付宝', value: 'alipayDirectPlugin', disabled: false }, { name: '微信', value: 'weixinPayPlugin', disabled: false }, { name: '其他', value: '', disabled: false }], show:false, bankTypeSelected:{}, editForm:{ id:'', bank_account: '', account_name: '', bank_name:'', payment_plugin_id:'', member_id:app.globalData.sellerShop.member_id, shop_id:app.globalData.sellerShop.shop_id } }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { const {id}=options if(id){ this.getAccount(id) } }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }, showPopup(){ this.setData({ show:true }) }, onCancel(){ this.setData({ show:false }) }, onConfirm(e){ const {value} = e.detail let bankName=value.value===''?'':value.name if(value.value!==this.data.bankTypeSelected.value){ //账号类型发生变化,清空账户名和账号 this.setData({ ['editForm.account_name']:'', ['editForm.bank_account']:'' }) } this.setData({ bankTypeSelected:value, show:false, ['editForm.bank_name']:value.value!==this.data.bankTypeSelected.value?bankName:this.data.editForm.bank_name, ['editForm.payment_plugin_id']:value.value }) }, onChange(event) { const that = this let dataKey = event.currentTarget.dataset.name // event.detail 为当前输入的值 this.setData({ [dataKey]: event.detail }) }, submit(e){ console.log(this.data.editForm) let that=this //校验输入项 if(Object.keys(that.data.bankTypeSelected).length===0){ Toast.fail('请选择银行账号类型') return false } if(!that.data.editForm.bank_name||that.data.editForm.bank_name.trim()===''){ Toast.fail('请输入银行名称') return false } if(!that.data.editForm.account_name|| that.data.editForm.account_name.trim()===''){ Toast.fail('请输入账号实名') return false } if(!that.data.editForm.bank_account||that.data.editForm.bank_account.trim()===''){ Toast.fail('请输入账号') return false } if(!that.data.editForm.id){ API_WithdrawAccount.add(that.data.editForm).then(res=>{ that.setData({ editForm:{...res} }) wx.showToast({ title: '添加成功!', icon: 'success', duration: 2000 }) }) }else{ API_WithdrawAccount.update(that.data.editForm.id,that.data.editForm).then(res=>{ that.setData({ editForm:{...res} }) wx.showToast({ title: '修改成功!', icon: 'success', duration: 2000 }) }) } }, getAccount(id){ let that=this API_WithdrawAccount.get(id,{}).then(res=>{ let bankt = that.data.bankTypes.find(p=>p.value===res.payment_plugin_id) console.log(bankt) that.setData({ editForm:{...res}, bankTypeSelected:bankt }) }) }, async getOpenId(e){ const uuid =wx.getStorageSync('uuid') let code=await this.wxlogin() const mp_type = 'miniprogramo2oseller' let { encryptedData, iv } = await this.wxgetUserInfo({ withCredentials: true, lang: 'zh_CN' }) let final = await API_Passport.decryptWxUser({ code, uuid, encrypted_data: encryptedData, iv, mini_program_type:mp_type }) this.setData({ ['editForm.bank_account']:final.openid }) }, // 同步获取登录code wxlogin(){ return new Promise((resolve,reject)=>{ wx.login({ complete: (res) => {resolve(res.code)} }) }) }, // 同步获取用户信息 wxgetUserInfo(option){ return new Promise((resolve,reject)=>{ wx.getUserInfo({ ...option, complete: (res) => { console.log(res) resolve(res) } }) }) } })