const app = getApp(); const navigationBarHeight = (getApp().statusBarHeight + 50) + "px"; const Http = require("../../../utils/HttpBasics"); const config = require("../../../config/config"); const util = require("../../../utils/util"); const QR = require("../../../utils/memberqrcode.js"); Page({ data: { showIdFalg:false, navigationBarHeight, couponorderstatus:"", quancode:"", setInter:"", validStartDate:"", validEndDate:"", pickStartDate:"", pickEndDate:"", expiredTime:"", updateDate:"", createDate:"", code:"", data:{ }, showhieRq:false, dynamicRq:"", expiredSeconds:0, templTiem:"", curHtml:"", }, showId(){ let this_ = this; if(!this_.data.showIdFalg){ tt.showModal({ // title: "查看券码", content: "是否查看完整券码", success(res) { if (res.confirm) { console.log("confirm, continued"); this_.setData({ showIdFalg:true }) } else if (res.cancel) { //取消 console.log("cancel, cold"); } else { // what happend? } }, fail(err) { console.log(`showModal 调用失败`, err); }, }); }else{ this.setData({ showIdFalg:false }) } }, getHtml(couponOrderId) { Http.get({ url: config.api.couponHtmlDetailForPkg, data: { couponOrderId: couponOrderId } }).then(res => { console.log(res) if (res.code == 200 && res.data.html) { this.setData({ curHtml: decodeURI(res.data.html) }) // app.globalData.curHtml = this.data.curHtml; // console.log(app.globalData.curHtml) } }) }, onLoad: function (options) { let that = this; console.log(options); that.setData({ code: options.quancode, codeS: options.quancode.slice(0,4)+`******`+options.quancode.slice(14), couponorderstatus: options.couponorderstatus, validStatus:options.validStatus }); if(options.couponorderstatus==0&&options.validStatus!=0){ that.setRq()//动态二维码 //这个方法必须在拿到 options.quancode 后调用 } //初始数据不能延时收到写一边 Http.get({ url: config.api.couponOrderDetail, data: { couponOrderId: options.quancode } }).then(res => { that.setData({ couponorderstatus: res.data.couponOrderStatus, data: res.data, }); that.setData({ expiredTime: util.formatTime(that.data.data.expiredTime, "yyyy-MM-dd hh:mm:ss"), updateDate: util.formatTime(that.data.data.updateDate, "yyyy-MM-dd hh:mm:ss"), createDate: util.formatTime(that.data.data.createDate, "yyyy-MM-dd hh:mm:ss") }); if (res.data.contentType != undefined && res.data.contentType == 1) { //获取图文展示详情html that.setData({ contentType: res.data.contentType }) that.getHtml(options.quancode); } if (that.data.data.validStartDate && that.data.data.validEndDate) { that.setData({ validStartDate: util.formatTime(that.data.data.validStartDate, "yyyy-MM-dd hh:mm:ss"), validEndDate: util.formatTime(that.data.data.validEndDate, "yyyy-MM-dd hh:mm:ss"), // pickStartDate: util.formatTime(res.data.pickStartDate, "yyyy-MM-dd hh:mm:ss"), // pickEndDate: util.formatTime(res.data.pickEndDate, "yyyy-MM-dd hh:mm:ss"), }) } }).catch(err => { tt.showToast({ title: err.message?err.message:err.data, icon: 'none', duration: 2000, mask: false }); }) // //获得优惠券的详情 let setInter = setInterval(function () { if ( options.quancode && that.data.couponorderstatus == 0 ) { Http.get({ url: config.api.couponOrderDetail, data: { couponOrderId: options.quancode } }).then(res => { that.setData({ couponorderstatus: res.data.couponOrderStatus, data: res.data, }); that.setData({ expiredTime: util.formatTime(that.data.data.expiredTime, "yyyy-MM-dd hh:mm:ss"), updateDate: util.formatTime(that.data.data.updateDate, "yyyy-MM-dd hh:mm:ss"), createDate: util.formatTime(that.data.data.createDate, "yyyy-MM-dd hh:mm:ss") }); if (that.data.data.validStartDate && that.data.data.validEndDate) { that.setData({ validStartDate: util.formatTime(that.data.data.validStartDate, "yyyy-MM-dd hh:mm:ss"), validEndDate: util.formatTime(that.data.data.validEndDate, "yyyy-MM-dd hh:mm:ss"), // pickStartDate: util.formatTime(res.data.pickStartDate, "yyyy-MM-dd hh:mm:ss"), // pickEndDate: util.formatTime(res.data.pickEndDate, "yyyy-MM-dd hh:mm:ss"), }) } }).catch(err => { tt.showToast({ title: err.message?err.message:err.data, icon: 'none', duration: 2000, mask: false }); }) } }, 2000); that.setData({ setInter:setInter }) }, setRq(){ let _this = this _this.setData({ showhieRq: false, }) Http.get({//获取动态二维码 url: config.api.dynamicId, data: { couponOrderId: _this.data.code } }).then(res => { console.log(res, "res") _this.setData({ dynamicRq: res.data.dynamicId, expiredSeconds: res.data.expiredSeconds }) let url = JSON.stringify({ END: "C", TYPE: "couponorder", ID: _this.data.dynamicRq }) if(res.data.expiredSeconds==0){ }else{ let inre = setInterval(()=>{ if(_this.data.expiredSeconds>1){ _this.setData({ expiredSeconds: _this.data.expiredSeconds-1 }) console.log("有效",_this.data.expiredSeconds) }else{ console.log("无效", _this.data.expiredSeconds) clearInterval(_this.data.templTiem) _this.setData({ showhieRq:true }) } },1000) _this.setData({ templTiem:inre }) } // util.qrcode("qrcode", url, 350, 350); _this.createQrCode(url, "qrcode", 210, 210); }).catch(err => { tt.showToast({ title: err.message, icon: 'none', duration: 4000, mask: false }); }) }, createQrCode: function (url, canvasId, cavW, cavH) { //调用插件中的draw方法,绘制二维码图片 let that = this; QR.api.draw(url, canvasId, cavW, cavH, function (res) { that.setData({ tempFilePath: res }) }); }, onUnload: function () { let that = this; clearInterval(that.data.setInter); // clearInterval(that.data.templTiem); }, onHide: function () { let that = this; clearInterval(that.data.setInter); // clearInterval(that.data.templTiem); }, })