這篇文章主要介紹了紅米手機搶購時返回的js代碼,制作紅米搶購軟件時可以用到,,需要的朋友可以參考下
以下就是小米搶購時的JS代碼,分析一下就可以用它實現一個紅米搶購軟件,大家根據這個代碼實現自己想要的功能吧! 代碼如下: hdcontrol({"stime":1381645438,"status":{"allow":false,"miphone":{"hdstart":false,"hdstop":false,"hdurl":"","duration":null},"mibox":{"hdstart":false,"hdstop":false,"hdurl":"","duration":null}}}) 代碼如下: function forNum(a){ return 10>a?"0"+a:a } function countdown(a,b){ varc=newDate(b).getTime()/1e3, d=c-a, e=parseInt(d%60), f=parseInt(d/60%60),g=parseInt(d/3600%24), h=parseInt(d/3600/24), i=[e.toString(), f.toString(), g.toString()]; return0>=d?["00小時00分00秒",!0]:h>0?(window._timestr=h+"天"+forNum(i[2])+"時"+forNum(i[1])+"分"+forNum(i[0])+"秒",[h+"<span>天</span>"+forNum(i[2])+"<span>時</span>"+forNum(i[1])+"<span>分</span>"+forNum(i[0])+"<span>秒</span>",!1]):(window._timestr=forNum(i[2])+"時"+forNum(i[1])+"分"+forNum(i[0])+"秒",[forNum(i[2])+"<span>時</span>"+forNum(i[1])+"<span>分</span>"+forNum(i[0])+"<span>秒</span>",!1])} functionWebEventTrigger(a,b){ try{ if(WE&&WE.trigger) return"string"!=typeofb&&(b=JSON.stringify(b)),WE.trigger(a,b) }catch(c){} return!1 } functionisApp(){ try{ if(WE)return!0 }catch(a){} return!1 } varquickBuy={init:function(){ vara=this; this.config={}, this.config.hdurl={miphone:"m3/840410D8656D74E5F334591BD8A408A726799AEC13477D90B5E48DAD36547351/4334 F49A1EE391261005E8AC5A0C9D2FDA23BB72A2D20AB3F58343496FD4983D/tip_SaledOverAll.html",mibo x:"tv/B1CF7B57BFEAE1EBC37700694C123D894C668BF11F6F25D59311FD36942B3D6A/130F1B18D11F53 CA1D0147B24E926C5A9B7676E57BE3D47959D6557545E8A339/tip_SaledOverAll.html" }, this.config.mode="", this.mode={miphone:!1,mibox:!1}, this.modeModals={miphone:"#modal_miphone",mibox:"#modal_mibox"}, this.modeCookies={miphone:"xm_hd_so_phone",mibox:"xm_hd_so_box"}, this.config.startDate=+newDate("10/15/201312:00:00"), this.maskLoad=$("#maskLoad"), this.config.minSignTime=120, this.results=null, this.timer=null, this.timeCount=Math.floor(Math.abs(10*Math.random()-5))+5; varb=!0; for(varcinthis.mode) $.cookie(this.modeCookies[c])||(b=!1),$.cookie(this.modeCookies[c])&&this.saleOut(); b||($.cookie("xm_diff_hd")?(this.config.serverTime=this.localTime()+parseInt($.cookie("xm_diff_hd"),10),this.config.serverTime >=parseInt(this.config.startDate/1e3,10)?$.cookie("xm_hd_so_phone")&&$.cookie("xm_hd_so_box")||this.getData(!0,function(){a.goBuy()}):this.launch()):this.getData())},getData:function(a,b){ varc=this,a=a||null; b&&(b=b), $.ajax({ url:"http://tc.hd.xiaomi.com/hdget", dataType:"jsonp", jsonpCallback:"hdcontrol", timeout:7e3, beforeSend:function(){ c.maskLoad.css("display","block")}, error:function(){ c.maskLoad.css("display","none"), alert("服務器壓力山大,請您重新刷新頁面!") }, success:function(d){ if(c.maskLoad.css("display","none"),"undefined"==typeofd) returnalert("服務器壓力山大,請您重新刷新頁面!"), void0; if(c.results=d,a||(c.config.serverTime=c.results.stime),!$.cookie("xm_diff_hd")){ vare=parseInt(c.config.serverTime-c.localTime(),10); $.cookie("xm_diff_hd",e,{ path:"/", domain:".xiaomi.com", expires:1 }) } if(a){ c.initialData(); for(varfinc.mode) if(c.config[f].hdstart===!1&&c.config[f].hdstop===!0){ varg=c.modeCookies[f]; $.cookie(g,1,{path:"/",domain:".xiaomi.com",expires:1}), c.saleOut() }elseb&&b.call() } a||c.launch() }})}, initialData:function(){ this.config.allow=this.results.status.allow, this.config.mibox=this.results.status.mibox, this.config.miphone=this.results.status.miphone }, launch:function(){ this.timeStart(), this.countdown() }, timeStart:function(){ vara=this, b=1e3*a.config.serverTime, c=a.config.startDate, d=c-1e3*60*a.config.minSignTime; b>=d&&c>b&&!isApp()? $.cookie("userId")? ($("#view_button").css("visibility","hidden"), $("#purchase_btn_1").html('<aclass="btn_buy"href="http://bbs.xiaomi.cn/thread-8205768-1-1.html">活動詳情</a>'), $("#purchase_btn_2").html('<aclass="btn_buybtn_02"href="javascript:;">已經登錄</a>')):a.toLogin():b>=c&&a.toBuy() }, toLogin:function(){ $("#view_button").css("visibility","hidden"), $("#purchase_btn_1").html('<aclass="btn_buy"href="http://bbs.xiaomi.cn/thread-8205768-1-1.html">活動詳情</a>'), $("#purchase_btn_2").html('<aclass="btn_buybtn_02"href="javascript:;">提前登錄</a>'), $("#purchase_btn_2").find(".btn_02").on("click",function(){ WebEventTrigger("login",null)||(window.location.href="http://m.xiaomi.com/mshopapi/index.php/v1/authorize/sso?client_id=180100031013&callback="+encodeURIComponent(window.location.href))} )}, countdown:function(){ vara=this, b=null, c=a.config.startDate; b=a.config.serverTime?a.config.serverTime:parseInt(+newDate/1e3,10); vard=c-1e3*60*a.config.minSignTime, e=setInterval(function(){ varf=countdown(b,c); f[1]?(clearInterval(e),$("#countdown").css("display","none"),a.toBuy()):(1e3*b!=d||isApp()||($.cookie("userId")?($("#view_button").css("visibility","hidden"), $("#purchase_btn_1").html('<aclass="btn_buy"href="http://bbs.xiaomi.cn/thread-8205768-1-1.html">活動詳情</a>'), $("#purchase_btn_2").html('<aclass="btn_buy"href="javascript:;">已經登錄</a>')):a.toLogin()),b++), $("#countdown").html(f[0])},1e3)}, toBuy:function(){ vara=this; a.goBuy(); varb=a.modeModals[a.config.mode]; $(b).find(".close").on("click",function(){ $(b).css("display","none"), window.clearTimeout(a.timer), a.timer=null})}, saleOut:function(){ vara={miphone:"#purchase_btn_2",mibox:"#purchase_btn_1"}, b={miphone:"http://t.hd.xiaomi.com/r/?_a=payment_check&_m=1",mibox:"http://m.xiaomi.com/index.html#ac=home&op=addcart&product_id=2505"}, c={miphone:"支付小米手機3",mibox:"支付小米電視"}; for(vardinthis.mode) $.cookie(this.modeCookies[d])&&($(a[d]).html('<aclass="btn_buy"href="'+b[d]+'">'+c[d]+"</a>"), $(this.modeModals[d]).is(":visible")&&$(this.modeModals[d]).find(".close").click())}, localTime:function(){ vara=parseInt(+newDate/1e3,10); returna }, toProcess:function(a){ varb=this, c=b.timer, d=b.timeCount||10,e=$(b.modeModals[a]).find(".re_countdown"), f=$(b.modeModals[a]).find(".modal_btn"), g=function(){0==d?(f.html('<aclass="into_buy_btn"href="javascript:;">進入活動</a>'), b.toBuyGo(b.config.mode), c&&window.clearTimeout(c), c=null):(e.html("("+d+")"), d--, b.timer=window.setTimeout(function(){g()},1e3))}; c&&window.clearTimeout(c),g()}, goBuy:function(){ vara=this, b={miphone:"購買小米手機3",mibox:"購買小米電視"}, c={miphone:"#purchase_btn_2",mibox:"#purchase_btn_1"}; for(vardina.mode) $.cookie(a.modeCookies[d])||($(c[d]).html('<aclass="btn_buybtn_buy_go"data-type="'+d+'"href="javascript:;">'+b[d]+"</a>"), $(c[d]).is(":hidden")&&$(c[d]).css("display","block")); $("#open_button").find(".btn_buy_go").on("click",function(){a.mode[$(this).attr("data-type")]=!0; varb=a.config.mode=$(this).attr("data-type"); if($.cookie("userId"))a.getData(!0,function(){ $(a.modeModals[b]).css("display","block"), $(a.modeModals[b]).find(".close").on("click",function(){ $(a.modeModals[b]).css("display","none"),window.clearTimeout(a.timer),a.timer=null}),a.toProcess(b)}); else{if(WebEventTrigger("login",null))return; window.location.href="http://m.xiaomi.com/mshopapi/index.php/v1/authorize/sso?client_id=180100031013&callback="+encodeURIComponent(window.location.href)}})}, toBuyGo:function(a){ varb=this; window.clearTimeout(b.timer), b.timer=null, $(b.modeModals[a]).find(".modal_btn").find(".into_buy_btn").on("click",function(c){c.preventDefault(),b .getData(!0,function(){ if($(b.modeModals[a]).css("display","block"),b.config.allow)if(b.config[a].hdurl){ varc="http://t.hd.xiaomi.com/s/"+b.config[a].hdurl+"&_m=1"; window.setTimeout(function(){window.location.href=c},500) }else{ vard="http://p.www.xiaomi.com/m/activities/open/"+b.config.hdurl[a]; window.setTimeout(function(){window.location.href=d},500) }elseif( b.config[a].hdstart===!1&&b.config[a].hdstop===!0){ vard="http://p.www.xiaomi.com/m/activities/open/"+b.config.hdurl[a]; window.setTimeout(function(){window.location.href=d},500) }else$(b.modeModals[a]).find(".modal_btn").html('<aclass="re_enter"href="javascript:;">重新進入</a>'), b.toProcess(a) })})}};