// 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); }
|
});
|
},
|
|
})
|