const app = getApp() import WxValidate from '../../../utils/wxValidate'; const moment = require("../../../utils/moment.min") Page({ /** * 页面的初始数据 */ data: { frameStyle: { useTop: true, name: '账号充值', leftArrow: true, useBar: false }, user: {}, // 关系信息 id: '', rcsInfo: {}, form: {} }, initValidate() { const rules = { money: { required: true } } // 验证字段的提示信息,若不传则调用默认的信息 const messages = { money: { required: '充值金额' } }; this.WxValidate = new WxValidate(rules, messages) }, // 返回 back: function () { wx.navigateBack({ delta: 1 }) }, onSubmit: async function (e) { const that = this; const params = e.detail.value; const rcsInfo = that.data.rcsInfo; const user = that.data.user; if (!this.WxValidate.checkForm(params)) { const error = this.WxValidate.errorList[0]; wx.showToast({ title: `${error.msg}`, icon: 'error', duration: 2000 }) return false } else { let obj = { school_id: rcsInfo.school_id, openid: user.openid, payer_id: user.info.id, payer_role: 'Coach', pay_for: '充值', money: params.money, time: moment().format('YYYY-MM-DD HH:mm:ss') } const arr = await app.$post(`/payOrder`, obj) if (arr.errcode == '0') { wx.requestPayment({ "timeStamp": arr.data.wxSign.timestamp, "nonceStr": arr.data.wxSign.nonceStr, "package": `prepay_id=${arr.data.wxSign.prepay_id}`, "signType": arr.data.wxSign.signType, "paySign": arr.data.wxSign.paySign, "success": async function (res) { let money = parseInt(rcsInfo.money || 0) + parseFloat(params.money); const aee = await app.$post(`/rcs/${rcsInfo._id}`, { money: money }); if (aee.errcode == '0') { wx.showToast({ title: `支付成功`, icon: 'success', duration: 2000 }); that.back() } else { wx.showToast({ title: `${aee.errmsg}`, icon: 'error', duration: 2000 }) } }, "fail": function (res) { wx.showToast({ title: `支付未成功`, icon: 'error', duration: 2000 }) that.back() }, }) } } }, /** * 生命周期函数--监听页面加载 */ onLoad: async function (options) { const that = this; that.setData({ id: options.id || '62ff243908c3ce998df1602a' }); //验证规则函数 that.initValidate(); // 监听用户是否登录 await that.watchLogin(); }, // 监听用户是否登录 watchLogin: async function () { const that = this; wx.getStorage({ key: 'user', success: async res => { that.setData({ user: res.data }) let arr; if (that.data.id) { // 关系信息 arr = await app.$get(`/rcs/${that.data.id}`); if (arr.errcode == '0') that.setData({ rcsInfo: arr.data }) else { wx.showToast({ title: `${arr.errmsg}`, icon: 'error', duration: 2000 }) } } }, fail: async res => { wx.redirectTo({ url: '/pages/index/index' }) } }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })