From 94852177f41d052b64e2199bec8c3890a2405a9a Mon Sep 17 00:00:00 2001 From: iFish Date: Fri, 5 Sep 2014 18:34:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=8F=90=E4=BA=A4=E4=BB=A3?= =?UTF-8?q?=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 @@