401 lines
9.4 KiB
JavaScript
401 lines
9.4 KiB
JavaScript
var app = getApp();
|
|
var util = require('../../utils/util.js');
|
|
|
|
Page({
|
|
mixins: [require('../../mixin/commonMixin.js')],
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
type: 1,
|
|
items: [{
|
|
name: '1',
|
|
value: '系统余额',
|
|
show: true,
|
|
checked: false
|
|
},
|
|
{
|
|
name: '2',
|
|
value: '微信零钱',
|
|
show: true,
|
|
checked: false
|
|
},
|
|
{
|
|
name: '3',
|
|
value: '支付宝',
|
|
show: true,
|
|
checked: false
|
|
},
|
|
{
|
|
name: '4',
|
|
value: '银行卡',
|
|
show: true,
|
|
checked: false
|
|
}
|
|
],
|
|
info: [],
|
|
tixian_money: '',
|
|
final_money: 0
|
|
},
|
|
canTixian: true,
|
|
handlerGobackClick(delta) {
|
|
const pages = getCurrentPages();
|
|
if (pages.length >= 2) {
|
|
wx.navigateBack({
|
|
delta: delta
|
|
});
|
|
} else {
|
|
wx.switchTab({
|
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
|
});
|
|
}
|
|
},
|
|
handlerGohomeClick(url) {
|
|
wx.switchTab({
|
|
url: '/eaterplanet_ecommerce/pages/index/index'
|
|
});
|
|
},
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function(options) {
|
|
wx.showLoading();
|
|
this.getData();
|
|
},
|
|
|
|
onShow: function() {
|
|
let that = this;
|
|
util.check_login_new().then((res) => {
|
|
if (res) {
|
|
that.setData({
|
|
needAuth: false
|
|
})
|
|
} else {
|
|
that.setData({
|
|
needAuth: true
|
|
})
|
|
}
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 授权成功回调
|
|
*/
|
|
authSuccess: function() {
|
|
let that = this;
|
|
this.setData({
|
|
needAuth: false
|
|
}, () => {
|
|
wx.showLoading();
|
|
that.getData();
|
|
})
|
|
},
|
|
|
|
getData: function() {
|
|
var token = wx.getStorageSync('token');
|
|
let that = this;
|
|
//Todo
|
|
app.util.request({
|
|
url: 'entry/wxapp/user',
|
|
data: {
|
|
controller: 'distribution.get_commission_info',
|
|
token: token
|
|
},
|
|
dataType: 'json',
|
|
success: function(res) {
|
|
wx.hideLoading();
|
|
if (res.data.code == 0) {
|
|
let commiss_tixian_publish = res.data.data.commiss_tixian_publish;
|
|
let items = that.data.items;
|
|
let rdata = res.data.data;
|
|
if (rdata.commiss_tixianway_yuer == 0) items[0].show = false;
|
|
if (rdata.commiss_tixianway_weixin == 0) items[1].show = false;
|
|
if (rdata.commiss_tixianway_alipay == 0) items[2].show = false;
|
|
if (rdata.commiss_tixianway_bank == 0) items[3].show = false;
|
|
|
|
let type = that.data.type;
|
|
for (let i = 0; i < items.length; i++) {
|
|
if (items[i].show) {
|
|
items[i].checked = true;
|
|
type = items[i].name;
|
|
break
|
|
}
|
|
}
|
|
|
|
let { is_need_subscript, need_subscript_template } = res.data;
|
|
|
|
that.setData({
|
|
info: res.data.data,
|
|
items,
|
|
type,
|
|
is_need_subscript,
|
|
need_subscript_template,
|
|
commiss_tixian_publish
|
|
})
|
|
} else {
|
|
wx.showModal({
|
|
title: '提示',
|
|
content: res.data.msg,
|
|
showCancel: false,
|
|
success(res) {
|
|
if (res.confirm) {
|
|
console.log('用户点击确定')
|
|
wx.reLaunch({
|
|
url: '/eaterplanet_ecommerce/pages/user/me',
|
|
})
|
|
}
|
|
}
|
|
})
|
|
}
|
|
}
|
|
})
|
|
},
|
|
|
|
formSubmit: function(event) {
|
|
let that = this;
|
|
let is_need_subscript = this.data.is_need_subscript;
|
|
if(is_need_subscript==1) {
|
|
//弹出订阅消息
|
|
this.subscriptionNotice().then(()=>{
|
|
that.resSubmit(event);
|
|
}).catch(()=>{
|
|
that.resSubmit(event);
|
|
});
|
|
} else {
|
|
that.resSubmit(event);
|
|
}
|
|
},
|
|
|
|
resSubmit: function(e) {
|
|
const params = e.detail.value;
|
|
let isNull = 0;
|
|
let type = this.data.type;
|
|
let errortip = [{}, {}, {
|
|
bankusername: '微信真实姓名'
|
|
}, {
|
|
bankusername: '支付宝真实姓名',
|
|
bankaccount: '支付宝账户'
|
|
}, {
|
|
bankname: '银行卡名称',
|
|
bankusername: '持卡人姓名',
|
|
bankaccount: '银行卡账户'
|
|
}];
|
|
for (let item in params) {
|
|
params[item] = params[item].replace(/(^\s*)|(\s*$)/g, "");
|
|
if (!params[item]) {
|
|
const itemTip = errortip[type][item];
|
|
wx.showToast({
|
|
title: '请输入' + (itemTip || '正确的表单内容'),
|
|
icon: 'none'
|
|
})
|
|
isNull = 1;
|
|
break;
|
|
}
|
|
if (item == 'money' && params[item] * 1 <= 0) {
|
|
wx.showToast({
|
|
title: '请输入正确的金额',
|
|
icon: 'none'
|
|
})
|
|
return;
|
|
}
|
|
}
|
|
|
|
if (isNull == 1) return;
|
|
params.type = type;
|
|
|
|
let tdata = this.data;
|
|
let tixian_money = parseFloat(tdata.tixian_money);
|
|
let max_tixian_money = tdata.info.money;
|
|
let community_min_money = parseFloat(tdata.info.commiss_min_tixian_money);
|
|
|
|
if (tixian_money == '' || community_min_money > tixian_money) {
|
|
wx.showToast({
|
|
title: '最小提现' + community_min_money + '元',
|
|
icon: "none",
|
|
})
|
|
return false;
|
|
}
|
|
|
|
if (tixian_money > max_tixian_money) {
|
|
wx.showToast({
|
|
title: '本次最大可提现' + max_tixian_money + '元',
|
|
icon: "none",
|
|
})
|
|
let fee = tdata.info.commiss_tixian_bili;
|
|
let final_money = (max_tixian_money * (100 - fee) / 100).toFixed(2);
|
|
this.setData({
|
|
tixian_money: max_tixian_money,
|
|
final_money: final_money
|
|
})
|
|
return false;
|
|
}
|
|
|
|
if (!this.canTixian) return;
|
|
this.canTixian = false;
|
|
|
|
wx.showLoading();
|
|
var token = wx.getStorageSync('token');
|
|
let that = this;
|
|
app.util.request({
|
|
url: 'entry/wxapp/user',
|
|
data: {
|
|
controller: 'distribution.tixian_sub',
|
|
token: token,
|
|
...params
|
|
},
|
|
dataType: 'json',
|
|
success: function(res) {
|
|
wx.hideLoading();
|
|
if (res.data.code == 0) {
|
|
wx.showToast({
|
|
title: '已提交申请',
|
|
icon: 'none',
|
|
duration: 2000,
|
|
success: function(){
|
|
that.setData({
|
|
canPay: false,
|
|
tixian_money: '',
|
|
final_money: 0
|
|
})
|
|
that.getData();
|
|
}
|
|
})
|
|
} else {
|
|
wx.showToast({
|
|
title: res.data.msg ? res.data.msg : '提交失败,请重试',
|
|
icon: 'none'
|
|
})
|
|
}
|
|
that.canTixian = true;
|
|
}
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 订阅消息
|
|
*/
|
|
subscriptionNotice: function() {
|
|
let that = this;
|
|
return new Promise((resolve, reject)=>{
|
|
let obj = that.data.need_subscript_template;
|
|
let tmplIds = Object.keys(obj).map(key => obj[key]); // 订阅消息模版id
|
|
if (wx.requestSubscribeMessage) {
|
|
tmplIds.length && wx.requestSubscribeMessage({
|
|
tmplIds: tmplIds,
|
|
success(res) {
|
|
let is_need_subscript = 1;
|
|
let acceptId = [];
|
|
tmplIds.forEach(item=>{
|
|
if (res[item] == 'accept') {
|
|
//用户同意了订阅,添加进数据库
|
|
acceptId.push(item);
|
|
} else {
|
|
//用户拒绝了订阅或当前游戏被禁用订阅消息
|
|
is_need_subscript = 0;
|
|
}
|
|
})
|
|
|
|
if(acceptId.length) {
|
|
that.addAccept(acceptId);
|
|
}
|
|
that.setData({ is_need_subscript })
|
|
resolve();
|
|
},
|
|
fail(err) {
|
|
console.log(err)
|
|
reject();
|
|
}
|
|
})
|
|
} else {
|
|
// 兼容处理
|
|
reject();
|
|
}
|
|
})
|
|
},
|
|
|
|
// 用户点击订阅添加到数据库
|
|
addAccept: function (acceptId) {
|
|
let token = wx.getStorageSync('token');
|
|
let type = acceptId.join(',');
|
|
app.util.request({
|
|
url: 'entry/wxapp/user',
|
|
data: {
|
|
controller: 'user.collect_subscriptmsg',
|
|
token,
|
|
type
|
|
},
|
|
dataType: 'json',
|
|
method: 'POST',
|
|
success: function () {}
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 获得焦点
|
|
*/
|
|
bindIptFocus: function() {
|
|
this.setData({
|
|
onFocus: true
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 失去焦点
|
|
*/
|
|
bindIptBlur: function() {
|
|
this.setData({
|
|
onFocus: false
|
|
})
|
|
},
|
|
|
|
radioChange(e) {
|
|
this.setData({
|
|
type: e.detail.value
|
|
})
|
|
},
|
|
|
|
bindTixianMoneyInput: function(t) {
|
|
let max_val = this.data.info.money;
|
|
var value = t.detail.value;
|
|
if (!(/^(\d?)+(\.\d{0,2})?$/.test(value))) {
|
|
value = value.substring(0, value.length - 1);
|
|
value = parseFloat(value);
|
|
}
|
|
|
|
if (value > max_val) {
|
|
wx.showToast({
|
|
title: '本次最大可提现' + max_val + '元',
|
|
icon: "none",
|
|
})
|
|
}
|
|
let fee = this.data.info.commiss_tixian_bili;
|
|
let val = parseFloat(value) > 0 ? parseFloat(value) : 0;
|
|
let final_money = (val * (100 - fee) / 100).toFixed(2);
|
|
|
|
let canPay = false;
|
|
value ? canPay = true : canPay = false;
|
|
|
|
this.setData({
|
|
tixian_money: value,
|
|
final_money: final_money,
|
|
canPay
|
|
})
|
|
return value;
|
|
},
|
|
|
|
getAll: function() {
|
|
const tdata = this.data;
|
|
var max_tixian_money = tdata.info.money * 1;
|
|
let fee = tdata.info.commiss_tixian_bili;
|
|
let final_money = (max_tixian_money * (100 - fee) / 100).toFixed(2);
|
|
|
|
let canPay = false;
|
|
max_tixian_money ? canPay = true : canPay = false;
|
|
this.setData({
|
|
tixian_money: max_tixian_money,
|
|
final_money: final_money,
|
|
canPay
|
|
})
|
|
}
|
|
})
|