From aab4cf5f3b23178c264435a07523e0b5845da8b9 Mon Sep 17 00:00:00 2001 From: SilenceLeo Date: Mon, 1 Sep 2014 22:18:42 +0800 Subject: [PATCH 1/3] station his --- Mobile12306New/css/css.css | 14 ++++++---- Mobile12306New/js/check_station.js | 43 +++++++++++++++++++++--------- Mobile12306New/js/js.min.js | 15 ++++++----- 3 files changed, 47 insertions(+), 25 deletions(-) diff --git a/Mobile12306New/css/css.css b/Mobile12306New/css/css.css index a4a0680..949576a 100644 --- a/Mobile12306New/css/css.css +++ b/Mobile12306New/css/css.css @@ -28,7 +28,8 @@ input[type=checkbox], .his_list a:after, .icon_user, .icon_clock, -icon_user2, +.icon_user2, +.icon_remove_b, .search_ipt{background-image: url(../images/icons.png); background-repeat:no-repeat; background-size:24px auto;} input[type=checkbox]{-webkit-appearance:none; border:#b2b2b2 solid 2px; width:24px; height:24px; overflow:hidden; vertical-align:middle; border-radius:3px; margin:-3px 6px 0 0; background-color: transparent; background-position:1000px 1000px; position:relative;} @@ -85,6 +86,8 @@ input[type=radio]:checked:after{content:''; display:block; width:12px; height:12 .icon_clock{display:inline-block; width:14px; height:14px; overflow:hidden; background-position:0 -600px; vertical-align:middle;} +.icon_remove_b{ display:inline-block; width:16px; height:16px; overflow:hidden; background-position:0 -500px; vertical-align:middle;} + .icon_remove{display:block; width:13px; height:13px; display:inline-block; position:relative;} .icon_remove:before, .icon_remove:after{ content:''; position:absolute; width:17px; height:1px; left:50%; margin:-1px 0 0 -9px; background:#787878; top:50%;} @@ -256,16 +259,17 @@ input[type=radio]:checked:after{content:''; display:block; width:12px; height:12 .search_input{width:100%; border:0; font-size:0.9375rem; height:29px; padding:5px 0; line-height:20px;-webkit-appearance: none;-webkit-appearance:none; vertical-align:top; background:none; color:#FFF;} .search_input::-webkit-input-placeholder {color:#fa8c13;} -.station_list{} +.station_list{ overflow: hidden;} .station_list:after{ content: ''; display: block; overflow: hidden; visibility: hidden; clear: both} -.station_list li{float:left; display:inline; width:33.333333%; font-size:1.0625rem; position:relative; border-bottom:#cacaca solid 1px;} -.station_list li:nth-last-child(1), +.station_list li{float:left; display:inline; width:33.333333%; font-size:1.0625rem; position:relative; border-bottom:#cacaca solid 1px; margin-bottom:-1px;} +/*.station_list li:nth-last-child(1), .station_list li:nth-last-child(2), -.station_list li:nth-last-child(3){border-bottom:0;} +.station_list li:nth-last-child(3){border-bottom:0;}*/ .station_list li:after{content:''; display:block; right:0; top:50%; -webkit-transform:translate3d(0,-50%,0); border-right: #cacaca solid 1px; height:.9em; position:absolute;} .station_list li:nth-child(3n):after{ display:none;} .station_list li a{display: block; line-height:2.617647058823529em; text-align:center; color:#787878;} #search_station .form_title{ text-align:center;} +.title_right{float:right; padding:0 10px;} .suggest{position:absolute; left:0; top:45px; right:0; padding:0 15px; background:#FFF; display:none;} .suggest ul li{border-bottom:#ddd solid 1px;} diff --git a/Mobile12306New/js/check_station.js b/Mobile12306New/js/check_station.js index 1f4fd35..f579055 100644 --- a/Mobile12306New/js/check_station.js +++ b/Mobile12306New/js/check_station.js @@ -77,22 +77,32 @@ var CheckStaion = { CheckStaion.hotList = WIN["favorite_names"].substr(1).split('@'); }, + getHisHmtl : function(){ + var his = JSON.parse(localStorage.getItem('stationHis')), + sp = [], + html = ''; + if(!his || his.length == 0){ + return ''; + } + html += '
最近查找
' + html += '
'; + html += '
'; + return html; + }, setHtml: function() { var html = '
'; - var his = JSON.parse(localStorage.getItem('stationHis')), - sp = []; - if(!!his && his.length > 0){ - html += '
最近查找
' - html += '
'; - html += '
    '; - - for (var i = 0; i < his.length; i++) { - sp = his[i].split('|'); - html += '
  • '+sp[1]+'
  • '; - }; + - html += '
'; - } + html += '
'; + html += CheckStaion.getHisHmtl(); + html += '
'; //
  • 上海
  • \ //
  • 天津
  • \ if (CheckStaion.hotList.length > 0) { @@ -159,10 +169,17 @@ var CheckStaion = { localStorage.setItem('stationHis',JSON.stringify(stationHis)); + $('#station_hisbox').html(CheckStaion.getHisHmtl()); + $('#station_suggest ul').html(''); $('#station_suggest').hide(); $('#station_search').val(''); }); + + $('[data-fn="remove_his"]').live('click',function(){ + $('#station_hisbox').html(''); + localStorage.removeItem('stationHis'); + }); }, showSuggest: function(list) { if (!list || list.length == 0) { diff --git a/Mobile12306New/js/js.min.js b/Mobile12306New/js/js.min.js index 0ef0a05..865c19f 100644 --- a/Mobile12306New/js/js.min.js +++ b/Mobile12306New/js/js.min.js @@ -148,13 +148,14 @@ DateComponent.prototype.monthNext=function(){this.pageCurMonth++;11this.maxDate.date.getTime())return this.curDate;this.curDate=a;this.pageCurDate=new Date(this.curDate.getFullYear(),this.curDate.getMonth(),1,0,0,0);this.pageCurMonth=this.pageCurDate.getMonth();this.setBasic();return this.curDate};DateComponent.prototype.setSection=function(a,b){this.minDate=a;this.maxDate=this.minDate.addDays(b)}; DateComponent.prototype.setMinDay=function(a){this.minDate=a};DateComponent.prototype.setMaxDay=function(a){this.maxDate=a};var CheckStaion={runing:!1,objs:{a:[],b:[],c:[],d:[],e:[],f:[],g:[],h:[],i:[],j:[],k:[],l:[],m:[],n:[],o:[],p:[],q:[],r:[],s:[],t:[],u:[],v:[],w:[],x:[],y:[],z:[]},objsZh:{},hotList:[],zhObj:{},CodeObj:{},callback:null,init:function(){if(CheckStaion.runing)return!1;CheckStaion.runing=!0;CheckStaion.formatStation();CheckStaion.setHtml();CheckStaion.bindEvent()},formated:!1,formatStation:function(){if(!CheckStaion.formated){CheckStaion.formated=!0;CheckStaion.names=WIN.station_names.substr(1);CheckStaion.stationList= -CheckStaion.names.split("@");for(var a="",b=[],c=0;c\u6700\u8fd1\u67e5\u627e
    ',a=a+'
    "}if(0\u70ed\u95e8
      ';d=0;for(c=CheckStaion.hotList.length;d< -c;d++)b=CheckStaion.hotList[d].split("|"),a+='
    • '+b[1]+"
    • ";a+='
      '}$("body").append(a)},show:function(){$("#search_station").addClass("fixed_box_show")},hide:function(){$("#search_station").removeClass("fixed_box_show")},bindEvent:function(){$("#station_cancel").on("click",function(){CheckStaion.hide();CheckStaion.cancelCallback&&CheckStaion.cancelCallback()}); -$("#station_search").on("input",function(){var a=$(this).val();$.trim(a)?CheckStaion.showSuggest(CheckStaion.getSuggestList($.trim(a).toLowerCase())):($("#station_suggest ul").html(""),$("#station_suggest").hide())});$("#search_station [data-code]").live("click",function(a,b){var c=$(this).attr("title"),d=$(this).attr("data-code"),e=d+"|"+c,f=JSON.parse(localStorage.getItem("stationHis"));CheckStaion.callback&&CheckStaion.callback(c,d);f||(f=[]);-1!=f.indexOf(e)&&f.splice(f.indexOf(e),1);f.unshift(e); -9'+a[c][1]+"";$("#station_suggest ul").html(b);$("#station_suggest").show()}},getSuggestList:function(a){return!a? -[]:/^[\u4E00-\u9FA5]+$/.test(a[0])?CheckStaion.searchKeyZh(a):CheckStaion.searchKey(a)},searchKey:function(a){if(!CheckStaion.objs[a[0]])return[];var b=CheckStaion.objs[a[0]],c=[],c=[],d=[],e=[];if(0==a.length)return b;for(var f=0,g=b.length;fparseInt(b[5])?1:-1}};var Login={init:function(){if(0!=$("#login_page").length){var a=new Date;$("#interval").html(a.format("M\u6708dd\u65e5")+"-"+a.addDays(19).format("M\u6708d\u65e5"));cn12306.recode();$("#randcode").keyup(function(){this.value=this.value.replace(/[^0-9a-zA-Z]/g,"")});$("#loginForm").submit(function(a){var c={username:$("[name=username]",this).val(),password:$("[name=password]",this).val(),randcode:$("[name=randcode]",this).val()};if(c.username)if(c.password){if(!c.randcode)return Public.toast("\u8bf7\u8f93\u5165\u9a8c\u8bc1\u7801"), +CheckStaion.names.split("@");for(var a="",b=[],c=0;c\u6700\u8fd1\u67e5\u627e
      ';c+='
      "},setHtml:function(){var a;a='
      '+ +CheckStaion.getHisHmtl();a+="
      ";if(0\u70ed\u95e8
        ';for(var c=0,d=CheckStaion.hotList.length;c'+b[1]+"";a+='
        '}$("body").append(a)},show:function(){$("#search_station").addClass("fixed_box_show")}, +hide:function(){$("#search_station").removeClass("fixed_box_show")},bindEvent:function(){$("#station_cancel").on("click",function(){CheckStaion.hide();CheckStaion.cancelCallback&&CheckStaion.cancelCallback()});$("#station_search").on("input",function(){var a=$(this).val();$.trim(a)?CheckStaion.showSuggest(CheckStaion.getSuggestList($.trim(a).toLowerCase())):($("#station_suggest ul").html(""),$("#station_suggest").hide())});$("#search_station [data-code]").live("click",function(a,b){var c=$(this).attr("title"), +d=$(this).attr("data-code"),e=d+"|"+c,f=JSON.parse(localStorage.getItem("stationHis"));CheckStaion.callback&&CheckStaion.callback(c,d);f||(f=[]);-1!=f.indexOf(e)&&f.splice(f.indexOf(e),1);f.unshift(e);9'+a[c][1]+"";$("#station_suggest ul").html(b);$("#station_suggest").show()}},getSuggestList:function(a){return!a?[]:/^[\u4E00-\u9FA5]+$/.test(a[0])?CheckStaion.searchKeyZh(a):CheckStaion.searchKey(a)},searchKey:function(a){if(!CheckStaion.objs[a[0]])return[]; +var b=CheckStaion.objs[a[0]],c=[],c=[],d=[],e=[];if(0==a.length)return b;for(var f=0,g=b.length;fparseInt(b[5])?1:-1}};var Login={init:function(){if(0!=$("#login_page").length){var a=new Date;$("#interval").html(a.format("M\u6708dd\u65e5")+"-"+a.addDays(19).format("M\u6708d\u65e5"));cn12306.recode();$("#randcode").keyup(function(){this.value=this.value.replace(/[^0-9a-zA-Z]/g,"")});$("#loginForm").submit(function(a){var c={username:$("[name=username]",this).val(),password:$("[name=password]",this).val(),randcode:$("[name=randcode]",this).val()};if(c.username)if(c.password){if(!c.randcode)return Public.toast("\u8bf7\u8f93\u5165\u9a8c\u8bc1\u7801"), !1}else return Public.toast("\u8bf7\u8f93\u5165\u767b\u5f55\u5bc6\u7801"),!1;else return Public.toast("\u8bf7\u8f93\u5165\u7528\u6237\u540d"),!1;Login.formData=c;SKIPVC?Login.submitLogin():Login.getRandCode();a.preventDefault();return!1});localStorage.getItem("useraccount")?(Login.formData=JSON.parse(localStorage.getItem("useraccount")),$("#loginForm [name=username]").val(Login.formData.username),$("#loginForm [name=password]").val(Login.formData.password),cn12306.isUserLogined(function(){sessionStorage.setItem("user", Login.formData.username);Public.toast("\u767b\u5f55\u6210\u529f\uff0c\u6b63\u5728\u8fdb\u5165\u8ba2\u7968\u9875\u9762\uff0c\u8bf7\u7a0d\u7b49 \u2764");setTimeout(function(){location.href="query.html"},1E3)})):sessionStorage.clear()}},getRandCode:function(){cn12306.checkRandCode("sjrand",Login.formData.randcode,function(a){"Y"!==a.data?(cn12306.recode(),Public.toast("\u9a8c\u8bc1\u7801\u4e0d\u6b63\u786e\uff01")):Login.submitLogin(a)},function(a,b){cn12306.recode();Public.toast("\u6821\u9a8c\u9a8c\u8bc1\u7801\u5931\u8d25")}, "login/init")},formData:null,submitLogin:function(){bootStrap.post("login/loginAysnSuggest",null,{"loginUserDTO.user_name":Login.formData.username,"userDTO.password":Login.formData.password,randCode:Login.formData.randcode},"login/init").done(function(a){a&&a.data&&"Y"===a.data.loginCheck?Login.userPostLogin():(a=(a.messages||["\u672a\u77e5\u9519\u8bef"]).join(";"),cn12306.recode(),-1!=a.indexOf("\u767b\u5f55\u540d")?($("#username").focus(),Public.toast("\u7528\u6237\u540d\u8f93\u5165\u9519\u8bef\u3002")): From 28ea169cb9e8cdc25d24f6e6fa3b1eb3cd889143 Mon Sep 17 00:00:00 2001 From: SilenceLeo Date: Tue, 2 Sep 2014 12:03:50 +0800 Subject: [PATCH 2/3] query --- Mobile12306New/js/js.min.js | 117 ++++++++++++++------------------- Mobile12306New/js/login.js | 42 +++++++----- Mobile12306New/js/public.js | 5 +- Mobile12306New/js/run_query.js | 33 +++++++--- 4 files changed, 104 insertions(+), 93 deletions(-) diff --git a/Mobile12306New/js/js.min.js b/Mobile12306New/js/js.min.js index 865c19f..1e282ad 100644 --- a/Mobile12306New/js/js.min.js +++ b/Mobile12306New/js/js.min.js @@ -1,20 +1,4 @@ -function FastClick(a){var b,c=this;this.trackingClick=!1;this.trackingClickStart=0;this.targetElement=null;this.lastTouchIdentifier=this.touchStartY=this.touchStartX=0;this.touchBoundary=10;this.layer=a;if(!a||!a.nodeType)throw new TypeError("Layer must be a document node");this.onClick=function(){return FastClick.prototype.onClick.apply(c,arguments)};this.onMouse=function(){return FastClick.prototype.onMouse.apply(c,arguments)};this.onTouchStart=function(){return FastClick.prototype.onTouchStart.apply(c, -arguments)};this.onTouchEnd=function(){return FastClick.prototype.onTouchEnd.apply(c,arguments)};this.onTouchCancel=function(){return FastClick.prototype.onTouchCancel.apply(c,arguments)};FastClick.notNeeded(a)||(this.deviceIsAndroid&&(a.addEventListener("mouseover",this.onMouse,!0),a.addEventListener("mousedown",this.onMouse,!0),a.addEventListener("mouseup",this.onMouse,!0)),a.addEventListener("click",this.onClick,!0),a.addEventListener("touchstart",this.onTouchStart,!1),a.addEventListener("touchend", -this.onTouchEnd,!1),a.addEventListener("touchcancel",this.onTouchCancel,!1),Event.prototype.stopImmediatePropagation||(a.removeEventListener=function(b,c,f){var g=Node.prototype.removeEventListener;"click"===b?g.call(a,b,c.hijacked||c,f):g.call(a,b,c,f)},a.addEventListener=function(b,c,f){var g=Node.prototype.addEventListener;"click"===b?g.call(a,b,c.hijacked||(c.hijacked=function(a){a.propagationStopped||c(a)}),f):g.call(a,b,c,f)}),"function"===typeof a.onclick&&(b=a.onclick,a.addEventListener("click", -function(a){b(a)},!1),a.onclick=null))}FastClick.prototype.deviceIsAndroid=0c.offsetHeight){b=c;a.fastClickScrollParent=c;break}c=c.parentElement}while(c)}b&&(b.fastClickLastScrollTop=b.scrollTop)};FastClick.prototype.getTargetElementFromEventTarget=function(a){return a.nodeType===Node.TEXT_NODE?a.parentNode:a}; -FastClick.prototype.onTouchStart=function(a){var b,c,d;if(1a.timeStamp-this.lastClickTime&&a.preventDefault();return!0};FastClick.prototype.touchHasMoved=function(a){a=a.changedTouches[0];var b=this.touchBoundary;return Math.abs(a.pageX-this.touchStartX)>b||Math.abs(a.pageY-this.touchStartY)>b?!0:!1};FastClick.prototype.findControl=function(a){return void 0!==a.control?a.control:a.htmlFor?document.getElementById(a.htmlFor):a.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea")}; -FastClick.prototype.onTouchEnd=function(a){var b,c,d;d=this.targetElement;if(this.touchHasMoved(a)||300a.timeStamp-this.lastClickTime)return this.cancelNextClick=!0;this.lastClickTime=a.timeStamp;b=this.trackingClickStart;this.trackingClick=!1;this.trackingClickStart=0;this.deviceIsIOSWithBadTarget&&(d=a.changedTouches[0],d=document.elementFromPoint(d.pageX-window.pageXOffset, -d.pageY-window.pageYOffset));c=d.tagName.toLowerCase();if("label"===c){if(b=this.findControl(d)){this.focus(d);if(this.deviceIsAndroid)return!1;d=b}}else if(this.needsFocus(d)){if(100]*>/,S=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,T=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,N=/^(?:body|html)$/i,U=/([A-Z])/g,V="val css html text data width height offset".split(" "),M=A.createElement("table"),O=A.createElement("tr"),P={tr:A.createElement("tbody"),tbody:M,thead:M,tfoot:M,td:O,th:O,"*":A.createElement("div")},W=/complete|loaded|interactive/,X=/^[\w-]*$/,L={},R=L.toString,C={},J,K,Q=A.createElement("div"),Y={tabindex:"tabIndex", @@ -95,19 +79,19 @@ f),v;}finally{q&&q.removeClass(k)}return!g?n:d.uniq(a.map(n,function(a,b){return f.el.trigger("swipe"+a)}).on("touchstart MSPointerDown pointerdown",function(c){if(!(B=e(c,"down"))||d(c))q=B?c:c.touches[0],c.touches&&(1===c.touches.length&&f.x2)&&(f.x2=void 0,f.y2=void 0),l=Date.now(),w=l-(f.last||l),f.el=a("tagName"in q.target?q.target:q.target.parentNode),g&&clearTimeout(g),f.x1=q.pageX,f.y1=q.pageY,0=w&&(f.isDoubleTap=!0),f.last=l,k=setTimeout(b,750),z&&B&&z.addPointer(c.pointerId)}).on("touchmove MSPointerMove pointermove",function(a){if(!(B=e(a,"move"))||d(a))q=B? a:a.touches[0],k&&clearTimeout(k),k=null,f.x2=q.pageX,f.y2=q.pageY,p+=Math.abs(f.x1-f.x2),r+=Math.abs(f.y1-f.y2)}).on("touchend MSPointerUp pointerup",function(b){if(!(B=e(b,"up"))||d(b))k&&clearTimeout(k),k=null,f.x2&&30=Math.abs(f.y1-f.y2)?0p&&30>r?n=setTimeout(function(){var b=a.Event("tap"); b.cancelTouch=c;f.el.trigger(b);f.isDoubleTap?(f.el&&f.el.trigger("doubleTap"),f={}):g=setTimeout(function(){g=null;f.el&&f.el.trigger("singleTap");f={}},250)},0):f={}),p=r=0}).on("touchcancel MSPointerCancel pointercancel",c);a(window).on("scroll",c)});"swipe swipeLeft swipeRight swipeUp swipeDown doubleTap tap singleTap longTap".split(" ").forEach(function(b){a.fn[b]=function(a){return this.on(b,a)}})})(Zepto);var Client={deviceInfo:null,init:function(){Client.getDeviceInfo()},getDeviceInfo:function(){try{Client.deviceInfo=bootStrap.device_info,Client.deviceInfo="string"==typeof Client.deviceInfo?JSON.parse(Client.deviceInfo):Client.deviceInfo}catch(a){alert(a)}},openUrl:function(a){a&&bootStrap.open_url(a)},refreshStart:function(){try{bootStrap.refresh_start()}catch(a){alert(a)}},refreshEnd:function(){try{bootStrap.refresh_end()}catch(a){alert(a)}},successTime:null,refreshSuccess:function(){try{bootStrap.refresh_success()}catch(a){alert(a)}}};var WIN=window,DOC=document,SKIPVC=!0,hostApi="12306.cn/otsweb",baseProxyUrl="/12306/proxy.php",isMobile=!0,isIos="undefined"!=typeof window.__gChrome||"undefined"!=typeof liebaoExtentions&&liebaoExtentions.isWebviewLiebao&&liebaoExtentions.isWebviewLiebao(),isAndLiebao="undefined"!=typeof liebaoExtentions,isWebApp=!1;DOC.addEventListener("mobileSupportInitialized",function(){isWebApp=!0}); -var Public={init:function(){Public.setHis();cn12306.getLocalTrainNos();CheckStaion.formatStation();$("#randcodeimg").live("click",function(a){cn12306.recode();return!1});$(".query_box .query_bigcheck").live("click",function(){$(".query_bigcheck",$(this).parent(".query_box")).removeClass("query_bigcheck_checked");$("input[type=radio]",this).attr("checked","checked");$(this).addClass("query_bigcheck_checked")});$('[data-fn="back"]').on("click",function(){window.history.back()});$(".query_box [type=checkbox]").live("change", -function(a){if(0!=$(this).closest(".query_box").find('[type=checkbox][value="all"]').length){a=$(this).closest(".query_box").find("[type=checkbox]");var b=$(this).closest(".query_box").find('[type=checkbox][value="all"]');if("all"==$(this).val())$(this).prop("checked")?a.prop("checked",!0):a.prop("checked",!1);else{var c=$(this).closest(".query_box").find("[type=checkbox]:checked").length;b.prop("checked")&&c--;c==a.length-1?b.prop("checked",!0):b.prop("checked",!1)}}});window.onbeforeunload=function(){Client.refreshEnd()}; -window.onunload=function(){Client.refreshEnd()}},user:"",isLogin:!1,checkNum:0,checkLogin:function(a,b,c){Public.checkNum++;cn12306.isUserLogined(function(){Public.isLogin=!0;sessionStorage.getItem("user")?Public.user=sessionStorage.getItem("user"):localStorage.getItem("useraccount")&&(Public.user=JSON.parse(localStorage.getItem("useraccount")).username);Public.setHis();$("body").removeClass("nologin");$("#login_tip").hide();"function"==typeof a&&a()},function(){sessionStorage.clear();Public.isLogin= -!1;$("body").addClass("nologin");$("#login_tip").show();"function"==typeof b&&b()},function(){Public.isLogin=!1;$("body").addClass("nologin");$("#login_tip").show();2>Public.checkNum?Public.checkLogin(a,b,c):c()})},his:{querys:[],queryObjs:{}},setHis:function(){Public.his.querys=Public.getHisQuery();for(var a=0,b=Public.his.querys.length;a'+ -a+"");b=b||1500;$("body").append(c);setTimeout(function(){c.addClass("public_toast_show")},10);setTimeout(function(){c.removeClass("public_toast_show");c.on("webkitTransitionEnd",function(){c.remove()})},b)},popHtml:function(a,b){var c="",d=DOC.createElement("div"),e="";if("object"==typeof b)for(var f in b)e+=''+b[f]+"";d.className="public_layer";c+='

        '+a+"

        "+(""==e?'': -'
        '+e+"
        ")+"
        ";d.innerHTML=c;document.getElementsByTagName("body")[0].appendChild(d);setTimeout(function(){$(".public_pop",d).addClass("public_pop_show")},0);$(d).on("touchmove",function(a){a.preventDefault();return!1});return $(d)},alert:function(a,b){var c=Public.popHtml(a,{sure:"\u786e\u5b9a"});$(".public_btns a",c).on("click",function(){c.remove();"function"==typeof b&&b()})},showLoading:function(a){a=$('
        '+ -(a?"  "+a:"")+"
        ");$("body").append(a);return a},hideLoading:function(a){a?a.remove():$(".loadingBox").remove()},confirm:function(a,b,c){var d=Public.popHtml(a,{cancel:"\u53d6\u6d88",sure:c||"\u786e\u5b9a"});$(".public_btns a",d).on("click",function(){var a=$(this).attr("data-val");d.remove();"function"==typeof b&&"sure"==a&&b()})},getQueryData:function(a){a=a.replace(/^\?+/,"").replace(/&/,"&");a=a.split("&");for(var b=a.length,c={};b--;)if(item=a[b].split("="),item[0]){var d= -item[1]||"";try{d=decodeURIComponent(d)}catch(e){d=unescape(d)}c[decodeURIComponent(item[0])]=d}return c},objToQueryString:function(a){var b=[],c,d,e;for(c in a)if(d=a[c],d instanceof Array)for(e=d.length;e--;)b.push(c+"[]="+encodeURIComponent(d[e]));else b.push(c+(""===d?"":"="+encodeURIComponent(d)));return b.join("&")},hasArrObjKey:function(a,b,c){for(var d=-1,e=0,f=a.length;ePublic.calendar.maxDate.date.getTime()&&(Public.calendar.curDate=Public.calendar.maxDate,Public.calendar.checkCallback(Public.calendar.curDate)),Public.calendar.setBasic()):2==a&&(Public.calendar.maxDate= -Public.calendar._TODAY.addDays(29),Public.calendar.setBasic())})},dateChangeCallback:function(a){var b=a.date.getTime();b>=Public.calendar.minDate.date.getTime()&&b<=Public.calendar.maxDate.date.getTime()?($("#date_tip").hide(),Public.hideInnerPage("date_box"),$("#start_date").html(Public.calendar.curDate.format(Public.formatString)+" "+Public.calendar.curDate.day(3)),$("#start_date_val").val(Public.calendar.curDate.format("yyyy-MM-dd"))):(b=$("a.cur",Public.calendar.wrap).offset(),$("#date_tip").css({left:b.left, -top:b.top,display:"block"}).html("

        "+a.format("M\u6708d\u65e5")+'\u4e0d\u5728\u9884\u552e\u671f

        \u9884\u7ea6\u63d0\u9192'),0.75b.left/window.innerWidth?$("#date_tip").attr("class","tip_small tip_left"):$("#date_tip").attr("class","tip_small"))}};var Util={isImageFile:function(a){a=a.substring(a.lastIndexOf("."),a.length).toLowerCase();return".bmp"==a||".png"==a||".jpg"==a||".gif"==a},isEmpty:function(a,b,c){if(!a[b]){with($("#"+b).addError())0=b)&&(null==c||a<=c)},convertNumberToString:function(a,b){a=""+a;for(var c=[],d=0;dPublic.checkNum?Public.checkLogin(a,b,c):c()})},his:{querys:[],queryObjs:{}},setHis:function(){Public.his.querys=Public.getHisQuery();for(var a=0,b=Public.his.querys.length;a'+a+"");b=b||1500;$("body").append(c);setTimeout(function(){c.addClass("public_toast_show")}, +10);setTimeout(function(){c.removeClass("public_toast_show");c.on("webkitTransitionEnd",function(){c.remove()})},b)},popHtml:function(a,b){var c="",d=DOC.createElement("div"),e="";if("object"==typeof b)for(var f in b)e+=''+b[f]+"";d.className="public_layer";c+='

        '+a+"

        "+(""==e?'':'
        '+e+"
        ")+"
        ";d.innerHTML= +c;document.getElementsByTagName("body")[0].appendChild(d);setTimeout(function(){$(".public_pop",d).addClass("public_pop_show")},0);$(d).on("touchmove",function(a){a.preventDefault();return!1});return $(d)},alert:function(a,b){var c=Public.popHtml(a,{sure:"\u786e\u5b9a"});$(".public_btns a",c).on("click",function(){c.remove();"function"==typeof b&&b()})},showLoading:function(a){a=$('
        '+(a?"  "+a:"")+"
        "); +$("body").append(a);return a},hideLoading:function(a){a?a.remove():$(".loadingBox").remove()},confirm:function(a,b,c){var d=Public.popHtml(a,{cancel:"\u53d6\u6d88",sure:c||"\u786e\u5b9a"});$(".public_btns a",d).on("click",function(){var a=$(this).attr("data-val");d.remove();"function"==typeof b&&"sure"==a&&b()})},getQueryData:function(a){a=a.replace(/^\?+/,"").replace(/&/,"&");a=a.split("&");for(var b=a.length,c={};b--;)if(item=a[b].split("="),item[0]){var d=item[1]||"";try{d=decodeURIComponent(d)}catch(e){d= +unescape(d)}c[decodeURIComponent(item[0])]=d}return c},objToQueryString:function(a){var b=[],c,d,e;for(c in a)if(d=a[c],d instanceof Array)for(e=d.length;e--;)b.push(c+"[]="+encodeURIComponent(d[e]));else b.push(c+(""===d?"":"="+encodeURIComponent(d)));return b.join("&")},hasArrObjKey:function(a,b,c){for(var d=-1,e=0,f=a.length;ePublic.calendar.maxDate.date.getTime()&&(Public.calendar.curDate=Public.calendar.maxDate,Public.calendar.checkCallback(Public.calendar.curDate)),Public.calendar.setBasic()):2==a&&(Public.calendar.maxDate=Public.calendar._TODAY.addDays(29),Public.calendar.setBasic())})}, +dateChangeCallback:function(a){var b=a.date.getTime();b>=Public.calendar.minDate.date.getTime()&&b<=Public.calendar.maxDate.date.getTime()?($("#date_tip").hide(),Public.hideInnerPage("date_box"),$("#start_date").html(Public.calendar.curDate.format(Public.formatString)+" "+Public.calendar.curDate.day(3)),$("#start_date_val").val(Public.calendar.curDate.format("yyyy-MM-dd"))):(b=$("a.cur",Public.calendar.wrap).offset(),$("#date_tip").css({left:b.left,top:b.top,display:"block"}).html("

        "+a.format("M\u6708d\u65e5")+ +'\u4e0d\u5728\u9884\u552e\u671f

        \u9884\u7ea6\u63d0\u9192'),0.75b.left/window.innerWidth?$("#date_tip").attr("class","tip_small tip_left"):$("#date_tip").attr("class","tip_small"))}};var Util={isImageFile:function(a){a=a.substring(a.lastIndexOf("."),a.length).toLowerCase();return".bmp"==a||".png"==a||".jpg"==a||".gif"==a},isEmpty:function(a,b,c){if(!a[b]){with($("#"+b).addError())0=b)&&(null==c||a<=c)},convertNumberToString:function(a,b){a=""+a;for(var c=[],d=0;dparseInt(b[5])?1:-1}};var Login={init:function(){if(0!=$("#login_page").length){var a=new Date;$("#interval").html(a.format("M\u6708dd\u65e5")+"-"+a.addDays(19).format("M\u6708d\u65e5"));cn12306.recode();$("#randcode").keyup(function(){this.value=this.value.replace(/[^0-9a-zA-Z]/g,"")});$("#loginForm").submit(function(a){var c={username:$("[name=username]",this).val(),password:$("[name=password]",this).val(),randcode:$("[name=randcode]",this).val()};if(c.username)if(c.password){if(!c.randcode)return Public.toast("\u8bf7\u8f93\u5165\u9a8c\u8bc1\u7801"), !1}else return Public.toast("\u8bf7\u8f93\u5165\u767b\u5f55\u5bc6\u7801"),!1;else return Public.toast("\u8bf7\u8f93\u5165\u7528\u6237\u540d"),!1;Login.formData=c;SKIPVC?Login.submitLogin():Login.getRandCode();a.preventDefault();return!1});localStorage.getItem("useraccount")?(Login.formData=JSON.parse(localStorage.getItem("useraccount")),$("#loginForm [name=username]").val(Login.formData.username),$("#loginForm [name=password]").val(Login.formData.password),cn12306.isUserLogined(function(){sessionStorage.setItem("user", -Login.formData.username);Public.toast("\u767b\u5f55\u6210\u529f\uff0c\u6b63\u5728\u8fdb\u5165\u8ba2\u7968\u9875\u9762\uff0c\u8bf7\u7a0d\u7b49 \u2764");setTimeout(function(){location.href="query.html"},1E3)})):sessionStorage.clear()}},getRandCode:function(){cn12306.checkRandCode("sjrand",Login.formData.randcode,function(a){"Y"!==a.data?(cn12306.recode(),Public.toast("\u9a8c\u8bc1\u7801\u4e0d\u6b63\u786e\uff01")):Login.submitLogin(a)},function(a,b){cn12306.recode();Public.toast("\u6821\u9a8c\u9a8c\u8bc1\u7801\u5931\u8d25")}, -"login/init")},formData:null,submitLogin:function(){bootStrap.post("login/loginAysnSuggest",null,{"loginUserDTO.user_name":Login.formData.username,"userDTO.password":Login.formData.password,randCode:Login.formData.randcode},"login/init").done(function(a){a&&a.data&&"Y"===a.data.loginCheck?Login.userPostLogin():(a=(a.messages||["\u672a\u77e5\u9519\u8bef"]).join(";"),cn12306.recode(),-1!=a.indexOf("\u767b\u5f55\u540d")?($("#username").focus(),Public.toast("\u7528\u6237\u540d\u8f93\u5165\u9519\u8bef\u3002")): --1!=a.indexOf("\u9a8c\u8bc1\u7801")?($("#randcode").focus(),Public.toast("\u9a8c\u8bc1\u7801\u4e0d\u6b63\u786e\u3002")):-1!=a.indexOf("\u90ae\u7bb1")?($("#username").focus(),Public.toast("\u90ae\u7bb1\u8f93\u5165\u9519\u8bef\u3002")):-1\u6700\u8fd1\u67e5\u627e");$("#hisQuery [data-key]").on("click",function(){var a=$(this).attr("data-key");a&&Public.his.queryObjs[a]&&Query.newQuery(Public.his.queryObjs[a])}); @@ -181,36 +165,37 @@ else{var a="ADULT";"2"==$("#query_form [name=type]").val()&&(a="0X00");var b=Pub $("#passengers").html(b);a=$("#query_form [name=filters]").val().split("&");Query.setFilter(a)},filterBind:function(){$("#train_filter").live("click",function(){Query.getTrains()});$("#trains_ok").live("click",function(){Public.showInnerPage("filter")});$("#trainList a").live("click",function(){var a=$(this).attr("data-traincode");$(this).hasClass("cur")?($('#train_labels [value="'+a+'"]').closest(".train_label").remove(),$(this).removeClass("cur")):($(this).addClass("cur"),$("#train_labels").append(''+ a+''))});$("#train_labels .train_label").live("click",function(){$(this).remove()});$("#check_passenger").live("click",function(){Public.isLogin?Public.showInnerPage("passenger"):Public.confirm("\u767b\u9646\u540e\u53ef\u9009\u4e58\u8f66\u4eba",function(){window.location.href="login.html"},"\u767b\u9646")});$('#passengers [name="psg"]').live("change",function(){if(5<$('#passengers [name="psg"]:checked').length)Public.alert("\u8054\u7cfb\u4eba\u6700\u591a\u53ea\u80fd\u9009\u62e9\u4e94\u4e2a"), $(this).prop("checked",!1);else{var a=$(this).val(),b=$(this).attr("data-name");$(this).prop("checked")?$("#passenger_list").append(''+b+''):$('#passenger_list [name="passenger"]').closest(".train_label").remove()}});$("#passenger_ok").live("click",function(){var a=$('#passenger_list [name="passenger"]');$('#passenger_form [name="psg"]').prop("checked",!1);a.each(function(a,c){$('#passenger_form [name="psg"][value="'+ -$(c).val()+'"]').prop("checked",!0)});Public.showInnerPage("filter")});$("#passenger_list .train_label").live("click",function(){var a=$("input",this).val();$(this).remove();$('#passengers [name="psg"][value="'+a+'"]').prop("checked",!1)})}};var RunQuery={init:function(){if(0==$("#runquery_page").length)return!1;var a=(new Date).addDays(19);Public.formatString="M\u6708d\u65e5";Public.setDate(a);Public.calendar.checkCallback=RunQuery.dateChangeCallback;Public.checkLogin(RunQuery.run,RunQuery.run,RunQuery.run);$("#filter_ok").on("click",function(){Public.hideInnerPage("filter");$("#query_form [name=filters]").val($("#filter_form").serialize());RunQuery.setFilterCond();RunQuery.hisUpdata()});$("#check_left,#check_right").on("click",function(){RunQuery.hisUpdata()}); -$("#filter_cancel").on("click",function(){Public.hideInnerPage("filter");var a=$("#query_form [name=filters]").val().split("&");Query.setFilter(a)});$("#filter_btn").on("click",function(){Public.showInnerPage("filter")});$("#filter_cancel").on("click",function(){Public.hideInnerPage()});$('[data-fn="buy"]').live("click",function(){var a=$(this).attr("data-traincode"),c=$(this).attr("data-seatcode");"0"==c&&0<$('[data-traincode="'+a+'"][data-seatcode="'+c+'"]').length&&(c="1");sessionStorage.setItem(Public.user+ -"curBuy",JSON.stringify(RunQuery.trainData.trainMap[a]));sessionStorage.setItem(Public.user+"curBuySeat",c);Public.isLogin?location.href="perfect.html":Public.alert("\u8fd8\u672a\u767b\u5f55\uff0c\u8bf7\u767b\u9646\u540e\u8d2d\u7968",function(){location.href="login.html?t=submitorder"})});$("#autoTipBtn").live("click",function(){Public.isLogin?RunQuery.startRef():window.location.href="login.html"});$("#refresh_end").live("click",function(){RunQuery.refStop()})},run:function(){Query.getPassenger(); -RunQuery.getQueryData();if(!RunQuery.curData)return window.location.href="query.html",!1;RunQuery.setFilter();RunQuery.queryTicket();Query.filterBind()},curData:null,getQueryData:function(){Public.his.queryObjs[Public.his.querys[0][0]]&&(RunQuery.curData=Public.his.queryObjs[Public.his.querys[0][0]])},setFilter:function(){Query.setFilter(RunQuery.curData.filters.split("&"));$(".station_title strong").html(RunQuery.curData.startname+"\u2192"+RunQuery.curData.endname);$("#query_form [name=startname]").val(RunQuery.curData.startname); -$("#query_form [name=startcode]").val(RunQuery.curData.startcode);$("#query_form [name=endname]").val(RunQuery.curData.endname);$("#query_form [name=endcode]").val(RunQuery.curData.endcode);$("#query_form [name=type]").val(RunQuery.curData.type);$("#query_form [name=filters]").val(RunQuery.curData.filters);var a=new Date(RunQuery.curData.start_date.replace(/\-/g,"/"));$("#start_date").html(a.format("M\u6708d\u65e5")+" "+a.day(3));$("#start_date_val").val(a.format("yyyy-MM-dd"));Public.calendar.setCurDate(a); -RunQuery.setFilterCond()},queryTicket:function(){var a=Public.showLoading("\u6b63\u5728\u67e5\u7968");cn12306.queryTicket({"leftTicketDTO.train_date":RunQuery.curData.start_date,"leftTicketDTO.from_station":RunQuery.curData.startcode,"leftTicketDTO.to_station":RunQuery.curData.endcode,purpose_codes:"2"==RunQuery.curData.type?"0X00":"ADULT"},function(b){Public.hideLoading(a);if(!0==b.status&&200==b.httpstatus){if(0";b+='
        '; -b+=''+obj.code+"";b+=''+obj.from.time+"";b+='';obj.from.code==obj.start.code&&(b+='\u59cb');b+=obj.from.name+"";b+="
        ";b+='
        ';ls=obj.elapsedTime.total.split(":");b+=''+(ls[0]?ls[0]+"\u5c0f\u65f6":"")+(ls[1]?ls[1]+"\u5206":"0\u5206")+"";b+=''; -b+=obj.to.time+"";b+='';obj.to.code==obj.end.code&&(b+='\u7ec8');for(var b=b+(obj.to.name+""),b=b+"
        ",d=0;d',"\u6709"==obj.ticketMapSort[d].count?b+='\u6709':(b+=''+obj.ticketMapSort[d].count+"",b+='\u5f20'), -b=RunQuery.trainData.isMaintain?b+'\u7ef4\u62a4':b+('\u62a2\u7968'),b+="",b+=''+obj.ticketMapSort[d].name+"",b+=''+obj.ticketMapSort[d].price/10+"\u5143",b+="";b+=""}return b},formatList:function(){var a=RunQuery.trainData.train; -RunQuery.trainData.isMaintain&&(a=RunQuery.trainData.trainMap);$("#train_list").html(RunQuery.getHtml(a));$(".station_title span").html("\u5171 "+$("#train_list li").length+" \u8d9f\u5217\u8f66");!RunQuery.trainData.isMaintain&&0==Object.keys(RunQuery.trainData.train).length?RunQuery.showRefresh():!RunQuery.trainData.isMaintain&&RunQuery.refresh?(Client.refreshSuccess(),RunQuery.refStop(),RunQuery.autoSubmit()):$("#autoTip").hide()},autoSubmit:function(){var a=$('#train_list li [data-fn="buy"]').eq(0); -a.closest("li");if(bootStrap.isAndroid){a={title:"\u606d\u559c\u60a8\uff0c\u5237\u51fa\u7968\u4e86\uff01",content:"\u4f60\u8ba2\u7684 "+$("[data-id]").html()+" \u6b21\u5217\u8f66\u6709\u3010"+a.closest(".line").find(".link_label").eq(0).html()+"\u3011\u4e86\uff01",confirm:"confirmCallback",cancel:"cancelCallback"};try{__TicketJavaScriptObject__.confirm(JSON.stringify(a))}catch(b){alert(b)}}else a.click()},getTicketInfo:function(a){var b=[];a=(-1===a.indexOf("#")?a:/getSelected\(['"](.*?)['"]\)/i.exec(a)[1].split("#")[11]).match(/([A-Z\d])0*?([\*\d]{5})0*?(\d{4})/gi); -for(var c in a){var d=/([A-Z\d])0*?([\*\d]{5})0*?(\d{4})/i.exec(a[c]),e=d[1],f="*"==d[2][0]?null:parseInt(d[2],10),d=parseInt(d[3],10),g={code:e,name:Util.toSeatTypeName(e),price:f};3E3>d?(g.count=d,"7"===e?b.push({code:"M",name:Util.toSeatTypeName("M"),price:f,count:d}):"8"===e?b.push({code:"O",name:Util.toSeatTypeName("O"),price:f,count:d}):b.push(g)):(g.count=d-3E3,g.code="0",g.name="\u65e0\u5ea7",b.push(g))}return b},trainData:null,formatJson:function(a){if(!Array.isArray(a.data)&&!a.data.length)return null; -for(var b=a.data,c,d={raw:a,rawTrainMap:{},trainMap:{},codeMap:{},auto:null,nextTime:null},e=0;e]+>/i, -""):null};c=RunQuery.getTicketInfo(t.queryLeftNewDTO.yp_info);a.tickets=c;a.ticketMap=Util.mapObject(c,function(a){return a.code});a.ticketMapSort=Util.sortType(a.ticketMap);if(c=/(0*(\d+)\u67080*(\d+)\u65e5)?(\d+)\s*\u70b9\s*((\d+)\u5206)?\s*\u8d77\u552e/i.exec(t.buttonTextInfo.replace(/<.*?>/g,"")))a.available=-1,a.selltime=new Date,a.selltime.setHours(parseInt(c[4])),a.selltime.setMinutes(parseInt(c[6]||"0",10)),a.selltime.setSeconds(0),c[1]&&(a.selltime.setMonth(parseInt(c[2])-1),a.selltime.setDate(parseInt(c[3])), -a.selltime.getMonth()<(new Date).getMonth()&&a.selltime.setFullYear(a.selltime.getFullYear()+1));d.rawTrainMap[a.id]=t;d.codeMap[a.code]=t;d.trainMap[a.id]=a}0=Public.calendar.minDate.date.getTime()&&b<=Public.calendar.maxDate.date.getTime()?($("#date_tip").hide(),Public.hideInnerPage("date_box"),$("#start_date").html(Public.calendar.curDate.format(Public.formatString)+" "+Public.calendar.curDate.day(3)),$("#start_date_val").val(Public.calendar.curDate.format("yyyy-MM-dd")),RunQuery.hisUpdata()):(b=$("a.cur",Public.calendar.wrap).offset(),$("#date_tip").css({left:b.left,top:b.top,display:"block"}).html("

        "+a.format("M\u6708d\u65e5")+ -'\u4e0d\u5728\u9884\u552e\u671f

        \u9884\u7ea6\u63d0\u9192'),0.75b.left/window.innerWidth?$("#date_tip").attr("class","tip_small tip_left"):$("#date_tip").attr("class","tip_small"))},hisUpdata:function(){Public.setHisQuery($("#startStationCode").val()+"-"+$("#endStationCode").val(),$("#query_form").serialize()); -Public.setHis();RunQuery.getQueryData();RunQuery.queryTicket()},showRefresh:function(){RunQuery.refresh||(Public.isLogin?$("#autoTip p").html("\u6682\u65f6\u65e0\u7968!
        \u6ca1\u6709\u7b26\u5408\u4f60\u8981\u6c42\u7684\u8f66\u6b21\u548c\u5e2d\u522b"):$("#autoTip p").html("\u6682\u65f6\u65e0\u7968!
        \u767b\u5f55\u540e\u53ef\u4ee5\u81ea\u52a8\u5237\u7968"),$("#autoTip").show())},refCount:0,startDate:null,refDate:null,refresh:!1,refTimer:null,startRef:function(){RunQuery.refresh||(Client.refreshStart(), -RunQuery.startDate=(new Date).getTime(),RunQuery.refDate=RunQuery.startDate,RunQuery.refresh=!0,$("#refresh_train").show(),$("#autoTip").hide(),RunQuery.queryTicket(),RunQuery.refCount=1,RunQuery.refGo())},refGo:function(){if(RunQuery.refresh){var a=(new Date).getTime(),b=RunQuery.formatTime(a-RunQuery.startDate),c=((5E3-(a-RunQuery.refDate))/1E3).toFixed(1);0>=c&&(c=0);$("#refresh_train .rf_desc").html("\u5df2\u5237 "+RunQuery.refCount+" \u6b21\uff0c\u7528\u65f6 "+b+"
        \u8ddd\u4e0b\u6b21\u5237\u7968\u8fd8\u6709 "+ -c+" \u79d2 ...");0==c&&(RunQuery.refDate=a,RunQuery.refCount++,RunQuery.queryTicket());RunQuery.refTimer=setTimeout(RunQuery.refGo,100)}},refStop:function(){Client.refreshEnd();clearTimeout(RunQuery.refTimer);RunQuery.refresh=!1;$("#refresh_train").hide();0==RunQuery.trainData.train.length&&RunQuery.showRefresh()},formatTime:function(a){var b=parseInt(a/6E4);a=parseInt(a%6E4/1E3);return b+"\u5206"+a+"\u79d2"},getRec:function(){var a={},b=RunQuery.trainData.trainMap;a.key="stupid360";a.from=$("#startStationCode").val(); -a.to=$("#endStationCode").val();a.date=$("#start_date_val").val();a.stops={};for(var c in b)a.stops[b[c].code]={},a.stops[b[c].code].info=b[c],a.stops[b[c].code].stops=cn12306.byTrainNos[c];a=JSON.stringify(a);(0,eval)("this").v=a;$.ajax({type:"POST",url:"http://12306.fishlee.net/ts?key=stupid360&r="+Math.random(),data:{data:a},success:function(a){a.groups&&0";b+='
        ';b+=''+obj.code+"";b+=''+obj.from.time+"";b+='';obj.from.code==obj.start.code&&(b+='\u59cb');b+=obj.from.name+"";b+="
        ";b+='
        ';ls=obj.elapsedTime.total.split(":"); +b+=''+(ls[0]?ls[0]+"\u5c0f\u65f6":"")+(ls[1]?ls[1]+"\u5206":"0\u5206")+"";b+='';b+=obj.to.time+"";b+='';obj.to.code==obj.end.code&&(b+='\u7ec8');for(var b=b+(obj.to.name+""),b=b+"
        ",d=0;d',"\u6709"==obj.ticketMapSort[d].count? +b+='\u6709':(b+=''+obj.ticketMapSort[d].count+"",b+='\u5f20'),b=RunQuery.trainData.isMaintain?b+'\u7ef4\u62a4':b+('\u62a2\u7968'),b+="",b+=''+obj.ticketMapSort[d].name+"", +b+=''+obj.ticketMapSort[d].price/10+"\u5143",b+="";b+=""}return b},formatList:function(){var a=RunQuery.trainData.train;RunQuery.trainData.isMaintain&&(a=RunQuery.trainData.trainMap);$("#train_list").html(RunQuery.getHtml(a));$(".station_title span").html("\u5171 "+$("#train_list li").length+" \u8d9f\u5217\u8f66");!RunQuery.trainData.isMaintain&&0==Object.keys(RunQuery.trainData.train).length?RunQuery.showRefresh():!RunQuery.trainData.isMaintain&& +RunQuery.refresh?(Client.refreshSuccess(),RunQuery.refStop(),RunQuery.autoSubmit()):$("#autoTip").hide()},autoSubmit:function(){var a=$('#train_list li [data-fn="buy"]').eq(0);a.closest("li");if(bootStrap.isAndroid){a={title:"\u606d\u559c\u60a8\uff0c\u5237\u51fa\u7968\u4e86\uff01",content:"\u4f60\u8ba2\u7684 "+$("[data-id]").html()+" \u6b21\u5217\u8f66\u6709\u3010"+a.closest(".line").find(".link_label").eq(0).html()+"\u3011\u4e86\uff01",confirm:"confirmCallback",cancel:"cancelCallback"};try{__TicketJavaScriptObject__.confirm(JSON.stringify(a))}catch(b){alert(b)}}else a.click()}, +getTicketInfo:function(a){var b=[];a=(-1===a.indexOf("#")?a:/getSelected\(['"](.*?)['"]\)/i.exec(a)[1].split("#")[11]).match(/([A-Z\d])0*?([\*\d]{5})0*?(\d{4})/gi);for(var c in a){var d=/([A-Z\d])0*?([\*\d]{5})0*?(\d{4})/i.exec(a[c]),e=d[1],f="*"==d[2][0]?null:parseInt(d[2],10),d=parseInt(d[3],10),g={code:e,name:Util.toSeatTypeName(e),price:f};3E3>d?(g.count=d,"7"===e?b.push({code:"M",name:Util.toSeatTypeName("M"),price:f,count:d}):"8"===e?b.push({code:"O",name:Util.toSeatTypeName("O"),price:f,count:d}): +b.push(g)):(g.count=d-3E3,g.code="0",g.name="\u65e0\u5ea7",b.push(g))}return b},trainData:null,formatJson:function(a){if(!Array.isArray(a.data)&&!a.data.length)return null;for(var b=a.data,c,d={raw:a,rawTrainMap:{},trainMap:{},codeMap:{},auto:null,nextTime:null},e=0;e]+>/i,""):null};c=RunQuery.getTicketInfo(t.queryLeftNewDTO.yp_info);a.tickets=c;a.ticketMap=Util.mapObject(c,function(a){return a.code});a.ticketMapSort=Util.sortType(a.ticketMap);if(c=/(0*(\d+)\u67080*(\d+)\u65e5)?(\d+)\s*\u70b9\s*((\d+)\u5206)?\s*\u8d77\u552e/i.exec(t.buttonTextInfo.replace(/<.*?>/g,"")))a.available=-1,a.selltime=new Date, +a.selltime.setHours(parseInt(c[4])),a.selltime.setMinutes(parseInt(c[6]||"0",10)),a.selltime.setSeconds(0),c[1]&&(a.selltime.setMonth(parseInt(c[2])-1),a.selltime.setDate(parseInt(c[3])),a.selltime.getMonth()<(new Date).getMonth()&&a.selltime.setFullYear(a.selltime.getFullYear()+1));d.rawTrainMap[a.id]=t;d.codeMap[a.code]=t;d.trainMap[a.id]=a}0=Public.calendar.minDate.date.getTime()&&b<=Public.calendar.maxDate.date.getTime()?($("#date_tip").hide(),Public.hideInnerPage("date_box"),$("#start_date").html(Public.calendar.curDate.format(Public.formatString)+" "+Public.calendar.curDate.day(3)),$("#start_date_val").val(Public.calendar.curDate.format("yyyy-MM-dd")), +RunQuery.hisUpdata()):(b=$("a.cur",Public.calendar.wrap).offset(),$("#date_tip").css({left:b.left,top:b.top,display:"block"}).html("

        "+a.format("M\u6708d\u65e5")+'\u4e0d\u5728\u9884\u552e\u671f

        \u9884\u7ea6\u63d0\u9192'),0.75b.left/window.innerWidth?$("#date_tip").attr("class","tip_small tip_left"):$("#date_tip").attr("class", +"tip_small"))},hisUpdata:function(){Public.setHisQuery($("#startStationCode").val()+"-"+$("#endStationCode").val(),$("#query_form").serialize());Public.setHis();RunQuery.getQueryData();RunQuery.queryTicket()},showRefresh:function(){if(!RunQuery.refresh){Public.isLogin?$("#autoTip p").html("\u6682\u65f6\u65e0\u7968!
        \u6ca1\u6709\u7b26\u5408\u4f60\u8981\u6c42\u7684\u8f66\u6b21\u548c\u5e2d\u522b"):$("#autoTip p").html("\u6682\u65f6\u65e0\u7968!
        \u767b\u5f55\u540e\u53ef\u4ee5\u81ea\u52a8\u5237\u7968"); +$("#autoTip").show();var a=Public.getQueryData(window.location.search);a.t&&"autorefer"==a.t&&(history.replaceState(null,null,WIN.location.href.split("?")[0]),$("#autoTipBtn").click())}},refCount:0,startDate:null,refDate:null,refresh:!1,refTimer:null,startRef:function(){RunQuery.refresh||(Client.refreshStart(),RunQuery.startDate=(new Date).getTime(),RunQuery.refDate=RunQuery.startDate,RunQuery.refresh=!0,$("#refresh_train").show(),$("#autoTip").hide(),RunQuery.queryTicket(),RunQuery.refCount=1,RunQuery.refGo())}, +refGo:function(){if(RunQuery.refresh){var a=(new Date).getTime(),b=RunQuery.formatTime(a-RunQuery.startDate),c=((5E3-(a-RunQuery.refDate))/1E3).toFixed(1);0>=c&&(c=0);$("#refresh_train .rf_desc").html("\u5df2\u5237 "+RunQuery.refCount+" \u6b21\uff0c\u7528\u65f6 "+b+"
        \u8ddd\u4e0b\u6b21\u5237\u7968\u8fd8\u6709 "+c+" \u79d2 ...");0==c&&(RunQuery.refDate=a,RunQuery.refCount++,RunQuery.queryTicket());RunQuery.refTimer=setTimeout(RunQuery.refGo,100)}},refStop:function(){Client.refreshEnd();clearTimeout(RunQuery.refTimer); +RunQuery.refresh=!1;$("#refresh_train").hide();0==Object.keys(RunQuery.trainData.train).length&&RunQuery.showRefresh()},formatTime:function(a){var b=parseInt(a/6E4);a=parseInt(a%6E4/1E3);return b+"\u5206"+a+"\u79d2"},getRec:function(){var a={},b=RunQuery.trainData.trainMap;a.key="stupid360";a.from=$("#startStationCode").val();a.to=$("#endStationCode").val();a.date=$("#start_date_val").val();a.stops={};for(var c in b)a.stops[b[c].code]={},a.stops[b[c].code].info=b[c],a.stops[b[c].code].stops=cn12306.byTrainNos[c]; +a=JSON.stringify(a);(0,eval)("this").v=a;$.ajax({type:"POST",url:"http://12306.fishlee.net/ts?key=stupid360&r="+Math.random(),data:{data:a},success:function(a){a.groups&&0'+OrderSubmit.curData.code+""+b.format("yyyy-M-d")+ " "+b.day(3)+""),a=a+('
        '+OrderSubmit.curData.from.name+""+OrderSubmit.curData.from.time+"
        "),a=a+('
        '+OrderSubmit.curData.to.name+""+OrderSubmit.curData.to.time+"
        ");$("#trainInfo").html(a+"")},passengerList:null,loadPassCode:function(){if($("#randcodeimg").hasClass("loading_code"))return!1;$("#randcodeimg").addClass("loading_code");cn12306.loadRandCode("sjrand", function(a){$("#randcodeimg").attr("src",a);$("#randcodeimg").removeClass("loading_code")},"passcodeNew/getPassCodeNew?module=login&rand=sjrand")},getPassenger:function(){sessionStorage.getItem(Public.user+"_passenger")?(OrderSubmit.passengerList=JSON.parse(sessionStorage.getItem(Public.user+"_passenger")),OrderSubmit.passengerObj=JSON.parse(sessionStorage.getItem(Public.user+"_passengerobj")),OrderSubmit.setPassengerList()):bootStrap.post("confirmPassenger/getPassengerDTOs",null,null,"leftTicket/init").done(function(a){a.status&& diff --git a/Mobile12306New/js/login.js b/Mobile12306New/js/login.js index 3039167..a82942a 100644 --- a/Mobile12306New/js/login.js +++ b/Mobile12306New/js/login.js @@ -51,11 +51,11 @@ var Login = { cn12306.isUserLogined(function() { sessionStorage.setItem("user", Login.formData['username']); - Public.toast("登录成功,正在进入订票页面,请稍等 ❤"); + Public.toast("登录成功!"); setTimeout(function() { // 登录成功 跳转 - location.href = 'query.html'; + Login.loginRoute(); }, 1000); }); @@ -134,32 +134,40 @@ var Login = { checkJsonAttr: function() { var data = Login.formData; cn12306.isUserLogined(function() { - var urlData = Public.getQueryData(window.location.search); sessionStorage.setItem("user", data.username); localStorage.setItem('useraccount', JSON.stringify(data)); - Public.toast("登录成功,正在进入订票页面,请稍等 ❤"); + Public.toast("登录成功!"); - setTimeout(function() { - // 登录成功 跳转 - if (!urlData['t']) { - location.href = 'query.html'; - } else { - switch (urlData['t']) { - case 'submitorder': - location.href = 'perfect.html'; - break; - } - } - - }, 1000); + Login.loginRoute(); }, function() { Public.toast("未能成功登录,请重试。"); }, function() { Public.toast("登录时网络错误"); }); + }, + loginRoute:function(){ + + var urlData = Public.getQueryData(window.location.search); + + // 登录成功 跳转 + if (!urlData['t']) { + location.href = 'query.html'; + } else { + switch (urlData['t']) { + case 'submitorder': + location.href = 'perfect.html?t='+urlData['t']; + break; + case 'autorefer' : + if(localStorage.getItem('hisQuery')){ + localStorage.setItem(sessionStorage.getItem("user")+'hisQuery',localStorage.getItem('hisQuery')); + } + location.href = 'run_query.html?t='+urlData['t']; + break; + } + } } } \ No newline at end of file diff --git a/Mobile12306New/js/public.js b/Mobile12306New/js/public.js index 68f99f1..1df0bf6 100644 --- a/Mobile12306New/js/public.js +++ b/Mobile12306New/js/public.js @@ -14,6 +14,7 @@ DOC.addEventListener("mobileSupportInitialized", function() { var Public = { init: function() { + console.log('asdf'); Public.setHis(); cn12306.getLocalTrainNos(); // 刷新验证码 @@ -32,13 +33,13 @@ var Public = { window.history.back(); }); - $('.query_box [type=checkbox]').live('change', function(e) { + $('.query_box [type=checkbox]').on('change', function(e) { if ($(this).closest('.query_box').find('[type=checkbox][value="all"]').length == 0) { return; } var $checkbox = $(this).closest('.query_box').find('[type=checkbox]'), $allBtn = $(this).closest('.query_box').find('[type=checkbox][value="all"]'); - + // alert('change'); if ($(this).val() == 'all') { if ($(this).prop('checked')) { $checkbox.prop('checked', true); diff --git a/Mobile12306New/js/run_query.js b/Mobile12306New/js/run_query.js index c0be4ad..e936a39 100644 --- a/Mobile12306New/js/run_query.js +++ b/Mobile12306New/js/run_query.js @@ -1,4 +1,5 @@ var RunQuery = { + goRefer: false, init: function() { if ($('#runquery_page').length == 0) { return false; @@ -17,6 +18,10 @@ var RunQuery = { $('#query_form [name=filters]').val($('#filter_form').serialize()); RunQuery.setFilterCond(); RunQuery.hisUpdata(); + if(RunQuery.goRefer){ + RunQuery.goRefer = false; + RunQuery.startRef(); + } }); $('#check_left,#check_right').on('click', function() { RunQuery.hisUpdata(); @@ -28,6 +33,10 @@ var RunQuery = { querys = bak.split('&'); Query.setFilter(querys); + if(RunQuery.goRefer){ + RunQuery.goRefer = false; + RunQuery.startRef(); + } }); @@ -62,9 +71,11 @@ var RunQuery = { $('#autoTipBtn').live('click', function() { if (Public.isLogin) { - RunQuery.startRef(); + RunQuery.goRefer = true; + Public.showInnerPage('filter'); + // RunQuery.startRef(); } else { - window.location.href = 'login.html'; + window.location.href = 'login.html?t=autorefer'; } }); $('#refresh_end').live('click', function() { @@ -142,9 +153,9 @@ var RunQuery = { Public.hideLoading(loading); }); }, - getHtml:function(lists){ + getHtml: function(lists) { var html = ''; - if(!lists || lists.length == 0){ + if (!lists || lists.length == 0) { return html; } for (var k in lists) { @@ -529,6 +540,12 @@ var RunQuery = { $('#autoTip p').html('暂时无票!
        登录后可以自动刷票'); } $('#autoTip').show(); + + var srch = Public.getQueryData(window.location.search); + if (!!srch.t && srch.t == 'autorefer') { + history.replaceState(null, null, WIN.location.href.split('?')[0]); + $('#autoTipBtn').click(); + } }, refCount: 0, startDate: null, @@ -577,7 +594,7 @@ var RunQuery = { RunQuery.refresh = false; $('#refresh_train').hide(); // RunQuery.queryTicket(); - if (RunQuery.trainData.train.length == 0) { + if (Object.keys(RunQuery.trainData.train).length == 0) { RunQuery.showRefresh(); } }, @@ -694,8 +711,8 @@ var RunQuery = { // } else if (typeof callback == 'function') { // callback(RunQuery.recData); // } - - + + cn12306.queryTicket(qd['queryData'], function(json) { if (json["status"] == true && json["httpstatus"] == 200) { @@ -710,7 +727,7 @@ var RunQuery = { } trainData.hasTrains = RunQuery.hasTrains(trainData.trainMap); - trainData.train = RunQuery.trainsFilter(trainData.hasTrains,ticket); + trainData.train = RunQuery.trainsFilter(trainData.hasTrains, ticket); trainData.trainsType = RunQuery.trainsType(trainData.train); trainData.trainsSeat = RunQuery.trainsSeat(trainData.trainsType); trainData.train = trainData.trainsSeat; From 223c57b7fcaa2d97fe17dffa971ba325167e9af1 Mon Sep 17 00:00:00 2001 From: luolei Date: Tue, 2 Sep 2014 12:11:32 +0800 Subject: [PATCH 3/3] =?UTF-8?q?25523=20=E8=BD=A6=E7=AB=99=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E9=A1=B5=E9=9D=A2=E6=8E=A8=E8=8D=90=E5=9F=8E=E5=B8=82?= =?UTF-8?q?=E4=B8=AD=E6=9C=80=E5=90=8E=E4=B8=80=E8=A1=8C=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E4=B8=8B=E5=88=92=E7=BA=BF25513=20=E2=80=9C=E9=A2=84=E5=94=AE?= =?UTF-8?q?=E6=8F=90=E9=86=92=E2=80=9D=E9=A1=B5=E9=9D=A2=E4=B8=AD=E8=BD=A6?= =?UTF-8?q?=E7=AB=99=E4=BA=92=E6=8D=A2=E6=8C=89=E9=92=AE=E5=8F=AF=E7=82=B9?= =?UTF-8?q?=E5=8C=BA=E5=9F=9F=E5=A4=AA=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Mobile12306New/css/css.css | 25 +++++++++++------ Mobile12306New/js/check_station.js | 45 ++++++++++-------------------- 2 files changed, 31 insertions(+), 39 deletions(-) diff --git a/Mobile12306New/css/css.css b/Mobile12306New/css/css.css index 58fed82..57f25d1 100644 --- a/Mobile12306New/css/css.css +++ b/Mobile12306New/css/css.css @@ -28,8 +28,7 @@ input[type=checkbox], .his_list a:after, .icon_user, .icon_clock, -.icon_user2, -.icon_remove_b, +icon_user2, .search_ipt{background-image: url(../images/icons.png); background-repeat:no-repeat; background-size:24px auto;} input[type=checkbox]{-webkit-appearance:none; border:#b2b2b2 solid 2px; width:24px; height:24px; overflow:hidden; vertical-align:middle; border-radius:3px; margin:-3px 6px 0 0; background-color: transparent; background-position:1000px 1000px; position:relative;} @@ -86,8 +85,6 @@ input[type=radio]:checked:after{content:''; display:block; width:12px; height:12 .icon_clock{display:inline-block; width:14px; height:14px; overflow:hidden; background-position:0 -600px; vertical-align:middle;} -.icon_remove_b{ display:inline-block; width:16px; height:16px; overflow:hidden; background-position:0 -500px; vertical-align:middle;} - .icon_remove{display:block; width:13px; height:13px; display:inline-block; position:relative;} .icon_remove:before, .icon_remove:after{ content:''; position:absolute; width:17px; height:1px; left:50%; margin:-1px 0 0 -9px; background:#787878; top:50%;} @@ -105,9 +102,12 @@ input[type=radio]:checked:after{content:''; display:block; width:12px; height:12 .h_r_text{ padding:5px 0; text-align:right; line-height:16px;} .header .icon_back{margin-left:-15px;} .header a{color:#FFF; font-size:0.875rem;display: block;width: 3rem;} +.header a:active{color: #e3e3e3} .box_insert{background:#FFF; border-bottom:#ddd solid 1px;padding:0 15px;} + + #loginForm .text_warning{display: inline-block;height: 20px;padding: 5px 10px;margin-right: -10px} #loginForm .form_btns{margin: 10px 0} .form_btns{ margin:15px 0;} @@ -123,6 +123,7 @@ input[type=radio]:checked:after{content:''; display:block; width:12px; height:12 .form_cardimg img{max-width:100%;} .btn{ height:40px; padding:0 1em;-webkit-box-sizing: border-box; line-height:40px; background:#ffbb51; border:0; margin:0; display:inline-block; border-radius:3px; font-size:1.1875rem; color:#FFF; text-align:center; position:relative; overflow:hidden;} +.btn:active{background: #fa7a13;box-shadow: 0 1px 0px #fa6f13} .btn_block{display:block; width:100%; } .btn_lg{height:45px; line-height:45px;} .btn_m{height:30px; line-height:30px; font-size:0.75rem;} @@ -217,6 +218,7 @@ input[type=radio]:checked:after{content:''; display:block; width:12px; height:12 .box_insert .form_title{ background:#FFF;} .query_box{padding:8px 15px;} .query_checkbox{ display:inline-block; width:33.333333%;height: 24px; padding:7px 0;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;} +.query_checkbox:active{color:#666;} .query_checkbox input[type=checkbox]{margin: 0px 6px 0 0} .query_checkbox2{width:66.666666%;} .query_bigcheck{width:18.27586206896552%; -webkit-box-sizing:border-box; display:inline-block; height:50px; overflow:hidden; position:relative; margin:8px 1.724137931034483% 8px 0; vertical-align:top;} @@ -265,17 +267,20 @@ input[type=radio]:checked:after{content:''; display:block; width:12px; height:12 .search_input{width:100%; border:0; font-size:0.9375rem; height:29px; padding:5px 0; line-height:20px;-webkit-appearance: none;-webkit-appearance:none; vertical-align:top; background:none; color:#FFF;} .search_input::-webkit-input-placeholder {color:#fa8c13;} -.station_list{ overflow: hidden;} +.station_list{} .station_list:after{ content: ''; display: block; overflow: hidden; visibility: hidden; clear: both} -.station_list li{float:left; display:inline; width:33.333333%; font-size:1.0625rem; position:relative; border-bottom:#cacaca solid 1px; margin-bottom:-1px;} +.station_list li{float:left; display:inline; width:33.333333%; font-size:1.0625rem; position:relative; border-bottom:#cacaca solid 1px;} /*.station_list li:nth-last-child(1), .station_list li:nth-last-child(2), .station_list li:nth-last-child(3){border-bottom:0;}*/ +.box_insert .station_list li:nth-last-child(1), +.box_insert .station_list li:nth-last-child(2), +.box_insert .station_list li:nth-last-child(3){border-bottom:0;} .station_list li:after{content:''; display:block; right:0; top:50%; -webkit-transform:translate3d(0,-50%,0); border-right: #cacaca solid 1px; height:.9em; position:absolute;} .station_list li:nth-child(3n):after{ display:none;} .station_list li a{display: block; line-height:2.617647058823529em; text-align:center; color:#787878;} -#search_station .form_title{ text-align:center;} -.title_right{float:right; padding:0 10px;} +#search_station .form_title{ text-align:center;font-size: 1rem} + .suggest{position:absolute; left:0; top:45px; right:0; padding:0 15px; background:#FFF; display:none;} .suggest ul li{border-bottom:#ddd solid 1px;} @@ -432,6 +437,10 @@ input[type=radio]:checked:after{content:''; display:block; width:12px; height:12 /*.passed_list li.passed_end:after{width:12px; height:12px; border:#fa8c13 solid 1px; background:#fa8c13; box-shadow:inset 1px 1px 0 #FFF,inset -1px -1px 0 #FFF,inset 1px -1px 0 #FFF,inset -1px 1px 0 #FFF; border-radius:50%; left:0; top:50%; margin:-7px 0 0 -22px;}*/ .passed_list li.passed_end:after{width:11px; height:11px; border:#FFF solid 1px; background:#fa8c13; box-shadow:0 0 1px #fa8c13; border-radius:50%; left:0; top:50%; margin:-7px 0 0 -22px;} +@media(width:320px) { + .search_input{font-size: .775rem} +} + diff --git a/Mobile12306New/js/check_station.js b/Mobile12306New/js/check_station.js index f579055..50cb5d5 100644 --- a/Mobile12306New/js/check_station.js +++ b/Mobile12306New/js/check_station.js @@ -77,32 +77,22 @@ var CheckStaion = { CheckStaion.hotList = WIN["favorite_names"].substr(1).split('@'); }, - getHisHmtl : function(){ - var his = JSON.parse(localStorage.getItem('stationHis')), - sp = [], - html = ''; - if(!his || his.length == 0){ - return ''; - } - html += '
        最近查找
        ' - html += '
        '; - html += '
          '; - - for (var i = 0; i < his.length; i++) { - sp = his[i].split('|'); - html += '
        • '+sp[1]+'
        • '; - }; - - html += '
        '; - return html; - }, setHtml: function() { - var html = '
        '; - + var html = '
        '; + var his = JSON.parse(localStorage.getItem('stationHis')), + sp = []; + if(!!his && his.length > 0){ + html += '
        最近查找
        ' + html += '
        '; + html += '
          '; - html += '
          '; - html += CheckStaion.getHisHmtl(); - html += '
          '; + for (var i = 0; i < his.length; i++) { + sp = his[i].split('|'); + html += '
        • '+sp[1]+'
        • '; + }; + + html += '
        '; + } //
      • 上海
      • \ //
      • 天津
      • \ if (CheckStaion.hotList.length > 0) { @@ -169,17 +159,10 @@ var CheckStaion = { localStorage.setItem('stationHis',JSON.stringify(stationHis)); - $('#station_hisbox').html(CheckStaion.getHisHmtl()); - $('#station_suggest ul').html(''); $('#station_suggest').hide(); $('#station_search').val(''); }); - - $('[data-fn="remove_his"]').live('click',function(){ - $('#station_hisbox').html(''); - localStorage.removeItem('stationHis'); - }); }, showSuggest: function(list) { if (!list || list.length == 0) {