var config = require("../../../config/config.js"); var app = getApp(); const Http = require("../../../utils/HttpBasics"); const util = require("../../../utils/util"); Page({ data: { data: {}, couponId: null, orderId: "", day: "", hour: "", minute: "" }, onLoad(options) { let that = this; console.log(options.id); console.log(options.targetAd); wx.showLoading({ title: "加载中..." }); if (options.flag) { this.orderFunc(); } else { Http.get({ url: config.api.couponDetail, data: { couponId: options.id, targetAd:options.targetAd } }).then(res => { console.log(res); //当前时间与优惠券下架时间做计算 var startTime = util.fmtDate(res.data.sendEndDate); console.log(startTime); var s1 = new Date(startTime.replace(/-/g, "/")); var s2 = new Date(); var runTime = parseInt((s1.getTime() - s2.getTime()) / 1000); var year = Math.floor(runTime / 86400 / 365); var runTime = runTime % (86400 * 365); var month = Math.floor(runTime / 86400 / 30); var runTime = runTime % (86400 * 30); var day = Math.floor(runTime / 86400); var runTime = runTime % 86400; var hour = Math.floor(runTime / 3600); var runTime = runTime % 3600; var minute = Math.floor(runTime / 60); var runTime = runTime % 60; var second = runTime; console.log(year, month, day, hour, minute, second); that.setData({ year: year, month: month, day: day, hour: hour, minute: minute }); console.log(that.data.day); wx.hideLoading(); that.setData({ data: res.data, couponId: options.id }); }); } }, /** * 支付订单更新 */ payOrderUpdate: (orderId, payOrderId, status, reason) => { // 支付成功 Http.post({ url: config.api.payOrderUpdate, data: { payOrderId: payOrderId, orderId: orderId, status: status, reason: reason } }) .then(res => { console.log("payOrderUpdate then", res); wx.showToast({ title: "购买成功", duration: 2500 }); }) .catch(err => { console.log("payOrderUpdate catch", err); }); }, payment: res => { var that = this; var payOrderId = "" + res.data.out_trade_no; wx.requestPayment({ timeStamp: res.timeStamp, nonceStr: res.nonceStr, package: res.package, signType: "MD5", paySign: res.paySign, success: res => { that.payOrderUpdate(that.data.orderId, payOrderId, 1); // 支付成功 console.log(res); console.log("支付成功"); wx.showToast({ title: "购买成功", duration: 2500 }); wx.navigateBack({ delta: 2 }); }, fail: res => { that.payOrderUpdate(that.data.orderId, payOrderId, 2); // 支付失败 console.log(res); console.log("支付失败"); return; }, complete: res => { console.log(res); console.log("支付完成"); var url = this.data.url; console.log("get url", url); if (res.errMsg == "requestPayment:ok") { wx.showModal({ title: "提示", content: "支付成功" }); if (url) { setTimeout(function() { wx.redirectTo({ url: "/pages" + url }); }, 2000); } else { setTimeout(() => { wx.navigateBack(); }, 2000); } } else { wx.showModal({ title: "错误提示", content: res.errMsg }); } return; } }); }, orderFunc() { var that = this; wx.showLoading({ title: "加载中..." }); if (that.data.type == 5) { // 领取 5.停车券 // TODO 选取用户下的车牌 } else { Http.post({ url: config.api.checkPhoneStatus, data: {} }) .then(res => { return Http.post({ url: config.api.orderSave, data: { couponId: that.data.couponId } }); }) .catch(err => { console.log(err); if (err.code == 11005) { // 用户手机未授权 wx.redirectTo({ url: "../../getphoneInfo/index?couponId=" + that.data.couponId }); } if (err.code == 11006) { // 用户手机已加密 wx.redirectTo({ url: "../../phoneinput/phoneinput?couponId=" + that.data.couponId }); } }) .then(res => { if (res != "undefined") { const orderId = "" + res.data.id; that.setData({ orderId: orderId }); if (res.data.payment > 0) { // 支付金额不为0 Http.post({ url: config.api.payOrderCreate, data: { orderId: orderId } }).then(res => { console.log(res); var payOrderId = "" + res.data.out_trade_no; wx.hideLoading(); //payment(res); that.payOrderUpdate(that.data.orderId, payOrderId, 1); // 支付成功 }); } else { // 免费券 that .payOrderUpdate(orderId, "0", 1) // 支付成功 .then(res => { wx.showToast({ title: "支付成功", duration: 3000 }); }); } } }) .catch(err => { console.log(err); }); } } });