You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
557 lines
15 KiB
JavaScript
557 lines
15 KiB
JavaScript
const app = getApp();
|
|
const card = require('../../utils/card.js');
|
|
const util = require("../../utils/util.js")
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
selectRecharge: null,
|
|
showUpWindow: false,
|
|
hidden: true,
|
|
msg: "加载中...",
|
|
color: "#FFC639",
|
|
isRegister:true,
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
this.setData({
|
|
availableAmount: app.globalData.cardInfo.availableAmount,
|
|
color: app.globalData.color
|
|
});
|
|
console.log("----------------会员卡号", app.globalData.cardNo);
|
|
},
|
|
|
|
onShow:function(){
|
|
console.log("查询会员信息" + app.globalData.user);
|
|
this.setData({ color: app.globalData.color })
|
|
this.cy_queryMemberInfo();
|
|
},
|
|
|
|
/**
|
|
* 查询会员信息
|
|
*/
|
|
cy_queryMemberInfo(){
|
|
var that = this;
|
|
var user = that.data.user;
|
|
var params = {
|
|
"method": "small.weixin.member.info.wid1",
|
|
"wid": app.globalData.memberWid,
|
|
"openId": app.openId,
|
|
};
|
|
// 忽略签名参数
|
|
var ignores = ["openId", "nickName", "gender", "avatarUrl", "country", "province", "city"];
|
|
app.jsapi.api(app.globalData.memberAppKey, app.globalData.memberAppSecret,app.globalData.memberUrl ).ajax(params, ignores,
|
|
function(json) {
|
|
console.log(json);
|
|
var result = json.data;
|
|
if (result.status == 1) {
|
|
var data = result.data;
|
|
if(data.cardNo){
|
|
wx.setStorageSync("cardNo", data.cardNo);
|
|
wx.setStorageSync("memberId", data.memberId);
|
|
app.globalData.cardNo = data.cardNo;
|
|
app.globalData.memberId = data.memberId;
|
|
that.cy_selectCardInfo();
|
|
that.cy_getRechargeScheme();
|
|
}else{
|
|
wx.navigateTo({
|
|
url: 'memberRegister',
|
|
})
|
|
}
|
|
}
|
|
});
|
|
},
|
|
/**
|
|
* 查询卡信息
|
|
*/
|
|
cy_selectCardInfo: function() {
|
|
var that = this;
|
|
card.wx_cardInfo(app.globalData.cardNo, function(json) {
|
|
console.log(json);
|
|
var result = json.data;
|
|
if (result.status == 1) {
|
|
var cardInfo = result.data;
|
|
wx.setStorageSync("cardInfo", cardInfo);
|
|
app.globalData.cardInfo = cardInfo;
|
|
that.setData({
|
|
availableAmount: cardInfo.availableAmount,
|
|
totalPoint: cardInfo.totalPoint,
|
|
level: cardInfo.level,
|
|
couponNum: cardInfo.couponNum
|
|
});
|
|
} else {
|
|
// wx.showToast({
|
|
// title: result.errMessage,
|
|
// icon: "none"
|
|
// })
|
|
}
|
|
}, function(err) {
|
|
wx.showToast({
|
|
title: "网络链接失败",
|
|
icon: "none"
|
|
})
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 获取充值方案
|
|
*/
|
|
cy_getRechargeScheme: function () {
|
|
var that = this;
|
|
card.WxRechargeScheme(function (json) {
|
|
console.log(json.data);
|
|
var data = json.data;
|
|
if (data.status == 1) { //
|
|
var result = data.data;
|
|
var discountContent = JSON.parse(result.discountContent);
|
|
var list = [];
|
|
for (var key in discountContent) {
|
|
var item = {};
|
|
item.select = false;
|
|
item.rechargeNo = result.schemeNo;
|
|
item.des = discountContent[key];
|
|
item.amount = key;
|
|
list.push(item);
|
|
}
|
|
that.setData({
|
|
list: list
|
|
});
|
|
} else {
|
|
wx.showToast({
|
|
title: data.message,
|
|
icon: "none"
|
|
})
|
|
}
|
|
}, function (err) {
|
|
console.log(err);
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 余额明细
|
|
*/
|
|
cy_tapBalanceDetail: function () {
|
|
wx.navigateTo({
|
|
url: 'balanceDetail',
|
|
})
|
|
},
|
|
|
|
|
|
/**
|
|
* 充值
|
|
*/
|
|
cy_selectReacharge: function (e) {
|
|
var index = e.currentTarget.dataset.index;
|
|
for (var item of this.data.list) {
|
|
item.select = false;
|
|
}
|
|
var item = this.data.list[index];
|
|
item.select = true;
|
|
|
|
this.setData({
|
|
selectRecharge: item,
|
|
list: this.data.list
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 去充值
|
|
*/
|
|
cy_clickRecharge: function () {
|
|
var that = this;
|
|
var recharge = that.data.selectRecharge;
|
|
if (!recharge) {
|
|
wx.showToast({
|
|
title: '请选择充值方案',
|
|
icon: 'none'
|
|
})
|
|
return;
|
|
}
|
|
that.setData({
|
|
hidden: false
|
|
})
|
|
var totalFee = parseInt(parseFloat(recharge.amount) * 100);
|
|
// 先创建充值订单
|
|
var createTime = app.utils.getFormatTime(new Date(), 1);
|
|
var params = {
|
|
"method": "weixin.recharge.order.create",
|
|
"wid": app.globalData.memberWid,
|
|
"openid": app.openId,
|
|
"outTradeNo": card.getTradeNo(),
|
|
"createTime": createTime,
|
|
rechargeNo: recharge.rechargeNo,
|
|
requestAmount: totalFee,
|
|
cardNo: app.globalData.cardNo
|
|
};
|
|
|
|
if(app.storeId){
|
|
params.shopId = app.storeId;
|
|
}
|
|
var ignores = [];
|
|
console.log("-----------------", params);
|
|
//
|
|
app.jsapi.memberApi(app.globalData.memberAppKey, app.globalData.memberAppSecret, app.globalData.memberUrl).ajax(params, ignores,
|
|
function (json) {
|
|
console.log(json);
|
|
var result = json.data;
|
|
if (result.status == 1) {
|
|
recharge.cardNo = result.data.cardNo; // 充值卡号
|
|
recharge.outTradeNo = result.data.outTradeNo; // 充值单号
|
|
recharge.rechargeNo = result.data.rechargeNo; // 充值方案编号
|
|
recharge.requestAmount = result.data.requestAmount; // 充值金额
|
|
that.cy_wxUnifiedOrder();
|
|
} else {
|
|
that.setData({
|
|
hidden: true
|
|
});
|
|
app.msg.showMsg("提示", "微信下单失败 " + result.message);
|
|
}
|
|
},
|
|
function (error) {
|
|
app.msg.showMsg("提示", "网络连接失败");
|
|
}
|
|
);
|
|
},
|
|
|
|
/**
|
|
* 微信JSAPI下单
|
|
*/
|
|
cy_wxUnifiedOrder: function () {
|
|
var that = this;
|
|
var recharge = that.data.selectRecharge;
|
|
var params = {
|
|
"method": 'weixin.unifiedorder',
|
|
"wid": app.globalData.memberWid,
|
|
"deviceInfo": app.sourceSign,
|
|
"body": "微信小程序充值",
|
|
"detail": "微信小程序充值",
|
|
"attach": app.globalData.memberWid,
|
|
"outTradeNo": recharge.outTradeNo,
|
|
"totalFee": recharge.requestAmount,
|
|
"spbillCreateIp": "0.0.0.0",
|
|
"openid": app.openId,
|
|
}
|
|
console.log(params);
|
|
var ignores = ["deviceInfo", "body", "detail", "attach"];
|
|
app.jsapi.memberApi(app.globalData.memberAppKey, app.globalData.memberAppSecret, app.globalData.memberUrl).ajax(params, ignores,
|
|
function (json) {
|
|
console.log(json);
|
|
var data = json.data;
|
|
if (data.status == 1) {
|
|
that.setData({
|
|
hidden: true
|
|
});
|
|
that.cy_wxRequestPayMent(data.data);
|
|
} else {
|
|
that.setData({
|
|
hidden: true
|
|
});
|
|
var message = "";
|
|
if (data.message) {
|
|
message = data.message;
|
|
}
|
|
if (data.errMessage) {
|
|
message = data.errMessage;
|
|
}
|
|
wx.showToast({
|
|
title: message,
|
|
icon: "none"
|
|
})
|
|
}
|
|
},
|
|
function (err) {
|
|
wx.showToast({
|
|
title: '网络状态不稳定,请重试',
|
|
icon: "none"
|
|
})
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 微信支付
|
|
*/
|
|
cy_wxRequestPayMent: function (data) {
|
|
var that = this;
|
|
wx.requestPayment({
|
|
timeStamp: data.timeStamp,
|
|
nonceStr: data.nonceStr,
|
|
package: data.package,
|
|
signType: data.signType,
|
|
paySign: data.paySign,
|
|
success: function (res) {
|
|
console.log("成功=============");
|
|
that.cy_wxQueryOrder(data);
|
|
},
|
|
fail: function (res) {
|
|
console.log("失败=============1111", res);
|
|
},
|
|
complete: function (res) {
|
|
if (res.errMsg == "requestPayment:fail cancel") {
|
|
wx.showToast({
|
|
title: '您已经取消会员充值',
|
|
icon: "none"
|
|
})
|
|
}
|
|
}
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 查询支付结果
|
|
*/
|
|
cy_wxQueryOrder: function (data) {
|
|
|
|
var that = this;
|
|
var params = {
|
|
'method': 'weixin.unifiedorder.query',
|
|
"wid": app.globalData.memberWid,
|
|
'outTradeNo': data.outTradeNo,
|
|
}
|
|
|
|
if (data.saobeiOrderNo) {
|
|
params.saobeiOrderNo = data.saobeiOrderNo;
|
|
}
|
|
var ignores = [];
|
|
app.jsapi.memberApi(app.globalData.memberAppKey, app.globalData.memberAppSecret, app.globalData.memberUrl).ajax(params, ignores,
|
|
function (json) {
|
|
console.log( json);
|
|
var data = json.data;
|
|
if (data.status == 1) {
|
|
wx.showToast({
|
|
title: '充值成功',
|
|
icon: "none",
|
|
})
|
|
that.cy_selectCardInfo();
|
|
that.cy_queryTopUpWindowList();
|
|
wx.requestSubscribeMessage({
|
|
tmplIds: app.globalData.templateMsgList,
|
|
success: function (params) {
|
|
console.error(" success ", params)
|
|
var data = {
|
|
'openId': wx.getStorageSync('openId'),
|
|
'formId': "1234566",
|
|
'wid': app.globalData.memberWid,
|
|
'sendType': "recharge",
|
|
'method': 'get.smweixin.formId',
|
|
'memberName': wx.getStorageSync('cardInfo').name,
|
|
'cardNo': wx.getStorageSync('cardInfo').cardNo,
|
|
'mobile': wx.getStorageSync('cardInfo').mobile,
|
|
'memberId': wx.getStorageSync('memberId'),
|
|
'rechargeNo': that.data.selectRecharge.outTradeNo,
|
|
}
|
|
var ignores = ["memberName"];
|
|
app.jsapi.memberApi(app.globalData.memberAppKey, app.globalData.memberAppSecret, app.globalData.memberUrl).ajax(data, ignores,
|
|
function (json) { },
|
|
function (error) { })
|
|
},
|
|
fail: function (params) {
|
|
console.error(" error ", params)
|
|
}
|
|
})
|
|
|
|
} else {
|
|
wx.showToast({
|
|
title: data.errMessage,
|
|
icon: "none"
|
|
})
|
|
}
|
|
},
|
|
function (err) {
|
|
wx.showToast({
|
|
title: '网络连接异常,已扣款请联系商家',
|
|
icon: "none"
|
|
})
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 查询卡信息
|
|
*/
|
|
cy_selectCardInfo: function () {
|
|
var that = this;
|
|
card.wx_cardInfo(app.globalData.cardNo, function (json) {
|
|
console.log(json);
|
|
var result = json.data;
|
|
if (result.status == 1) {
|
|
var cardInfo = result.data;
|
|
wx.setStorageSync("cardInfo", cardInfo);
|
|
app.globalData.cardInfo = cardInfo;
|
|
that.setData({
|
|
availableAmount: cardInfo.availableAmount,
|
|
totalPoint: cardInfo.totalPoint,
|
|
level: cardInfo.level,
|
|
couponNum: cardInfo.couponNum
|
|
});
|
|
} else {
|
|
wx.showModal({
|
|
title: '提示',
|
|
content: result.errMsg,
|
|
});
|
|
}
|
|
}, function (err) {
|
|
wx.showModal({
|
|
title: '提示',
|
|
content: '网络链接失败',
|
|
})
|
|
});
|
|
},
|
|
|
|
cy_queryTopUpWindowList: function () {
|
|
var that = this;
|
|
card.judgeUpWindown(function (success) {
|
|
var result = success.data;
|
|
if (result.code != 1) {
|
|
if (result.data.status == 1) {
|
|
if (result.data.schemeId) {
|
|
that.setData({
|
|
schemeId: result.data.schemeId
|
|
})
|
|
}
|
|
var upWindowList = [];
|
|
var items = {};
|
|
for (var item of result.data.list) {
|
|
items.title = item.title;
|
|
items.id = item.id;
|
|
items.logoUrl = "http://imgv1.jwsaas.com/" + item.logoUrl;
|
|
if (item.quantity) {
|
|
items.quantity = item.quantity
|
|
} else {
|
|
items.quantity = 0
|
|
}
|
|
if (item.dateType == 0) {
|
|
var startTime = "";
|
|
var endTime = "";
|
|
if (item.beginTimestamp) {
|
|
startTime = util.formatTimeV(new Date(parseInt(item.beginTimestamp)), "yyyy-MM-dd");
|
|
}
|
|
if (item.endTimestamp) {
|
|
endTime = util.formatTimeV(new Date(parseInt(item.endTimestamp)), "yyyy-MM-dd");
|
|
}
|
|
items.time = startTime + " 至 " + endTime;
|
|
} else if (item.dateType == 1) {
|
|
|
|
if (item.fixedBeginTerm || item.fixedBeginTerm == 0) {
|
|
var pre = "";
|
|
if (item.fixedBeginTerm == 0) {
|
|
pre = "立即生效";
|
|
} else {
|
|
pre = item.fixedBeginTerm + "天后生效";
|
|
}
|
|
var sup = "";
|
|
if (item.fixedTerm) {
|
|
sup = " 有效期" + item.fixedTerm + "天";
|
|
}
|
|
items.time = pre + sup;
|
|
}
|
|
}
|
|
|
|
items.cardTypeCn = item.cardType == "CASH" ? "代金券" : item.cardType == "DISCOUNT" ? "折扣券" : item.cardType == "GIFT" ? "兑换券" : item.cardType == "PRODUCT" ? "单品券" : "";
|
|
var content = "";
|
|
if (items.cardTypeCn == "兑换券") {
|
|
if (item.subTitle) {
|
|
content = item.subTitle
|
|
}
|
|
} else if (items.cardTypeCn == "代金券") {
|
|
var leastCost = 0;
|
|
var reduceCost = 0;
|
|
if (item.leastCost) leastCost = item.leastCost
|
|
if (item.reduceCost) reduceCost = item.reduceCost
|
|
content = "满" + leastCost + "元 减 " + reduceCost + " 元";
|
|
} else if (items.cardTypeCn == "折扣券") {
|
|
if (item.discount) {
|
|
content = item.discount + "折";
|
|
}
|
|
} else if (items.cardTypeCn == "单品券") {
|
|
if (item.grantType == '1') content = item.discount + "折"
|
|
if (item.grantType == '2') content = "满" + item.leastCost + "元 减" + item.reduceCost + "元"
|
|
}
|
|
items.content = content;
|
|
upWindowList.push(items)
|
|
items = {};
|
|
}
|
|
var showUpWindow = false;
|
|
if (upWindowList.length > 0) {
|
|
showUpWindow = true;
|
|
}
|
|
that.setData({
|
|
upWindowList: upWindowList,
|
|
showUpWindow: showUpWindow
|
|
})
|
|
}
|
|
}
|
|
}, function (err) {
|
|
wx.showModal({
|
|
title: '提示',
|
|
content: '网络链接失败',
|
|
})
|
|
}, 3)
|
|
},
|
|
receiveUpWindow: function () {
|
|
var that = this;
|
|
that.setData({
|
|
receive: false
|
|
})
|
|
var cardNo = wx.getStorageSync("memberInfo").cardNo;
|
|
var schemeId = that.data.schemeId;
|
|
card.receive(schemeId, function (success) {
|
|
var result = success.data;
|
|
that.setData({
|
|
receive: true
|
|
})
|
|
if (result.status == 1) {
|
|
that.setData({
|
|
showUpWindow: false
|
|
})
|
|
util.showSuccessMsg("领取成功快去使用吧", "none")
|
|
} else {
|
|
util.showWaring("领取失败!", "none")
|
|
}
|
|
}, function fail(err) {
|
|
console.log(err);
|
|
wx.showToast({
|
|
title: "网络连接不稳定, 请重试",
|
|
icon: "none"
|
|
})
|
|
})
|
|
},
|
|
//关闭弹窗
|
|
closeUpWindows: function () {
|
|
this.setData({
|
|
showUpWindow: false
|
|
})
|
|
card.closeUpWindow(this.data.schemeId, function (success) { }, function fail(err) {
|
|
console.log(err);
|
|
wx.showToast({
|
|
title: "网络连接不稳定, 请重试",
|
|
icon: "none"
|
|
})
|
|
})
|
|
},
|
|
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom: function () {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage: function () {
|
|
|
|
},
|
|
}) |