代码同步提交

This commit is contained in:
iFish 2015-02-08 23:31:05 +08:00
parent 6bf46bdd39
commit d3be7ba71d
17 changed files with 188 additions and 66 deletions

View File

@ -730,6 +730,38 @@ window.cbl = function (u, h) {
} }
}; };
var ajaxWrapper = function (url, host) {
var def = new $.Deferred();
chrome.tabs.httpRequest(url, "User-Agent: MSIE 9.0\r\nHost: " + host, 3000, function (result) {
var resp = null;
try {
resp = JSON.parse(result);
} catch (e) {
}
if (!resp) {
def.reject(0, 'unknown error.');
return;
}
var a = resp[0];
var b = resp[1];
var c = resp[2];
if (!a) {
if (b === 10001) {
//timeout
def.reject(0, 'timeout');
} else {
def.reject(b, c);
}
} else {
def.resolve(c, b);
}
});
return def.promise();
};
var testServer = function (server, callback) { var testServer = function (server, callback) {
server = server[0]; server = server[0];
server.host = server.host || "kyfw.12306.cn"; server.host = server.host || "kyfw.12306.cn";
@ -737,15 +769,8 @@ window.cbl = function (u, h) {
var url = "https://" + server.ip + "/otn/"; var url = "https://" + server.ip + "/otn/";
var time = new Date(); var time = new Date();
$.ajax(url, { ajaxWrapper(url, server.host).done(function (text) {
timeout: 4000, if (!text || text.indexOf("客运服务") !== -1)
method: "GET",
headers: {
"Host": server.host
},
dataType: "text"
}).done(function (text) {
if (text.indexOf("客运服务") !== -1)
server.speed = new Date() - time; server.speed = new Date() - time;
else { else {
server.speed = -2; server.speed = -2;
@ -972,12 +997,7 @@ window.cbl = function (u, h) {
return; return;
} }
//测试是否有代理服务器 //测试是否有代理服务器
$.ajax("https://" + localDns['kyfw.12306.cn'][0] + "/otn/", { ajaxWrapper("https://" + localDns['kyfw.12306.cn'][0] + "/otn/", "kyfw.12306.cn").done(function () {
method: "GET",
headers: {
Host: "kyfw.12306.cn"
}
}).done(function () {
checkAndStart(); checkAndStart();
}).fail(function () { }).fail(function () {
valid = -1; valid = -1;
@ -1339,6 +1359,7 @@ window.cbl = function (u, h) {
var socket = null; var socket = null;
var that = this; var that = this;
var heratBeatTimer = null; var heratBeatTimer = null;
var roomId;
var sendHeartBeat = function () { var sendHeartBeat = function () {
if (socket && socket.readyState === 1) { if (socket && socket.readyState === 1) {
@ -1348,6 +1369,7 @@ window.cbl = function (u, h) {
var connect = function (room) { var connect = function (room) {
currentRoom = room; currentRoom = room;
var url = currentRoom.url; var url = currentRoom.url;
roomId = room.id;
if (socket !== null && socket.url !== url) if (socket !== null && socket.url !== url)
disconnect(); disconnect();
@ -1357,6 +1379,7 @@ window.cbl = function (u, h) {
socket.onclose = function () { socket.onclose = function () {
socket = null; socket = null;
postMessageToPort({ action: "chatRoomDisconnected" }); postMessageToPort({ action: "chatRoomDisconnected" });
$.post("http://12306.liebao.cn/index.php?r=Api/GetRoomOnlineNum", { roomId: roomId });
}; };
socket.onopen = function () { socket.onopen = function () {
postMessageToPort({ action: "chatRoomConnected" }); postMessageToPort({ action: "chatRoomConnected" });
@ -1364,6 +1387,9 @@ window.cbl = function (u, h) {
if (currentRoom.heartbeat && !heratBeatTimer) { if (currentRoom.heartbeat && !heratBeatTimer) {
heratBeatTimer = setInterval(sendHeartBeat, currentRoom.heartbeat); heratBeatTimer = setInterval(sendHeartBeat, currentRoom.heartbeat);
}; };
//trigger
$.post("http://12306.liebao.cn/index.php?r=Api/GetRoomOnlineNum", { roomId: roomId });
}; };
socket.onmessage = function (e) { socket.onmessage = function (e) {
var tmsg = e.data; var tmsg = e.data;

View File

@ -56,7 +56,7 @@
"description": "12306订票助手 v6: 帮您订票的小助手 by 木鱼,全力为您的车票购买献计献策!", "description": "12306订票助手 v6: 帮您订票的小助手 by 木鱼,全力为您的车票购买献计献策!",
"key": "7k6gnXVACvUPU2DfslJgSrWJTHqIg5uwd+Kgl/5zSg==", "key": "7k6gnXVACvUPU2DfslJgSrWJTHqIg5uwd+Kgl/5zSg==",
"name": "12306订票助手V6/猎豹抢票党", "name": "12306订票助手V6/猎豹抢票党",
"version": "6.3.0", "version": "7.0.0",
"manifest_version": 2, "manifest_version": 2,
"icons": { "icons": {
"16": "icons/icon_16.png", "16": "icons/icon_16.png",

36
Web12306/CrxHandler.cs Normal file
View File

@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Web12306
{
public class CrxHandler:IHttpHandler
{
#region Implementation of IHttpHandler
/// <summary>
/// 通过实现 <see cref="T:System.Web.IHttpHandler"/> 接口的自定义 HttpHandler 启用 HTTP Web 请求的处理。
/// </summary>
/// <param name="context"><see cref="T:System.Web.HttpContext"/> 对象,它提供对用于为 HTTP 请求提供服务的内部服务器对象(如 Request、Response、Session 和 Server的引用。</param>
public void ProcessRequest(HttpContext context)
{
var request = context.Request;
var response = context.Response;
response.Redirect("http://www.fishlee.net/service/download/383");
}
/// <summary>
/// 获取一个值,该值指示其他请求是否可以使用 <see cref="T:System.Web.IHttpHandler"/> 实例。
/// </summary>
/// <returns>
/// 如果 <see cref="T:System.Web.IHttpHandler"/> 实例可再次使用,则为 true否则为 false。
/// </returns>
public bool IsReusable {
get { return false; }
}
#endregion
}
}

View File

@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
// //
// 你可以指定所有值,也可以让修订版本和内部版本号采用默认值, // 你可以指定所有值,也可以让修订版本和内部版本号采用默认值,
// 方法是按如下所示使用 "*": // 方法是按如下所示使用 "*":
[assembly: AssemblyVersion("1.0.14244.60")] [assembly: AssemblyVersion("1.0.15002.62")]
[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -652,6 +652,12 @@ namespace Web12306
public DateTime Date { get; set; } public DateTime Date { get; set; }
[JsonProperty("tt")]
public string[] SelectedTrain { get; set; }
[JsonProperty("ts")]
public string[] SelectedSeats { get; set; }
public Dictionary<string, TrainInfoItem> Stops { get; set; } public Dictionary<string, TrainInfoItem> Stops { get; set; }
/// <summary> /// <summary>
@ -665,6 +671,15 @@ namespace Web12306
if (Stops.Values.Any(s => (s.TrainInfo.code == s.TrainInfo.from.code && s.TrainInfo.to.code == s.TrainInfo.end.code) || s.TrainInfo.available < 0)) if (Stops.Values.Any(s => (s.TrainInfo.code == s.TrainInfo.from.code && s.TrainInfo.to.code == s.TrainInfo.end.code) || s.TrainInfo.available < 0))
return true; return true;
//add 2014年9月4日 - 检测非法席别
if (SelectedSeats == null)
return true;
if (SelectedSeats.Length > 0)
{
if (Stops.Values.Any(s => !SelectedSeats.Any(x => s.TrainInfo.ticketMap.ContainsKey(x[0]))))
return true;
}
return false; return false;
} }

View File

@ -128,6 +128,7 @@
<Compile Include="App_Start\RouteConfig.cs" /> <Compile Include="App_Start\RouteConfig.cs" />
<Compile Include="App_Start\WebApiConfig.cs" /> <Compile Include="App_Start\WebApiConfig.cs" />
<Compile Include="ChatServers.cs" /> <Compile Include="ChatServers.cs" />
<Compile Include="CrxHandler.cs" />
<Compile Include="Global.asax.cs"> <Compile Include="Global.asax.cs">
<DependentUpon>Global.asax</DependentUpon> <DependentUpon>Global.asax</DependentUpon>
</Compile> </Compile>
@ -165,7 +166,6 @@
<Content Include="Global.asax" /> <Content Include="Global.asax" />
<Content Include="images\autorefresh.png" /> <Content Include="images\autorefresh.png" />
<Content Include="images\cat.png" /> <Content Include="images\cat.png" />
<Content Include="images\css-sprite.mkm" />
<Content Include="images\hand.png" /> <Content Include="images\hand.png" />
<Content Include="images\loading.gif" /> <Content Include="images\loading.gif" />
<Content Include="images\css-sprite.png" /> <Content Include="images\css-sprite.png" />

View File

@ -103,6 +103,8 @@
#wx_sell_notification p.code span { #wx_sell_notification p.code span {
color: red; color: red;
font-weight: bold;
text-transform: uppercase;
} }
#wx_sell_notification span.hand { #wx_sell_notification span.hand {

View File

@ -436,7 +436,7 @@
<i class="fa fa-times"></i> <i class="fa fa-times"></i>
关闭 关闭
</a> </a>
购票提示
</header> </header>
<script type="text/x-dot-template" id="train_suggestion"> <script type="text/x-dot-template" id="train_suggestion">
<table> <table>
@ -481,7 +481,7 @@
<p><span>{{=t1.name}}</span></p> <p><span>{{=t1.name}}</span></p>
<p class="row2"> <p class="row2">
<span class="ticket-num">{{=(t1.count?t1.count+"张":"无票")}} </span> <span class="ticket-num">{{=(t1.count?t1.count+"张":"无票")}} </span>
<span>¥{{=t1.price/10}}</span> {{?t1.price>0.01}}<span>¥{{=t1.price/10}}</span>{{?}}
</p> </p>
</a> </a>
{{~}} {{~}}
@ -519,7 +519,7 @@
<div style="display:block;" class="result"> <div style="display:block;" class="result">
</div> </div>
<footer> <footer>
<strong>提示</strong> 跨站购票需要换取纸票,通过人工检票后在您所需要上车的站点上车,不可直接刷身份证入站。 <strong>提示</strong> 跨站购票需要换取纸票,通过人工检票后在您所需要上车的站点<span></span>上车,不可直接刷身份证入站。
</footer> </footer>
</section> </section>
<!-- 月日期选择 --> <!-- 月日期选择 -->
@ -592,7 +592,7 @@
<p><span>{{=t1.name}}</span></p> <p><span>{{=t1.name}}</span></p>
<p class="row2"> <p class="row2">
<span class="ticket-num">{{=(t1.count?t1.count+"张":"无票")}} </span> <span class="ticket-num">{{=(t1.count?t1.count+"张":"无票")}} </span>
<span>¥{{=t1.price/10}}</span> {{?t1.price>0.01}}<span>¥{{=t1.price/10}}</span>{{?}}
</p> </p>
</a> </a>
{{~}} {{~}}
@ -851,7 +851,7 @@
</span> </span>
<select class="passenger-seat normal"> <select class="passenger-seat normal">
{{~it.seats:s:i}} {{~it.seats:s:i}}
<option value="{{=s.code}}" {{=s.selected?"selected='selected'":""}}>{{=s.name}}(¥{{=s.price/10}}元)</option> <option value="{{=s.code}}" {{=s.selected?"selected='selected'":""}}>{{=s.name}}{{?s.price>0.01}}(¥{{=s.price/10}}元){{?}}</option>
{{~}} {{~}}
</select> </select>
<select class="passenger-type normal"> <select class="passenger-type normal">
@ -1103,8 +1103,8 @@
<img src="/images/wxqr.png" alt="" /> <img src="/images/wxqr.png" alt="" />
<span class="hand"></span> <span class="hand"></span>
<p class="code"> <p class="code">
抢票提醒密钥<span></span> 抢票提醒<span></span>
关注微信后按提醒输入的哦) (关注微信后按提醒输入的哦)
</p> </p>
</section> </section>
<script src="js/modules/jquery/jquery.js"></script> <script src="js/modules/jquery/jquery.js"></script>
@ -1112,5 +1112,13 @@
<script src="js/modules/doT.js"></script> <script src="js/modules/doT.js"></script>
<script src="js/modules/seajs/sea.js"></script> <script src="js/modules/seajs/sea.js"></script>
<script src="js/boot.js"></script> <script src="js/boot.js"></script>
<script>
var _hmt = _hmt || [];
(function () {
var hm = document.createElement("script");
hm.src = "//hm.baidu.com/hm.js?c7150a056b54f666f90c1a05e0700798";
document.getElementsByTagName("head")[0].appendChild(hm);
})();
</script>
</body> </body>
</html> </html>

View File

@ -94,16 +94,7 @@
} }
}); });
seajs.config({ seajs.config({
base: basePath, base: basePath
alias: {
"jquery": "modules/jquery/jquery.js",
"underscore": "modules/underscore/underscore.js"
},
vars: {
'locale': 'zh-cn'
},
charset: "utf-8",
debug: true
}); });
//检测扩展 //检测扩展

View File

@ -56,6 +56,8 @@
_w.v = JSON.stringify({ _w.v = JSON.stringify({
key: "stupid360", key: "stupid360",
from: cp.fromCode, from: cp.fromCode,
tt: cp.selectedTrain || [],
ts: cp.selectedSeatType || [],
to: cp.toCode, to: cp.toCode,
date: cp.depDate, date: cp.depDate,
stops: trainStops stops: trainStops
@ -179,7 +181,7 @@
this.checkTrainSuggestion = function () { this.checkTrainSuggestion = function () {
var suggestKey = cp.fromCode + cp.toCode + ((cp.selectedTrain || []).join("|")) + ((cp.selectedSeatType || []).join("|")); var suggestKey = cp.fromCode + cp.toCode + ((cp.selectedTrain || []).join("|")) + ((cp.selectedSeatType || []).join("|"));
if (suggestKey === cachedSuggest.key) { if (suggestKey === cachedSuggest.key && cachedSuggest.data) {
if (!lastQuerySuggest || (new Date() - lastQuerySuggest) > data.suggestRefreshInterval) { if (!lastQuerySuggest || (new Date() - lastQuerySuggest) > data.suggestRefreshInterval) {
lastQuerySuggest = new Date(); lastQuerySuggest = new Date();
loadTrainTickets(_.clone(cachedSuggest.data)); loadTrainTickets(_.clone(cachedSuggest.data));
@ -201,7 +203,7 @@
//如果设置了席别,并且设置的席别都没有,则不考虑 //如果设置了席别,并且设置的席别都没有,则不考虑
if (cp.selectedSeatType && cp.selectedSeatType.length) { if (cp.selectedSeatType && cp.selectedSeatType.length) {
if (!cp.selectedSeatType.some(function(x) { return t.tickets[x] || false; })) if (!cp.selectedSeatType.some(function (x) { return t.ticketMap[x] || false; }))
return false; return false;
} }
@ -210,7 +212,7 @@
if (!alltrains.length) if (!alltrains.length)
return; return;
//如果没有选择车次并且此时车次数量多于10趟则不予检测。 //如果没有选择车次并且此时车次数量多于10趟则不予检测。
if ((!cp.selectedTrain || !cp.selectedTrain.length) && alltrains.length > 15) if ((!cp.selectedTrain || !cp.selectedTrain.length) && alltrains.length > 30)
return; return;
loadTrainStops(); loadTrainStops();

View File

@ -63,6 +63,21 @@
values: values values: values
} }
}, function () { }); }, function () { });
//百度统计
if (window._hmt) {
try {
var data = "";
if (values) {
data = values.map(function(s) {
return encodeURIComponent(s);
}).join("&");
}
window._hmt.push(['_trackEvent', '12306', type, data]);
} catch (e) {
}
}
}; };
window.port = exports; window.port = exports;

View File

@ -145,10 +145,10 @@
that.fireEvent("chatRoomDisconnected"); that.fireEvent("chatRoomDisconnected");
page.find("button.button-primary").prop("disabled", true); page.find("button.button-primary").prop("disabled", true);
}); });
port.on("chatUpdateOnline", function () { port.on("chatUpdateOnline", function (e, d) {
if (!room) if (!room)
return; return;
room.onlinecount = this.detail.count; room.onlinecount = d.count;
//更新显示 //更新显示
that.refreshOnlineCount(); that.refreshOnlineCount();
}); });

View File

@ -165,7 +165,7 @@
return; return;
} }
cnt.find("li:first span:first").html(this.value); cnt.find("li:first span:first").html(this.value);
cnt.find("li:last time:last").html(utility.format24hTo12h(stationData.sellTime[v]) || "----"); cnt.find("li:last time:last").html(utility.format24hTo12h(stationData.sellTime[v]).join("<br />") || "----");
cnt.show(); cnt.show();
}; };
$("#from_city").change(showSellTime); $("#from_city").change(showSellTime);
@ -222,7 +222,7 @@
cp.depDate, cp.depDate,
cp.studentTicket + '', cp.studentTicket + '',
(cp.selectedSeatType && cp.selectedSeatType.length) || 0, (cp.selectedSeatType && cp.selectedSeatType.length) || 0,
(cp.selectedTrain && cp.selectedTrain.length) || 0 (cp.selectedTrain && cp.selectedTrain.length) || 0,
(cp.passengers && cp.passengers.length) || 0, (cp.passengers && cp.passengers.length) || 0,
(cp.dateloop && cp.dateloop.length) || 0, (cp.dateloop && cp.dateloop.length) || 0,
cp.hideNoTicket ? 1 : 0, cp.hideNoTicket ? 1 : 0,
@ -280,13 +280,6 @@
//服务器加速 //服务器加速
require("./ui-dnsspeeding.js"); require("./ui-dnsspeeding.js");
setTimeout(function () {
$("#wx_sell_notification").showModalDialog({
title: "成功订阅提醒",
width: 'auto'
});
}, 1000);
//$("#passenger_editor").showModalDialog({ //$("#passenger_editor").showModalDialog({
// title: "新增联系人", // title: "新增联系人",
// buttons: [ // buttons: [

View File

@ -169,7 +169,7 @@
cp.depDate, cp.depDate,
cp.studentTicket + '', cp.studentTicket + '',
(cp.selectedSeatType && cp.selectedSeatType.length) || 0, (cp.selectedSeatType && cp.selectedSeatType.length) || 0,
(cp.selectedTrain && cp.selectedTrain.length) || 0 (cp.selectedTrain && cp.selectedTrain.length) || 0,
(cp.passengers && cp.passengers.length) || 0, (cp.passengers && cp.passengers.length) || 0,
(cp.dateloop && cp.dateloop.length) || 0, (cp.dateloop && cp.dateloop.length) || 0,
cp.hideNoTicket ? 1 : 0, cp.hideNoTicket ? 1 : 0,

View File

@ -45,7 +45,7 @@
var times = container.find("time"); var times = container.find("time");
times.filter(":eq(0)").html(utility.formatDate(time, "MM月dd日")); times.filter(":eq(0)").html(utility.formatDate(time, "MM月dd日"));
times.filter(":eq(1)").html(utility.formatDate(bs, "MM月dd日")); times.filter(":eq(1)").html(utility.formatDate(bs, "MM月dd日"));
times.filter(":eq(2)").html(utility.format24hTo12h(sellTimes)); times.filter(":eq(2)").html(utility.format24hTo12h(sellTimes).join(" / "));
container.find("span:eq(0)").html(cp.fromText + "站"); container.find("span:eq(0)").html(cp.fromText + "站");
container[0].dataset.sellday = bs.getTime(); container[0].dataset.sellday = bs.getTime();
@ -135,20 +135,31 @@
} }
var args = [0, 0, 0]; var args = [0, 0, 0];
wxData = {
from: cp.fromCode,
to: cp.toCode,
fromName: cp.fromText,
toName: cp.toText,
date: cp.depDate,
tasks: []
};
if ($("#selltip_selection :checkbox:eq(2)").is(":checked:visible")) { if ($("#selltip_selection :checkbox:eq(2)").is(":checked:visible")) {
args[0] = 1; args[0] = 1;
//动车 //动车
assignTimeGroup(baseTime.getTime() + 11 * 60 * 60 * 1000, "动车/城铁"); assignTimeGroup(baseTime.getTime() + 11 * 60 * 60 * 1000, "动车/城铁");
wxData.tasks.push({ type: 3, time: '11:00' });
} }
if ($("#selltip_selection :checkbox:eq(1)").is(":checked:visible")) { if ($("#selltip_selection :checkbox:eq(1)").is(":checked:visible")) {
args[1] = 1; args[1] = 1;
//高铁 //高铁
assignTimeGroup(baseTime.getTime() + 14 * 60 * 60 * 1000, "高铁"); assignTimeGroup(baseTime.getTime() + 14 * 60 * 60 * 1000, "高铁");
wxData.tasks.push({ type: 2, time: '14:00' });
} }
if ($("#selltip_selection :checkbox:eq(3)").is(":checked:visible")) { if ($("#selltip_selection :checkbox:eq(3)").is(":checked:visible")) {
args[2] = 1; args[2] = 1;
//普通车次 //普通车次
assignTimeGroup(baseTime.getTime() + sellTime, "普通车次"); assignTimeGroup(baseTime.getTime() + sellTime, "普通车次");
wxData.tasks.push({ type: 1, time: container[0].dataset.timeset });
} }
port.sendMessage({ action: "setAlarmTask", detail: tasks }); port.sendMessage({ action: "setAlarmTask", detail: tasks });
@ -209,8 +220,18 @@
}); });
port.track(data.trackTypes.SHOW_NOTIFICATION_SELECT); port.track(data.trackTypes.SHOW_NOTIFICATION_SELECT);
}; };
var showWx = function() { var showWx = function () {
$.post("http://12306.liebao.cn/index.php?r=Api/SendDataToKey", {
data: JSON.stringify(wxData)
}).done(function (str) {
if (str.resCode === 0) {
$("#wx_sell_notification .code span").html(str.dataKey);
$("#wx_sell_notification").showModalDialog({
title: "成功订阅提醒",
width: 'auto'
});
}
});
}; };
var init = function () { var init = function () {
sessMgr.on("save", function () { sessMgr.on("save", function () {

View File

@ -72,14 +72,20 @@
return time2 - time1; return time2 - time1;
} }
exports.format24hTo12h = function (t) { exports.format24hTo12h = function (str) {
/// <summary>将24小时制式时间转换为12小时制式</summary> /// <summary>将24小时制式时间转换为12小时制式</summary>
if (!str)
return '';
if (!/0?(\d{1,2}):(\d{1,2})/.exec(t)) var args = str.split('/');
return ""; return args.map(function (t) {
if (!/0?(\d{1,2}):(\d{1,2})/.exec(t))
return "";
var h = parseInt(RegExp.$1, 10); var h = parseInt(RegExp.$1, 10);
return h < 13 ? "上午" + h + ":" + RegExp.$2 : "下午" + (h - 12) + ":" + RegExp.$2; return h < 13 ? "上午" + h + ":" + RegExp.$2 : "下午" + (h - 12) + ":" + RegExp.$2;
});
}; };
exports.selectTrain = function (trainList, trainFilter, seatOrder, seatFirst, count) { exports.selectTrain = function (trainList, trainFilter, seatOrder, seatFirst, count) {
var seat, train; var seat, train;

View File

@ -10,17 +10,24 @@ cd ..
copy tools\onInstall.js deploy\air\js\background\onInstall.js /Y copy tools\onInstall.js deploy\air\js\background\onInstall.js /Y
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "--pack-extension=%~dp0deploy" "--pack-extension-key=%~dp0src_lb.pem" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "--pack-extension=%~dp0deploy" "--pack-extension-key=%~dp0src_lb.pem"
ren deploy.crx 12306订票助手(猎豹浏览器专版)_不打开页面.crx ren deploy.crx 12306订票助手(猎豹浏览器专版)_B34_UP.crx
copy tools\onInstall_open12306.js deploy\air\js\background\onInstall.js /Y rem copy tools\onInstall_open12306.js deploy\air\js\background\onInstall.js /Y
rem "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "--pack-extension=%~dp0deploy" "--pack-extension-key=%~dp0src_lb.pem"
rem ren deploy.crx 12306订票助手(猎豹浏览器专版)_打开12306.crx
rem copy tools\onInstall_openWelcome.js deploy\air\js\background\onInstall.js /Y
rem "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "--pack-extension=%~dp0deploy" "--pack-extension-key=%~dp0src_lb.pem"
rem ren deploy.crx 12306订票助手(猎豹浏览器专版)_打开欢迎页.crx
tools\SourceFileUtility.exe deploy\manifest.json ", ""infobars""" ", ""experimental"""
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "--pack-extension=%~dp0deploy" "--pack-extension-key=%~dp0src_lb.pem" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "--pack-extension=%~dp0deploy" "--pack-extension-key=%~dp0src_lb.pem"
ren deploy.crx 12306订票助手(猎豹浏览器专版)_打开12306.crx ren deploy.crx 12306订票助手(猎豹浏览器专版)_B29.crx
copy tools\onInstall_openWelcome.js deploy\air\js\background\onInstall.js /Y tools\SourceFileUtility.exe deploy\manifest.json ", ""experimental""" ""
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "--pack-extension=%~dp0deploy" "--pack-extension-key=%~dp0src_lb.pem"
ren deploy.crx 12306订票助手(猎豹浏览器专版)_打开欢迎页.crx
tools\SourceFileUtility.exe deploy\manifest.json """infobars"", " ""
tools\SourceFileUtility.exe deploy\manifest.json "44/44/update_lb.xml" "44/44/update_chrome.xml" tools\SourceFileUtility.exe deploy\manifest.json "44/44/update_lb.xml" "44/44/update_chrome.xml"
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "--pack-extension=%~dp0deploy" "--pack-extension-key=%~dp0src_lb.pem" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "--pack-extension=%~dp0deploy" "--pack-extension-key=%~dp0src_lb.pem"
ren deploy.crx 12306¶©Æ±ÖúÊÖ_Chrome.crx ren deploy.crx 12306¶©Æ±ÖúÊÖ_Chrome.crx
rem experimental