中奖弹框代码~

需求:

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

     
    
    })
原文地址:https://www.cnblogs.com/antyhouse/p/9076106.html