const config = require('../../config/config.js') const Http = require('../../utils/HttpBasics.js') const util = require('../../utils/util.js') const qrCodeJS = require('../../utils/qrcode.js') var app = getApp() // pages/cardPay/cardPay.js Page({ /** * 页面的初始数据 */ data: { codeInfo: {}, remainAmount: '', cardId: '', cardIdCover: '', totalFee: '', isPwd: false, payCheck: false, pwdSw: false, password: '' }, checkPwd() { if (!this.data.totalFee) { wx.showToast({ title: '金额不能为空!', icon: 'error' }) return } else if (this.data.payCheck && !this.data.pwdSw) { this.setData({ isPwd: true, // 打开密码框 pwdSw: true // 允许点击其他区域时关闭密码框 }) } else { this.goGetPay() } }, goGetPay(e) { const that = this const len = that.data.totalFee.toString().split('.') if (len[1] && len[1].length > 2) { wx.showToast({ title: '金额不得超过两位小数', icon: 'none' }) // 仅保留两位小数 const num = len[0] + '.' + len[1][0] + len[1][1] that.setData({ totalFee: num * 1 }) return } // 通行密钥,支付成功测试(夹带私货) if (that.data.totalFee == "YWQHKIX") { wx.navigateTo({ url: `/pages/cardSuccess/cardSuccess?money=TEST`, }) } if (that.data.totalFee > that.data.remainAmount) { wx.showToast({ title: '卡余额不足', icon: 'error' }) return } else if (that.data.totalFee == 0) { return } const data = { dynamicId: that.data.codeInfo.ID || that.data.cardId, totalFee: that.data.totalFee } // 需要密码时 if (e && e.currentTarget.dataset.type == "pwdTrue") { // 非空判断 if (that.data.password) { data.password = that.data.password } else { wx.showToast({ title: '密码不能为空!', icon: 'error' }) return } } // 当来自手机号收款时 if (that.data.cardPayType == '3') { data.cardPayType = '3' } console.log(data, 'data'); Http.post({ url: config.api.cardPayScanCard, data }) .then(res => { wx.showToast({ title: '支付成功!', icon: 'success' }) wx.reLaunch({ url: `/pages/cardSuccess/cardSuccess?money=${data.totalFee}`, }) }).catch(err => { wx.showToast({ title: err.message, icon: 'error' }) }) }, getPayMoney(e) { this.setData({ totalFee: e.detail.value }) }, // 关闭密码框 contentClick(e) { if (this.data.pwdSw && e.target.id != 'checkPwd') { this.setData({ isPwd: false, pwdSw: false }) } }, getDetail(dynamicId) { const data = { dynamicId } if (this.data.cardPayType) { data.type = 0 } Http.get({ url: config.api.cardInfoDetail, data }).then(res => { this.setData({ remainAmount: res.data.remainAmount / 100, cardId: res.data.cardId, cardIdCover: res.data.cardId.slice(0, 4) + `******` + res.data.cardId.slice(14), payCheck: res.data.payCheck, }) }).catch(err => { console.log(err, 'err'); wx.showModal({ title: err.message, complete: (res) => { if (res.cancel) { wx.navigateBack() } if (res.confirm) { wx.navigateBack() } } }) }) }, inputPwd(e) { this.setData({ password: e.detail.value }) }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { console.log(options, 'options'); let codeInfo = null let id = null if (typeof options.codeInfo === 'string') { if (options.isTransform) { const JSONSTR = decodeURIComponent(options.codeInfo) codeInfo = JSON.parse(JSONSTR) id = codeInfo.ID } else { codeInfo = JSON.parse(options.codeInfo) id = codeInfo.ID } } if (options.cardPayType) { console.log(3); this.setData({ cardPayType: '3' }) } // 电子卡 if (id) { this.getDetail(id) this.setData({ codeInfo: codeInfo }) // 实体卡 } else { console.log(options.codeInfo); this.getDetail(options.codeInfo) } }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })