From 94852177f41d052b64e2199bec8c3890a2405a9a Mon Sep 17 00:00:00 2001 From: iFish Date: Fri, 5 Sep 2014 18:34:16 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RwTicketAssistantV2/app/12306/mobileproxy.js | 5 +- RwTicketAssistantV2/app/background.js | 42 +++++++++++----- .../app/infobar/scripts/core.js | 16 ++++++- RwTicketAssistantV2/app/manifest.json | 10 ++-- .../app/pages/serverstatus.html | 6 +-- Web12306/CrxHandler.cs | 45 +++++++++++++++++- Web12306/Properties/AssemblyInfo.cs | 2 +- Web12306/Web.config | 8 +++- Web12306/css/index.css | 6 +-- Web12306/css/ui/chat/chat-container.css | 1 + Web12306/css/ui/query-result.css | 5 ++ Web12306/images/handd.gif | Bin 0 -> 17581 bytes Web12306/index.html | 20 +------- Web12306/js/account/sessionMgr.js | 4 +- Web12306/js/boot.js | 25 ++++++++-- Web12306/js/platform/extensionPort.js | 3 +- Web12306/js/ui/chat/chatframe.js | 4 +- Web12306/js/ui/ui-submit-order.js | 2 +- Web12306/js/ui/ui-sysnotice.js | 5 +- Web12306/js/ui/ui-trainlist.js | 4 ++ build.cmd | 1 + 21 files changed, 158 insertions(+), 56 deletions(-) create mode 100644 Web12306/images/handd.gif diff --git a/RwTicketAssistantV2/app/12306/mobileproxy.js b/RwTicketAssistantV2/app/12306/mobileproxy.js index 63ec85d..e6f18b6 100644 --- a/RwTicketAssistantV2/app/12306/mobileproxy.js +++ b/RwTicketAssistantV2/app/12306/mobileproxy.js @@ -201,5 +201,8 @@ $(function () { document.body.dataset["targetExtensionId"] = chrome.runtime.id; document.body.dataset["targetExtensionVersion"] = chrome.runtime.getManifest().version; document.body.dataset["mobileSupportInitialized"] = 1; - document.dispatchEvent(new CustomEvent("mobileSupportInitialized")); + chrome.runtime.sendMessage({ action: "getBv" }, function (m) { + document.body.dataset["browserVersion"] = m.bv; + document.dispatchEvent(new CustomEvent("mobileSupportInitialized")); + }); }); \ No newline at end of file diff --git a/RwTicketAssistantV2/app/background.js b/RwTicketAssistantV2/app/background.js index 04ffa42..27402fb 100644 --- a/RwTicketAssistantV2/app/background.js +++ b/RwTicketAssistantV2/app/background.js @@ -1,6 +1,7 @@ var MANIFEST = chrome.runtime.getManifest(); var INFOBAR = chrome.infobars || (chrome.experimental && chrome.experimental.infobars); var isDebug = (compressFunc + '').indexOf("false") != -1; +var bv = window.external.LiebaoGetVersion && window.external.LiebaoGetVersion() || /Chrome\/([\d\.]+)/i.exec(navigator.userAgent)[1]; var entry12306 = false; var log = (function () { @@ -1076,7 +1077,7 @@ window.cbl = function (u, h) { trackback(m.detail.type, m.detail.values); }); - trackback(99); + trackback(99, [MANIFEST.version, bv]); })(); //#endregion @@ -1085,7 +1086,8 @@ window.cbl = function (u, h) { //#region 版本更新 (function () { - var updateurl = "http://www.fishlee.net/service/update2/44/44/version_v6" + (INFOBAR ? "" : "_1") + ".json?" + Math.random(); + var cv = parseInt(/Chrome\/(\d+)/i.exec(navigator.userAgent)[1]); + var updateurl = "http://www.fishlee.net/service/update2/44/" + (cv < 34 ? "44" : "60") + "/version_v6" + (INFOBAR ? "" : "_1") + ".json?" + Math.random(); var lastCheckUpdate = null; var hasUpdate = false, lastVersion = null, lastMessage = null, updateInfo = null; @@ -1118,14 +1120,19 @@ window.cbl = function (u, h) { }; var msgCallback = function (m, s, r) { - if (m && m.action === 'getUpdateInfo') + if (!m || !m.action) + return; + + if (m.action === 'getUpdateInfo') r(updateInfo); - if (m && m.action === 'getVersionInfo') + else if (m.action === 'getVersionInfo') r({ curVersion: MANIFEST.version, updateInfo: updateInfo }); - if (m && m.action === 'triggerUpdate') { + else if (m.action === 'triggerUpdate') { if (!lastCheckUpdate || (new Date() - lastCheckUpdate) >= 300000) { checkUpdate(); } + } else if (m.action === "getBv") { + r({ bv: bv }); } }; chrome.runtime.onMessage.addListener(msgCallback); @@ -1308,6 +1315,13 @@ window.cbl = function (u, h) { var callbackQueue = []; var lastLoad = null; + var setRoomCount = function (id, count) { + if (!servers) + return; + var room = _.findWhere(servers, { id: id }); + if (room) room.onlinecount = count; + }; + var execCallback = function () { var callback; while (callbackQueue.length) { @@ -1350,7 +1364,8 @@ window.cbl = function (u, h) { }); return { - loadServers: loadServers + loadServers: loadServers, + setRoomCount: setRoomCount }; })(); @@ -1403,6 +1418,7 @@ window.cbl = function (u, h) { } if (msg.action === "chatUpdateOnline") { currentRoom.onlinecount = msg.detail.count; + serverMgr.setRoomCount(currentRoom.id, currentRoom.onlinecount); } postMessageToPort(msg); }; @@ -1423,11 +1439,15 @@ window.cbl = function (u, h) { socket.send(JSON.stringify(msg)); }; var disconnect = function () { - if (!socket) - return; - socket.close(); - socket = null; + if (socket) { + socket.close(); + socket = null; + } + if (currentRoom) { + $.post("http://12306.liebao.cn/index.php?r=Api/GetRoomOnlineNum", { roomId: roomId }); + } currentRoom = null; + if (heratBeatTimer) { clearInterval(heratBeatTimer); heratBeatTimer = null; @@ -1490,7 +1510,7 @@ window.cbl = function (u, h) { hasChange = true; } if (hasChange) { - alarms.forEach(function (task) { + _.each(alarms, function (task) { var id = "ALARM-" + task.data.fromCode + "-" + task.data.toCode + new Date().getTime(); chrome.runtime.sendMessage({ action: "track", detail: { type: 132, values: [task.type || 0, task.point || 0] } }); diff --git a/RwTicketAssistantV2/app/infobar/scripts/core.js b/RwTicketAssistantV2/app/infobar/scripts/core.js index 91aa9f1..bad614a 100644 --- a/RwTicketAssistantV2/app/infobar/scripts/core.js +++ b/RwTicketAssistantV2/app/infobar/scripts/core.js @@ -57,6 +57,7 @@ var otsweb = (function () { var fun = function () { var e = this; + var queryUrl = "http://kyfw.12306.cn/otn/leftTicket/query"; var getTicketInfo = function (v) { var data = {}, info = v.indexOf("#") === -1 ? v : /getSelected\(['"](.*?)['"]\)/i.exec(v)[1].split('#')[11], @@ -129,8 +130,19 @@ var otsweb = (function () { "leftTicketDTO.to_station": to, "purpose_codes": code == "00" ? "ADULT" : code }; - e.ajaxGet("http://kyfw.12306.cn/otn/leftTicket/query", "http://kyfw.12306.cn/otn/leftTicket/init", data, "json", function (response) { - if (!response || !response.status) { + e.ajaxGet(queryUrl, "http://kyfw.12306.cn/otn/leftTicket/init", data, "json", function (response) { + if (!response) { + callback(null); + return; + } + + if (response.c_url) { + queryUrl = "http://kyfw.12306.cn/otn/" + response.c_url; + e.queryTicketOtn.apply(e, [].slice.call(arguments)); + return; + } + + if (!response.status) { callback(null); return; } diff --git a/RwTicketAssistantV2/app/manifest.json b/RwTicketAssistantV2/app/manifest.json index db68bbf..90c7d92 100644 --- a/RwTicketAssistantV2/app/manifest.json +++ b/RwTicketAssistantV2/app/manifest.json @@ -51,12 +51,12 @@ "browser_action": { "default_icon": "icons/icon_32.png", "default_popup": "air/popup.html", - "default_title": "猎豹抢票党 (集成12306订票助手V6)" + "default_title": "猎豹抢票党/12306订票助手 V7" }, - "description": "12306订票助手 v6: 帮您订票的小助手 by 木鱼,全力为您的车票购买献计献策!", + "description": "12306订票助手 v7: 帮您订票的小助手 by 木鱼,全力为您的车票购买献计献策!", "key": "7k6gnXVACvUPU2DfslJgSrWJTHqIg5uwd+Kgl/5zSg==", - "name": "12306订票助手V6/猎豹抢票党", - "version": "7.0.0", + "name": "猎豹抢票党/12306订票助手 V7", + "version": "7.0.1", "manifest_version": 2, "icons": { "16": "icons/icon_16.png", @@ -70,7 +70,7 @@ "background": { "page": "background.html" }, - "minimum_chrome_version": "28.0", + "minimum_chrome_version": "28", "externally_connectable": { "ids": [ ], "matches": [ diff --git a/RwTicketAssistantV2/app/pages/serverstatus.html b/RwTicketAssistantV2/app/pages/serverstatus.html index d8bfdc5..ad4704d 100644 --- a/RwTicketAssistantV2/app/pages/serverstatus.html +++ b/RwTicketAssistantV2/app/pages/serverstatus.html @@ -36,10 +36,10 @@ ";$("#trainList").html(c)},getPassenger:function(){sessionStorage.getItem(Public.user+"_passenger")?Query.setPassengerList(JSON.parse(sessionStorage.getItem(Public.user+"_passenger"))):bootStrap.post("confirmPassenger/getPassengerDTOs",null,null, -"leftTicket/init").done(function(a){a.status&&(Array.isArray(a.data.normal_passengers)&&0'+a[c].passenger_name+"";$("#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\u5f55\u540e\u53ef\u9009\u4e58\u8f66\u4eba",function(){window.location.href="login.html"},"\u767b\u5f55")});$('#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"][value="'+a+'"]').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={goRefer:!1,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();RunQuery.goRefer&&(RunQuery.goRefer= +else if("start_date"==c){b=new Date(a[c].replace(/\-/g,"/"));var d=(new Date).date;b.getTime()>=d.getTime()&&b.getTime()<=d.addDays(19).getTime()&&($("#start_date").html(b.format("yyyy\u5e74M\u6708d\u65e5")+" "+b.day(3)),$("#start_date_val").html(b.format("yyyy-MM-dd")),Public.calendar.setCurDate(b))}a=$("#query_form [name=filters]").val().split("&");Query.setFilter(a)},setFilter:function(a){var b=[],c;$("#filter_form [type=checkbox],#filter_form [type=radio]").prop("checked",!1);$("#filter_form #train_labels,#filter_form #passenger_list").html(""); +for(var d=0;d'+b[1]+''):"passenger"==b[0]&&($('#passenger_form [name="psg"][value="'+b[1]+'"]').prop("checked",!0),$("#filter_form #passenger_list").append(''+b[1].split("$")[0]+''));sessionStorage.getItem(Public.user+"_passenger")?(Query.passengerList=JSON.parse(sessionStorage.getItem(Public.user+"_passenger")),Query.passengerObj=JSON.parse(sessionStorage.getItem(Public.user+"_passengerobj"))):bootStrap.post("confirmPassenger/getPassengerDTOs", +null,null,"leftTicket/init").done(function(a){a.status&&(Array.isArray(a.data.normal_passengers)&&0'+(d[0]&&"00"!=d[0]?parseInt(d[0])+"\u5c0f\u65f6":"")+(d[1]? +parseInt(d[1])+"\u5206":"0\u5206")+''+b.station_train_code+""+b.start_time+" - "+b.arrive_time+"";$("#trainList").html(c)},getPassenger:function(){sessionStorage.getItem(Public.user+"_passenger")?Query.setPassengerList(JSON.parse(sessionStorage.getItem(Public.user+"_passenger"))):bootStrap.post("confirmPassenger/getPassengerDTOs",null,null,"leftTicket/init").done(function(a){a.status&&(Array.isArray(a.data.normal_passengers)&& +0'+a[c].passenger_name+"";$("#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\u5f55\u540e\u53ef\u9009\u4e58\u8f66\u4eba",function(){window.location.href="login.html"},"\u767b\u5f55")});$('#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"][value="'+a+'"]').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={goRefer:!1,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();RunQuery.goRefer&&(RunQuery.goRefer= !1,RunQuery.startRef())});$("#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);RunQuery.goRefer&&(RunQuery.goRefer=!1,RunQuery.startRef())});$("#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\u5f55\u540e\u8d2d\u7968",function(){location.href="login.html?t=submitorder"})});$("#autoTipBtn").live("click",function(){Public.isLogin?(RunQuery.goRefer= !0,Public.showInnerPage("filter")):window.location.href="login.html?t=autorefer"});$("#refresh_end").live("click",function(){RunQuery.refStop()})},run:function(){Query.getPassenger();RunQuery.getQueryData();if(!RunQuery.curData)return window.location.href="./",!1;RunQuery.setFilter();RunQuery.queryTicket();Query.filterBind()},curData:null,getQueryData:function(){if(Public.his.queryObjs[Public.his.querys[0][0]]){RunQuery.curData=Public.his.queryObjs[Public.his.querys[0][0]];var a=new Date(RunQuery.curData.start_date.replace(/\-/gi, @@ -205,7 +205,7 @@ RunQuery.refresh=!1;$("#refresh_train").hide();0==Object.keys(RunQuery.trainData 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$("body").height()?$(window).height():$("body").height();$("#user_menu").height(a-45)});$("#user_menu").on("click",function(a){"user_menu"==$(a.target).attr("id")&&$("#user_menu").hide()});$("#remind_btn").on("click",function(a){a="remind.html?";var b=$("#startStationCode").val(),c=$("#endStationCode").val();$("#start_date_val").val(); +window.confirmCallback=function(){$('#train_list li [data-fn="buy"]').eq(0).click();bootStrap.isAndroid&&__TicketJavaScriptObject__.switchToThisTab()};window.cancelCallback=function(){};var OrderSubmit={init:function(){if(0==$("#ordersubmit_page").length)return!1;$("#menu_btn").on("click",function(){var a;$("#user_menu").toggle();a=$(window).height()>$("body").height()?$(window).height():$("body").height();$("#user_menu").height(a-45)});$("#user_menu").on("click",function(a){"user_menu"==$(a.target).attr("id")&&$("#user_menu").hide()});$("#remind_btn").on("click",function(a){a="remind.html?";var b=$("#startStationCode").val(),c=$("#endStationCode").val();$("#start_date_val").val(); b&&(a+="&from="+b);c&&(a+="&to="+c);location.href=a});OrderSubmit.bindEvent();Public.checkLogin(function(){!sessionStorage.getItem(Public.user+"curBuy")&&!sessionStorage.getItem("curBuy")&&(window.location.href="./");OrderSubmit.getTrainInfo();OrderSubmit.getPassenger()},function(){window.location.href="login.html"},function(){window.location.href="login.html"})},getTrainInfo:function(){OrderSubmit.curData=JSON.parse(sessionStorage.getItem(Public.user+"curBuy"));OrderSubmit.curData||(OrderSubmit.curData= JSON.parse(sessionStorage.getItem("curBuy")));OrderSubmit.curBuySeat=sessionStorage.getItem(Public.user+"curBuySeat");OrderSubmit.curBuySeat||(OrderSubmit.curBuySeat=sessionStorage.getItem("curBuySeat"));OrderSubmit.curInfo=Public.his.queryObjs[Public.his.querys[0][0]];var a='
',b=new Date(OrderSubmit.curData.form_train_date.replace(/\-/g,"/")),a=a+('
'+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", @@ -234,7 +234,7 @@ stationTrainCode:OrderSubmit.submitData.stationTrainCode,seatType:OrderSubmit.su OrderSubmit.errorCallback("\u767b\u5f55\u72b6\u6001\u5f02\u5e38\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55\u3002"):"true"===a.data.op_2?OrderSubmit.errorCallback("\u6392\u961f\u4eba\u6570\u8fc7\u591a\uff0c\u4e0d\u5141\u8bb8\u63d0\u4ea4\u8ba2\u5355\u3002\u6392\u961f\u4eba\u6570="+a.data.countT):(Public.hideLoading(OrderSubmit.loading),cn12306.recode(),$("#code_layer").show())}).fail(function(){Public.hideLoading(OrderSubmit.loading);Public.alert({msg:"12306\u4e0d\u7ed9\u529b\u554a\uff0c\u5509\u3002\u51fa\u73b0\u7f51\u7edc\u9519\u8bef\u4e86\uff0c\u8bf7\u91cd\u8bd5.."})})}, submitGo:function(){Public.showLoading("\u6b63\u5728\u63d0\u4ea4");var a={passengerTicketStr:OrderSubmit.submitData.passengerTicketStr,oldPassengerStr:OrderSubmit.submitData.oldPassengerStr,randCode:$("#randcode").val(),purpose_codes:OrderSubmit.submitData.purpose_codes,key_check_isChange:OrderSubmit.submitData.key_check_isChange,leftTicketStr:OrderSubmit.submitData.leftTicketStr,train_location:OrderSubmit.submitData.train_location,_json_att:OrderSubmit.submitData._json_att};bootStrap.post("confirmPassenger/confirmSingleForQueueAsys", null,a,"leftTicket/init").done(function(a){Public.hideLoading();!a||!a.status||!a.data?Public.alert(a.messages[0]||"\u672a\u77e5\u9519\u8bef"):a.data.isRelogin?Public.alert("\u767b\u5f55\u72b6\u6001\u5f02\u5e38\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55\u3002"):a.data&&!a.data.submitStatus?Public.alert(a.data.errMsg||"\u672a\u77e5\u9519\u8bef"):($("#code_layer").hide(),Public.showLoading("\u8ba2\u7968\u6210\u529f\uff01\u6b63\u5728\u8df3\u8f6c..."),setTimeout(function(){Public.hideLoading();window.location.href= -"no_complete_order.html"},1500))}).fail(function(){Public.hideLoading(OrderSubmit.loading);Public.alert("12306\u4e0d\u7ed9\u529b\u554a\uff0c\u5509\u3002\u51fa\u73b0\u7f51\u7edc\u9519\u8bef\u4e86\uff0c\u8bf7\u91cd\u8bd5..")})},errorCallback:function(a){Public.hideLoading(OrderSubmit.loading);-1!=a.indexOf("\u4f60\u8fd8\u6709\u672a\u5904\u7406\u7684\u8ba2\u5355")?Public.confirm('\u4f60\u8fd8\u6709\u672a\u5904\u7406\u7684\u8ba2\u5355\uff0c\u8bf7\u4f60\u5230
[\u672a\u5b8c\u6210\u8ba2\u5355]\u8fdb\u884c\u5904\u7406!', +"no_complete_order.html"},1500))}).fail(function(){Public.hideLoading(OrderSubmit.loading);Public.alert("12306\u4e0d\u7ed9\u529b\u554a\uff0c\u5509\u3002\u51fa\u73b0\u7f51\u7edc\u9519\u8bef\u4e86\uff0c\u8bf7\u91cd\u8bd5..")})},errorCallback:function(a){Public.hideLoading(OrderSubmit.loading);-1!=a.indexOf("\u60a8\u8fd8\u6709\u672a\u5904\u7406\u7684\u8ba2\u5355")?Public.confirm('\u4f60\u8fd8\u6709\u672a\u5904\u7406\u7684\u8ba2\u5355\uff0c\u8bf7\u4f60\u5230
[\u672a\u5b8c\u6210\u8ba2\u5355]\u8fdb\u884c\u5904\u7406!', function(){window.location.href="no_complete_order.html"}):Public.alert(a)}};var NoComplete={token:"",bankId:"",payLoading:null,curNo:"",loading:null,init:function(){if(0==$("#no_complete_page").length)return!1;$("#menu_btn").on("click",function(){var a;$("#user_menu").toggle();a=$(window).height()>$("body").height()?$(window).height():$("body").height();$("#user_menu").height(a-45)});$("#user_menu").on("click",function(a){"user_menu"==$(a.target).attr("id")&&$("#user_menu").hide()});$("#remind_btn").on("click",function(a){a="remind.html?";var b=$("#startStationCode").val(), c=$("#endStationCode").val();$("#start_date_val").val();b&&(a+="&from="+b);c&&(a+="&to="+c);location.href=a});NoComplete.loading=Public.showLoading("\u6b63\u5728\u83b7\u53d6\u8ba2\u5355\u4fe1\u606f");Public.checkLogin(NoComplete.getToken,NoComplete.noLogin,NoComplete.noLogin);$("[data-no]").live("click",function(){NoComplete.curNo=$(this).attr("data-no");NoComplete.selectBank()});$('[data-fn="close_bank"]').live("click",function(){Public.hideInnerPage()});$("#banks [data-bank]").live("click",function(){NoComplete.bankId= $(this).attr("data-bank");NoComplete.payLoading=Public.showLoading("\u6b63\u5728\u52a0\u8f7d");NoComplete.pay()})},noLogin:function(){Public.hideLoading();Public.alert("\u8bf7\u5148\u767b\u5f55",function(){location.href="login.html?no_commplete"})},loadNum:0,getOrder:function(){NoComplete.loadNum++;bootStrap.get("queryOrder/queryMyOrderNoComplete","json",null,"queryOrder/initNoComplete").done(function(a){Public.hideLoading();if(a.status&&a.data)if(a.data.orderDBList&&0",a+='
\u8d77\u552e\u65f6\u95 $("#start_date_val").val();b&&(a+="&from="+b);c&&(a+="&to="+c);location.href=a});OrderList.loading=Public.showLoading("\u6b63\u5728\u83b7\u53d6\u8ba2\u5355\u5217\u8868");Public.checkLogin(OrderList.hasLogin,OrderList.noLogin,OrderList.noLogin)},hasLogin:function(){OrderList.getNoComOrder();$("[data-no]").live("click",function(){NoComplete.curNo=$(this).attr("data-no");NoComplete.selectBank()});$("[data-cancelno]").live("click",function(a){var b=$(this).attr("data-cancelno"),c=$(this).closest("li"); Public.confirm("\u53d6\u6d883\u6b21\u8ba2\u5355\u540e\uff0c\u5f53\u5929\u4e0d\u53ef\u518d\u8ba2\u7968\uff0c\u786e\u5b9a\u8981\u53d6\u6d88\u8ba2\u5355\u5417\uff1f",function(){NoComplete.cancelOrder(b,function(){c.remove()})})});$('[data-fn="close_bank"]').live("click",function(){Public.hideInnerPage()});$("#banks [data-bank]").live("click",function(){NoComplete.bankId=$(this).attr("data-bank");NoComplete.payLoading=Public.showLoading("\u6b63\u5728\u52a0\u8f7d");NoComplete.pay()})},noLogin:function(){Public.hideLoading(); Public.alert("\u8bf7\u5148\u767b\u5f55",function(){location.href="login.html?t=order_list"})},loading:null,hisList:[],getNoComOrder:function(){bootStrap.get("queryOrder/queryMyOrderNoComplete","json",null,"queryOrder/initNoComplete").done(function(a){Public.hideLoading();a.status&&(a.data&&a.data.orderDBList&&0",a=a+'
',a=a+('
'+b[d].order_date.split(" ")[0]+"\u8ba2\u5355\u53f7\uff1a"+b[d].sequence_no+"
"),a=a+('
'+b[d].train_code_page+""+c[0]+" "+(new Date(b[d].start_train_date_page.replace(/\-/gi,"/"))).day(3)+" "+c[1]+"\u5f00
"),a=a+('
'+ b[d].from_station_name_page[0]+" \u2192 "+b[d].to_station_name_page[0]+"
"),c=b[d].tickets,e=0;e","a"!=c[e].ticket_status_code&&(a="c"!=c[e].ticket_status_code?a+(''+c[e].ticket_status_name+""):a+'\u5df2\u9000\u7968'),a+=c[e].passengerDTO.passenger_name+" "+c[e].ticket_type_name+" "+c[e].seat_type_name+" "+c[e].coach_name+"\u8f66"+c[e].seat_name,a+="
";a+="
";a+='
'; @@ -291,9 +291,9 @@ b){g.setRequestHeader("Fish-"+a,b)});g.onreadystatechange=function(){4===g.ready function(b,c,d,e,f,n){var k=new $.Deferred;n=n||{};f&&(n=$.extend({},n,{Referer:f}));b=new CustomEvent("ajaxproxy",{detail:{data:{url:c,data:e,timeout:12E4,type:b,dataType:d,refer:f,headers:n},index:++m},cancelable:!0});document.dispatchEvent(b)?(document.dispatchEvent(new CustomEvent("requestSupportError")),a.reject("\u5e73\u53f0\u9519\u8bef")):g[b.detail.index]={done:function(a){k.resolve(a,{headers:this.headers,statusCode:this.status,statusDescription:this.statusText,id:this.index})},fail:function(){k.reject(this.text, {headers:this.headers,statusCode:this.status,statusDescription:this.statusText,id:this.index})}};return k},c=function(a,b,c,d,e){var f=new $.Deferred;e=e||{};d&&(e=$.extend({},e,{Referer:d}));a=new CustomEvent("ajaxLoadVerifyCode",{detail:{method:a,url:b,refer:d,index:++m,headers:e,data:c},cancelable:!0});document.dispatchEvent(a)?(document.dispatchEvent(new CustomEvent("requestSupportError")),f.reject("\u5e73\u53f0\u9519\u8bef")):g[a.detail.index]={done:function(){f.resolve(this.url,{headers:this.headers, statusCode:this.status,statusDescription:this.statusText,id:this.index})},fail:function(){f.reject(this.text,{headers:this.headers,statusCode:this.status,statusDescription:this.statusText,id:this.index})}};return f};document.addEventListener("ajaxproxyfinished",function(a){a=a.detail;if(g[a.index]){var b=g[a.index];delete g[a.index];404===a.status&&document.dispatchEvent(new CustomEvent("networkOrCertificationError"));a.success?b.done.call(a||window,a.model):b.fail.call(a||window,a.model)}});return{ajax:b, -get:function(){var a=[].slice.call(arguments);a.unshift("GET");return b.apply(this,a)},post:function(){var a=[].slice.call(arguments);a.unshift("POST");return b.apply(this,a)},getImage:function(a,b){return c("GET",a,null,b)}}}(),y=function(){var a=function(a,b,c,d,e,f){var g=new $.Deferred;f=f||{};e&&(f=$.extend({},f,{Referer:e}));f["Fish-RawUrl"]=b;$.ajax({url:"/12306/proxy.php",data:d,timeout:12E4,type:a,dataType:c,refer:e,headers:f}).done(function(a,b){console.log(a,b);g.resolve(a,{headers:b.getAllResponseHeaders(), -statusCode:b.statusCode,statusDescription:b.statusText,id:0})}).fail(function(){g.reject(xhr.responseText,{headers:xhr.getAllResponseHeaders(),statusCode:xhr.statusCode,statusDescription:xhr.statusText,id:0})});return g},b=function(a,b,c,d,e){var f=new $.Deferred,g=new window.XMLHttpRequest;e=e||{};e.RawUrl=b;e.Origin=/(https?:\/\/[^\/]+\/)/.exec(b)[1];e["User-Agent"]="Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)";e.Referer=d||"";g.open(a,"/12306/proxy.php",!0);$.each(e,function(a, -b){g.setRequestHeader("Fish-"+a,b)});g.onreadystatechange=function(){4===g.readyState&&(200!==g.status?f.reject("\u52a0\u8f7d\u9a8c\u8bc1\u7801\u5931\u8d25\uff0c\u8bf7\u70b9\u51fb\u9a8c\u8bc1\u7801\u5237\u65b0",{headers:g.getAllResponseHeaders(),statusCode:g.statusCode,statusDescription:g.statusText,id:0}):f.resolve(base64.toObjectUrl(base64.encodeArrayBuffer(g.response),"image/jpeg"),{headers:g.getAllResponseHeaders(),statusCode:g.statusCode,statusDescription:g.statusText,id:0}))};g.responseType= -"arraybuffer";g.send(c||null);return f};return{ajax:a,get:function(){var b=[].slice.call(arguments);b.unshift("GET");return a.apply(this,b)},post:function(){var b=[].slice.call(arguments);b.unshift("POST");return a.apply(this,b)},getImage:function(a,c){return b("GET",a,null,c)}}}();a.getAjaxComponent=function(){return b?p:c?A:f?k:y};a.ajax=function(){var b=[].slice.call(arguments);b[1]&&(b[1]=l.getUrl(b[1]));b[4]&&(b[4]=l.getUrl(b[4]));b[5]&&(b[5]=l.getHeaders(b[5]));return a.getAjaxComponent().ajax.apply(this, +get:function(){var a=[].slice.call(arguments);a.unshift("GET");return b.apply(this,a)},post:function(){var a=[].slice.call(arguments);a.unshift("POST");return b.apply(this,a)},getImage:function(a,b){return c("GET",a,null,b)}}}(),y=function(){var a=function(a,b,c,d,e,f){var g=new $.Deferred;f=f||{};c=c||"json";e&&(f=$.extend({},f,{Referer:e}));var n={},k;for(k in f)n["FISHPROXY-"+k]=f[k];n["FISHPROXY-RawUrl"]=b;$.ajax({url:"/12306/proxy.php",data:d,timeout:12E4,type:a,dataType:c,refer:e,headers:n}).done(function(a, +b,c){g.resolve(a,{headers:c.getAllResponseHeaders(),statusCode:c.statusCode,statusDescription:c.statusText,id:0})}).fail(function(a){g.reject(a.responseText,{headers:a.getAllResponseHeaders(),statusCode:a.statusCode,statusDescription:a.statusText,id:0})});return g},b=function(a,b,c,d,e){var f=new $.Deferred,g=new window.XMLHttpRequest;e=e||{};e.RawUrl=b;e.Origin=/(https?:\/\/[^\/]+\/)/.exec(b)[1];e["User-Agent"]="Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)";e.Referer=d||"";g.open(a, +"/12306/proxy.php",!0);$.each(e,function(a,b){g.setRequestHeader("FISHPROXY-"+a,b)});g.onreadystatechange=function(){4===g.readyState&&(200!==g.status?f.reject("\u52a0\u8f7d\u9a8c\u8bc1\u7801\u5931\u8d25\uff0c\u8bf7\u70b9\u51fb\u9a8c\u8bc1\u7801\u5237\u65b0",{headers:g.getAllResponseHeaders(),statusCode:g.statusCode,statusDescription:g.statusText,id:0}):f.resolve(base64.toObjectUrl(base64.encodeArrayBuffer(g.response),"image/jpeg"),{headers:g.getAllResponseHeaders(),statusCode:g.statusCode,statusDescription:g.statusText, +id:0}))};g.responseType="arraybuffer";g.send(c||null);return f};return{ajax:a,get:function(){var b=[].slice.call(arguments);b.unshift("GET");return a.apply(this,b)},post:function(){var b=[].slice.call(arguments);b.unshift("POST");return a.apply(this,b)},getImage:function(a,c){return b("GET",a,null,c)}}}();a.getAjaxComponent=function(){return b?p:c?A:f?k:y};a.ajax=function(){var b=[].slice.call(arguments);b[1]&&(b[1]=l.getUrl(b[1]));b[4]&&(b[4]=l.getUrl(b[4]));b[5]&&(b[5]=l.getHeaders(b[5]));return a.getAjaxComponent().ajax.apply(this, b)};a.get=function(){var b=[].slice.call(arguments);b.unshift("GET");return a.ajax.apply(this,b)};a.post=function(){var b=[].slice.call(arguments);b.unshift("POST");return a.ajax.apply(this,b)};a.getImage=function(){var b=[].slice.call(arguments);b[1]&&(b[1]=l.getUrl(b[1]));b[3]&&(b[3]=l.getUrl(b[3]));b[5]&&(b[4]=l.getHeaders(b[4]));return a.getAjaxComponent().getImage.apply(this,b)};$(function(){if(c||f||b)a.resolve();else{var d=setTimeout(function(){a.resolve()},500);document.addEventListener("mobileSupportInitialized", function(){clearTimeout(d);f=!0;a.resolve()})}});return a}();bootStrap.done(function(){Client.init();Public.init();Login.init();Query.init();RunQuery.init();OrderSubmit.init();NoComplete.init();MyRemind.init();Remind.init();OrderList.init()}); diff --git a/Mobile12306New/js/login.js b/Mobile12306New/js/login.js index 9374fff..30d77d8 100644 --- a/Mobile12306New/js/login.js +++ b/Mobile12306New/js/login.js @@ -84,7 +84,7 @@ var Login = { 'randCode': Login.formData['randcode'] }; // url, returnType, postdata, refer, headers - bootStrap.post("login/loginAysnSuggest", null, loginData, "login/init").done(function(json) { + bootStrap.post("login/loginAysnSuggest", 'json', loginData, "login/init").done(function(json) { if (json && json.data && json.data.loginCheck === 'Y') { Login.userPostLogin(); return; diff --git a/Mobile12306New/js/order_list.js b/Mobile12306New/js/order_list.js index b7b28ad..8e5a3aa 100644 --- a/Mobile12306New/js/order_list.js +++ b/Mobile12306New/js/order_list.js @@ -99,7 +99,7 @@ var OrderList = { var data = { 'queryType': 1, 'queryStartDate': (new Date()).addDays(-90).format('yyyy-MM-dd'), - 'queryEndDate': (new Date()).format('yyyy-MM-dd'), + 'queryEndDate': (new Date().addDays(2)).format('yyyy-MM-dd'), 'come_from_flag': 'my_order', 'pageSize': 100, 'pageIndex': 0, diff --git a/Mobile12306New/js/prdersubmit.js b/Mobile12306New/js/prdersubmit.js index 6a05c1c..97292c3 100644 --- a/Mobile12306New/js/prdersubmit.js +++ b/Mobile12306New/js/prdersubmit.js @@ -566,7 +566,7 @@ var OrderSubmit = { }, errorCallback: function(tipText) { Public.hideLoading(OrderSubmit.loading); - if (tipText.indexOf('你还有未处理的订单') != -1) { + if (tipText.indexOf('您还有未处理的订单') != -1) { Public.confirm('你还有未处理的订单,请你到
[未完成订单]进行处理!', function() { window.location.href = 'no_complete_order.html'; }); diff --git a/Mobile12306New/js/query.js b/Mobile12306New/js/query.js index d588d1a..ff1c9a8 100644 --- a/Mobile12306New/js/query.js +++ b/Mobile12306New/js/query.js @@ -161,7 +161,6 @@ var Query = { $('#start_date').html(date.format('yyyy年M月d日') + ' ' + date.day(3)); $('#start_date_val').html(date.format('yyyy-MM-dd')); Public.calendar.setCurDate(date); - Public.setDate(date); } } } diff --git a/Mobile12306New/js/remind.js b/Mobile12306New/js/remind.js index 38594f8..150ce7d 100644 --- a/Mobile12306New/js/remind.js +++ b/Mobile12306New/js/remind.js @@ -2,12 +2,13 @@ var Remind = { sellTime: null, loading: null, init: function() { + // alert(typeof __ksticket) if ($('#remind_page').length == 0) { return false; } Remind.deviceInfo = JSON.parse(bootStrap.device_info); -/* Remind.deviceInfo = { + /* Remind.deviceInfo = { 'did':'020000000000|FFFFFFFF8C61465AA89F4FA78D8767DC0B7F531C', 'device_type':1 }; */ diff --git a/Mobile12306New/js/run_query.js b/Mobile12306New/js/run_query.js index 2b140e0..eaec229 100644 --- a/Mobile12306New/js/run_query.js +++ b/Mobile12306New/js/run_query.js @@ -757,7 +757,7 @@ var RunQuery = { error: function(xhr, type) { } - }) + }); }, setRec: function(groups) { if (!groups || groups.length == 0) { @@ -856,6 +856,10 @@ var RunQuery = { window['confirmCallback'] = function() { $('#train_list li [data-fn="buy"]').eq(0).click(); + if(bootStrap.isAndroid){ + __TicketJavaScriptObject__.switchToThisTab(); + } + } window['cancelCallback'] = function() { diff --git a/Mobile12306New/login.php b/Mobile12306New/login.php new file mode 100644 index 0000000..0604611 --- /dev/null +++ b/Mobile12306New/login.php @@ -0,0 +1,174 @@ + + + + +12306抢火车票 + + + + + + + + + + + + + +

非常抱歉,由于12306技术问题,暂时无法访问,攻城狮们正在加班修复,推荐使用猎豹电脑版抢票或通过电话订票!

'; + exit; + } + //合法用户 + //TODO 1判断西东当前在线人数 初始化1000,2、对耽搁url做访问次数限制,初始10 + $config['host'] = '10.10.1.116'; + $config['port'] = '11212'; + $memcache = new Memcache(); + $memcache->connect($config['host'], $config['port']); + if(TOTAL_LIMIT) + {//需要做限制 + $cfg = array( + 'minute' => 10, + 'nums' => 1000, + );//10分钟进来50个人 + $now = intval(date('i'))/10;//当前分钟数落到的整十分钟中 + $timeKey = "tielu_".date("YmdH").$now; + $total = $memcache->get($timeKey); + if($total !== FALSE) + { + if($total >= $cfg['nums']) + { + echo $str = '

非常抱歉,由于12306技术问题,暂时无法访问,攻城狮们正在加班修复,推荐使用猎豹电脑版抢票或通过电话订票!

'; + exit; + } + else + { + $memcache->increment($timeKey); + } + } + else + { + $memcache->set($timeKey,1,601); + } + } + if(CACHE_LIMIT) + {//如果需要进行本次url的访问次数限制 + $key = "tielu_".$paramas['nonce']; + $value = $memcache->get($key); + if($value !== FALSE) + { + if($value >= LIMIT) + { + echo $str = '

非常抱歉,由于12306技术问题,暂时无法访问,攻城狮们正在加班修复,推荐使用猎豹电脑版抢票或通过电话订票!

'; + exit; + } + else + { + $memcache->increment($key); + } + } + else + { + $memcache->set($key,1); + } + } + function createSign($paramas) + { + ksort($paramas,SORT_STRING); + $str = urlencode(http_build_query($paramas))."&"; + $signature = base64_encode(hash_hmac("sha1", $str, TIELU_SECRET.'&', true)); + return $signature; + } + ?> + + +
+
+ + + +
本日起售车票
+ +
+
用户名 + +
+
密 码 + +
+
验证码 + + 点击刷新验证码
+
+ + +
+ +
+ +


+ 铁路官方订票电话:95105105

+

温馨提示:春运购票高峰期,12306服务不稳定,如遇异常请耐心操作。

+ +
+
+ +
+ 馈
+ + diff --git a/Mobile12306New/myremind.html b/Mobile12306New/myremind.html index a0b691c..a19c81a 100644 --- a/Mobile12306New/myremind.html +++ b/Mobile12306New/myremind.html @@ -5,6 +5,11 @@ 提醒列表 + diff --git a/Mobile12306New/order_list.html b/Mobile12306New/order_list.html index 60ea752..1a3f397 100644 --- a/Mobile12306New/order_list.html +++ b/Mobile12306New/order_list.html @@ -1,7 +1,7 @@ - + 订单列表 @@ -18,8 +18,7 @@

登录12306退票、改签业务,请登录12306完成

-
    -
+
    diff --git a/Mobile12306New/remind.html b/Mobile12306New/remind.html index b330a01..9a9ea71 100644 --- a/Mobile12306New/remind.html +++ b/Mobile12306New/remind.html @@ -5,6 +5,11 @@ 预售提醒 +