// pages/faqian/faqian.js const app = getApp(); const com = require("../../utils/common.js"); const dowx = require("../../utils/DOWX.js"); var th = null; Page({ data: { // 请求数据 taskid: null, //视频随机标识 videoid: null, //视频id openid: null, //我的openid moneymin: 1, //礼金最小值 moneymax: 10, //礼金最大值 geshumin: 1, //个数最小值 geshumax: 10, //个数最大值 money_moren: 0, //显示的余额 // 页面数据 shuru_jine: "", //输入的礼金 tf_jinehege: false, //输入的金额是否合格 shuru_geshu: 0, //输入的个数 tf_geshuhege: false, //输入的个数是否合格 }, onLoad: function (res) { th = this; // 获取视频随机字符串标识 if (res.taskid) { th.setData({ taskid: res.taskid }); // 获取个人信息 app.Get_info(function (res) { th.setData({ openid: res.info2.openid }); // 获取格式要求 th.Get_shurugeshi(); // 获取余额 th.Get_yue(); }); } else { dowx.Showred(th, '未能获取视频随机标识'); } }, // 礼金输入 Shuru_jine: function (res) { th.setData({ shuru_jine: res.detail.value }); //获取输入值 var jiance = th.jiance_jine(th.data.shuru_jine); //输入合格检测 th.setData({ tf_jinehege: jiance.hege }); //输入是否合格赋值 if(jiance.hege==false){if (jiance.msg != '没有输入') { dowx.Showred(th,jiance.msg); }} //弹出错误提示框 }, // 礼金输入合格检测,参数: 要检测的输入值 jiance_jine: function(shuruC) { var shuru = parseFloat(shuruC);//转化为数字类型 var back = { hege: false, msg: '初始不合格' };//初始化返还值 var reg = /\.\d*\./; // 正则式检测 2个以上小数点 // 发送金额/发送数量 必须大于1分 var geshu = 0; //输入的个数 if (th.data.shuru_geshu.length > 0) { geshu = parseInt(th.data.shuru_geshu); } var jine_geshu = shuru / geshu; if (shuruC.length==0) { back = { hege: false, msg: '没有输入' }; } else if (reg.test(shuruC)) { back = { hege: false, msg: '数字格式不合规范' };} else if (shuru < th.data.moneymin) { back = { hege: false, msg: '礼金最少' + th.data.moneymin+'元'}; } else if (shuru > th.data.moneymax) { back = { hege: false, msg: '礼金最多' + th.data.moneymax + '元' }; } else if (jine_geshu < 0.01) { back = { hege: false, msg: '人均不到1分钱' }; } else if (shuru >= th.data.moneymin && shuru <= th.data.moneymax) { back = { hege: true, msg: '合格' }; } return back; }, // 个数输入 Shuru_geshu: function (res) { th.setData({ shuru_geshu: res.detail.value }); //获取输入值 var jiance = th.jiance_geshu(th.data.shuru_geshu); //输入合格检测 th.setData({ tf_geshuhege: jiance.hege }); //输入是否合格赋值 if (jiance.hege == false) { if (jiance.msg != '没有输入') { dowx.Showred(th, jiance.msg); } } //弹出错误提示框 }, // 个数输入合格检测,参数: 要检测的输入值 jiance_geshu: function (shuruC) { var shuru = parseInt(shuruC);//转化为数字类型 var back = { hege: false, msg: '初始不合格' };//初始化返还值 // 发送金额/发送数量 必须大于1分 var jine = 0; //输入的金额 if (th.data.shuru_jine.length > 0) { jine = parseFloat(th.data.shuru_jine); } var jine_geshu = jine / shuru; if (shuruC.length == 0) { back = { hege: false, msg: '没有输入' }; } else if (shuru < th.data.geshumin) { back = { hege: false, msg: '个数最少' + th.data.geshumin + '个' }; } else if (shuru > th.data.geshumax) { back = { hege: false, msg: '个数最多' + th.data.geshumax + '个' }; } else if (jine_geshu < 0.01) { back = { hege: false, msg: '人均不到1分钱' }; } else if (shuru >= th.data.geshumin && shuru <= th.data.geshumax) { back = { hege: true, msg: '合格' }; } return back; }, // 提交按钮 点击 Click_submit: function (ev) { // 输入都合格了,才能通过 if (th.data.tf_jinehege == true && th.data.tf_geshuhege == true) { // 数据准备 var mydata={ openid: th.data.openid, type: 1, money: th.data.shuru_jine, count: th.data.shuru_geshu, // formId: ev.detail.formId, open: false }; var myurl = com.getWholeUrl('bainian/api/client/video/publishvideo', mydata); wx.showLoading({ title: '正在支付' }); // 发起请求 dowx.AjaxPost(myurl,{},function(res) { wx.hideLoading(); dowx.AjaxStop(); if (res.code == 0) { // 需要支付金钱的情况 if (res.data.payData != null) { // 支付请求 wx.requestPayment( { timeStamp: res.data.payData.timeStamp, nonceStr: res.data.payData.nonceStr, package: res.data.payData.package, signType: res.data.payData.signType, paySign: res.data.payData.paySign, success: function (dd) { // 弹出说明框 wx.showToast({ title: '支付成功', duration: 1200 }); var strdata = { moneyhad: true, videoid: res.data.gameId }; try{ app.aldstat.sendEvent("成功塞入红包"); // 上传阿拉丁 }catch(e){} // 进行本地数据保存 wx.setStorage({ key: th.data.taskid, data: strdata, fail: function () { dowx.Showred(th, '本地缓存→fail'); }, success: function () { setTimeout(function () { // 返回页面 wx.navigateBack({}); }, 1200); } }); } }); } else { // 弹出说明框 wx.showToast({ title: '已用余额支付', duration: 1500 }); var strdata = { moneyhad: true, videoid: res.data.gameId }; try{ app.aldstat.sendEvent("成功塞入红包"); // 上传阿拉丁 }catch(e){} // 进行本地数据保存 wx.setStorage({ key: th.data.taskid, data: strdata, fail: function () { dowx.Showred(th, '本地缓存→fail'); }, success: function(){ setTimeout(function () { // 返回页面 wx.navigateBack({}); }, 1500); } }); } } else { dowx.Showred(th, '支付请求返回错误:' + res.msg); } }); } }, // --------------------------------------------------------------------------- // 数据请求 // // 获取输入格式要求 working2: false, Get_shurugeshi: function () { var mydata={ openid: th.data.openid }; var myurl = com.getWholeUrl("bainian/api/client/config/gethbconfig", mydata); // 发起请求 th.working2 = true; dowx.AjaxPost(myurl, {}, function (res) { th.working2 = false; dowx.AjaxStop([th.working1, th.working2]); if(res.code==0) { th.setData({ moneymin: res.data.minMoney, //礼金最小值 moneymax: res.data.maxMoney, //礼金最大值 geshumin: res.data.minCount, //个数最小值 geshumax: res.data.maxCount //个数最大值 }); } else{ dowx.Showred(th,'获取输入格式要求失败:'+res.msg); } }); }, // 获取余额信息 working1: false, Get_yue: function () { // 数据准备 var mydata = { openid: th.data.openid }; var myurl = com.getWholeUrl('bainian/api/client/user/getuserinfo', mydata); // 请求数据 th.working1 = true; dowx.AjaxPost(myurl, {}, function (res) { th.working1 = false; dowx.AjaxStop([th.working1, th.working2]); // 设置余额 if (res.code == 0) { th.setData({ money_moren: res.data.banlance }); } else { dowx.Showred(th, '获取余额返回错误:' + res.msg); } }); }, })