需求:
1如果有中奖,每个页面都要弹,有的页面不用弹(我的试货页面/订单页)
2.在没有点击确认信息之前,到任何页面刷新都是会再次弹弹框的,重新登录也会弹
3.只要确认了信息,其他页面就不会再弹了
4.如果有多个活动,第一个弹出来,点了确认信息之后,5分钟才出第二个
也就是说,你不确认信息,永远弹的都是第一个
TocheckUserAwardStatus: function() { console.log('中奖') $.get('/checkUserAwardStatus', { lang: 'chs' }, function(res) { //未中奖 if (res.code == '400') { //test $('#hideTheCoverHead').hide() $('#comfirmYouAward').hide() //未登录 } else if (res.code == '401') { $('#comfirmYouAward').hide() $('#hideTheCoverHead').hide() //已中奖 }else if (res.code == '200') { //先判断有没有在内存里面 vr.mobileSelf=$.cookie('fqcU') vr.awardId = res.data.id; var getCode = JSON.parse(localStorage.getItem(vr.mobileSelf+"0")) var confirmOrder=JSON.parse(localStorage.getItem("confirmIt" + vr.awardId)) // 中奖了但是是之前的id存在,就是同一次中奖,不弹 if (!getCode) { //如果没有弹过框,肯定是要弹的 $('#comfirmYouAward').show() $('#hideTheCoverHead').show() vr.getAwardGoodsInfo = res.data; //这里是当时弹框的时间,只要有弹框就要存时间 localStorage.setItem("time"+vr.mobileSelf, new Date().getTime()) localStorage.setItem(vr.mobileSelf+"0", JSON.stringify(vr.awardId)) $("body,html,#comfirmYouAward,#hideTheCoverHead").on('touchmove',function(e){ e.preventDefault(); //阻止默认行为 }) } if (getCode) { //第一种情况,存在id,并且是同一个,因为现在是每个页面要弹,就算存在相同的id,没有确认信息也是要弹的,所以要确保是已经确认了信息 if (getCode.indexOf(parseInt(res.data.id)) != '-1'&&(confirmOrder&&confirmOrder==(String(vr.awardId) + "confirm"))) { console.log('不显示') $('#comfirmYouAward').hide() $('#hideTheCoverHead').hide() //可能有id存在,是同一个,没有确认信息,确认了信息,但是id不是同一个 }else if(getCode.indexOf(parseInt(res.data.id)) != '-1'&&(confirmOrder!=(String(vr.awardId) + "confirm"))){ $('#comfirmYouAward').show() $('#hideTheCoverHead').show() vr.getAwardGoodsInfo = res.data; localStorage.setItem("time"+vr.mobileSelf, new Date().getTime()) localStorage.setItem(vr.mobileSelf+"0", JSON.stringify(vr.awardId)) $("body,html,#comfirmYouAward,#hideTheCoverHead").on('touchmove',function(e){ e.preventDefault(); //阻止默认行为 }) } } //存在id但是呢,里面的id与中奖的id不一样 if (getCode && getCode.indexOf(Number(res.data.id)) == '-1') { //这里需要对比一下时间,如果内存的时间,与当前的时间没有超过30分钟就不弹,否则要弹 vr.saveTime=localStorage.getItem("time"+vr.mobileSelf) if(parseInt(new Date().getTime()/1000)-parseInt(vr.saveTime/1000)>60){ console.log('超过100秒') $('#comfirmYouAward').show() $('#hideTheCoverHead').show() $("body,html,#comfirmYouAward,#hideTheCoverHead").on('touchmove',function(e){ e.preventDefault(); //阻止默认行为 }) //这里是当时弹框的时间 localStorage.setItem("time"+vr.mobileSelf, new Date().getTime()) vr.getAwardGoodsInfo = res.data; localStorage.setItem(vr.mobileSelf+"0", JSON.stringify(vr.awardId)) } } } }) },
vr.$watch('onReady', function() { vr.getPerosonInfo() if ((vr.personCenterHref.indexOf('editaddress')=='-1'&&vr.personCenterHref.indexOf('order')=='-1')&&(vr.personCenterHref.indexOf('mytry')=='-1')) { vr.TocheckUserAwardStatus() } if(vr.getAvatarCookie){ vr.getHeaderInfo() } })