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 () { }, })