2014-05-16 20:10:45 +08:00
|
|
|
|
define(function (require, exports, module) {
|
2014-07-04 20:57:57 +08:00
|
|
|
|
var citydata = require("./station/station_data.js");
|
2014-08-06 20:56:47 +08:00
|
|
|
|
var utility = require("./utility.js");
|
2014-07-04 20:57:57 +08:00
|
|
|
|
|
2014-08-19 21:33:26 +08:00
|
|
|
|
exports.sysNoticeUrl = "/systemNotice.json";
|
|
|
|
|
exports.sysNoticeLoadInterval = 30 * 60 * 1800;
|
|
|
|
|
exports.sysNoticeMaxShowCount = 3;
|
2014-07-23 17:32:50 +08:00
|
|
|
|
|
2014-07-04 20:57:57 +08:00
|
|
|
|
exports.citydata = citydata;
|
2014-07-08 20:11:31 +08:00
|
|
|
|
exports.cities = _(_.flatten(_.map(_.values(citydata.data), function (e) { return _.values(e); }))).mapObject(function (e) { return e.c; });;
|
2014-07-31 21:30:48 +08:00
|
|
|
|
exports.citynameMap = _.mapObject(exports.cities, function (c) {
|
|
|
|
|
return c.n;
|
|
|
|
|
});
|
2014-05-16 20:10:45 +08:00
|
|
|
|
exports.identityCardTypes = {
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
exports.passengerTypes = {
|
|
|
|
|
"1": "成人",
|
|
|
|
|
"2": "儿童",
|
|
|
|
|
"3": "学生",
|
2014-07-02 18:43:28 +08:00
|
|
|
|
"4": "残军"
|
2014-05-16 20:10:45 +08:00
|
|
|
|
};
|
|
|
|
|
exports.tagOtnMap = {
|
|
|
|
|
"9": "SWZ",
|
|
|
|
|
"P": "TZ",
|
|
|
|
|
"M": "ZY",
|
|
|
|
|
"O": "ZE",
|
|
|
|
|
"6": "GR",
|
|
|
|
|
"4": "RW",
|
|
|
|
|
"3": "YW",
|
|
|
|
|
"2": "RZ",
|
|
|
|
|
"1": "YZ",
|
|
|
|
|
"0": "WZ",
|
2014-06-26 22:24:54 +08:00
|
|
|
|
"*": "QT",
|
|
|
|
|
"B": "HB"
|
2014-05-16 20:10:45 +08:00
|
|
|
|
};
|
|
|
|
|
exports.tagRevMap = _.invert(exports.tagOtnMap);
|
|
|
|
|
exports.seatNameMap = {
|
|
|
|
|
"商务座": "SWZ",
|
|
|
|
|
"特等座": "TZ",
|
|
|
|
|
"一等座": "ZY",
|
|
|
|
|
"二等座": "ZE",
|
|
|
|
|
"高级软卧": "GR",
|
|
|
|
|
"软卧": "RW",
|
|
|
|
|
"硬卧": "YW",
|
|
|
|
|
"软座": "RZ",
|
|
|
|
|
"硬座": "YZ",
|
2014-06-26 22:24:54 +08:00
|
|
|
|
"无座": "WZ",
|
|
|
|
|
"混编硬座": "HB"
|
2014-05-16 20:10:45 +08:00
|
|
|
|
};
|
2014-07-29 21:19:06 +08:00
|
|
|
|
exports.tagMap = {
|
|
|
|
|
"动车或高铁或城铁": "[DGC].*",
|
|
|
|
|
"特快或直达": "[TZ].*",
|
|
|
|
|
"快车": "K.*",
|
|
|
|
|
"高铁": "G.*",
|
|
|
|
|
"动车": "D.*",
|
|
|
|
|
"城铁": "C.*",
|
|
|
|
|
"直达": "Z.*",
|
|
|
|
|
"特快": "T.*",
|
|
|
|
|
"任意车次": ".*"
|
|
|
|
|
};
|
|
|
|
|
exports.translateTrain = function (array) {
|
|
|
|
|
/// <summary>将列车编号翻译为实际的检查序列</summary>
|
2014-07-31 21:30:48 +08:00
|
|
|
|
return array.map(function (e) {
|
2014-07-29 21:19:06 +08:00
|
|
|
|
return exports.tagMap[e] || e;
|
|
|
|
|
});
|
|
|
|
|
};
|
2014-05-16 20:10:45 +08:00
|
|
|
|
exports.seatNameInvMap = _.invert(exports.seatNameMap);
|
|
|
|
|
exports.baseUri = "https://kyfw.12306.cn/otn/";
|
|
|
|
|
exports.queryBaseUri = "https://dynamic.12306.cn/otsquery/";
|
2014-06-26 22:24:54 +08:00
|
|
|
|
exports.toSeatTypeName = function (code) {
|
2014-06-20 20:55:14 +08:00
|
|
|
|
return exports.seatNameInvMap[exports.tagOtnMap[code]];
|
|
|
|
|
};
|
2014-07-23 17:32:50 +08:00
|
|
|
|
exports.seatDisplayOrder = 'O219PM6430'.split('');
|
2014-07-11 18:34:59 +08:00
|
|
|
|
exports.isDebug = ((function () { return false; }) + '').indexOf("false;") != -1;
|
2014-07-23 17:32:50 +08:00
|
|
|
|
exports.log = function () {
|
2014-07-11 18:34:59 +08:00
|
|
|
|
if (!exports.isDebug)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
console.log.apply(console, Array.prototype.slice.call(arguments));
|
|
|
|
|
};
|
2014-07-23 17:32:50 +08:00
|
|
|
|
|
|
|
|
|
exports.showMoreOptRange = [
|
|
|
|
|
[new Date(2014, 9, 5), new Date(2014, 9, 20)],
|
|
|
|
|
[new Date(2015, 1, 20), new Date(2014, 2, 18)]
|
|
|
|
|
];
|
|
|
|
|
|
2014-07-31 21:30:48 +08:00
|
|
|
|
exports.startTrainStationSuggestQueryLimit = 10;
|
|
|
|
|
exports.maxSuggestStationTimeRange = {
|
2014-08-14 21:33:47 +08:00
|
|
|
|
"": 300,
|
|
|
|
|
"G": 180,
|
|
|
|
|
"D": 180
|
2014-07-31 21:30:48 +08:00
|
|
|
|
}
|
2014-07-23 17:32:50 +08:00
|
|
|
|
exports.maxSellDays = 19;
|
2014-08-06 20:56:47 +08:00
|
|
|
|
exports.minDate = utility.trimToDay(new Date());
|
|
|
|
|
exports.maxDate = utility.addDays(exports.minDate, exports.maxSellDays);
|
2014-08-08 20:46:37 +08:00
|
|
|
|
exports.isStudentTicketEnabled = function (date) {
|
2014-08-06 20:56:47 +08:00
|
|
|
|
/// <summary>判断指定的日期学生票是否可以买</summary>
|
|
|
|
|
date = utility.toDate(date);
|
|
|
|
|
|
|
|
|
|
var tag = (date.getMonth() + 1) * 10 + date.getDate();
|
2014-08-08 20:46:37 +08:00
|
|
|
|
return _.any(exports.stuDate, function (e) {
|
2014-08-06 20:56:47 +08:00
|
|
|
|
return tag >= e[0] && tag <= e[1];
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
exports.stuDate = [
|
|
|
|
|
[101, 331],
|
|
|
|
|
[601, 930],
|
|
|
|
|
[1201, 1231]
|
|
|
|
|
];
|
2014-07-31 21:30:48 +08:00
|
|
|
|
exports.isValidDate = function (date) {
|
2014-08-06 20:56:47 +08:00
|
|
|
|
date = utility.trimToDay(date);
|
2014-07-23 17:32:50 +08:00
|
|
|
|
return date >= exports.minDate;
|
|
|
|
|
};
|
2014-07-31 21:30:48 +08:00
|
|
|
|
exports.isAutoBookEnabled = function (profile) {
|
|
|
|
|
return profile.selectedTrain && profile.selectedTrain.length
|
|
|
|
|
&& profile.selectedSeatType && profile.selectedSeatType.length;
|
|
|
|
|
};
|
2014-07-25 22:28:51 +08:00
|
|
|
|
//查找默认的日期
|
2014-07-31 21:30:48 +08:00
|
|
|
|
(function () {
|
2014-07-25 22:28:51 +08:00
|
|
|
|
var d = exports.minDate;
|
|
|
|
|
var day = d.getDay();
|
|
|
|
|
|
|
|
|
|
if (day < 5) {
|
|
|
|
|
//星期1-5,则取星期五
|
2014-08-06 20:56:47 +08:00
|
|
|
|
exports.defaultDate = utility.addDays(d, 5 - day);
|
2014-07-25 22:28:51 +08:00
|
|
|
|
} else if (day > 0) {
|
|
|
|
|
//取周日
|
2014-08-06 20:56:47 +08:00
|
|
|
|
exports.defaultDate = utility.addDays(d, 7 - day);
|
2014-07-25 22:28:51 +08:00
|
|
|
|
}
|
|
|
|
|
})();
|
2014-08-08 20:46:37 +08:00
|
|
|
|
exports.trackTypes = {
|
|
|
|
|
OPEN_PAGE_INDEX: 100,
|
|
|
|
|
LOGIN: 101,
|
|
|
|
|
QUERY_TICKET: 102,
|
|
|
|
|
QUERY_SUGGESTION: 103,
|
|
|
|
|
SELLTIME_SUGGEST: 104,
|
|
|
|
|
SUBMIT_ORDER: 105,
|
|
|
|
|
SUBMIT_ORDER_FAILED: 106,
|
|
|
|
|
SUBMIT_ORDER_SUCCESS: 107,
|
|
|
|
|
LOGOUT: 108,
|
|
|
|
|
SHOW_TRAIN_STOP: 109,
|
|
|
|
|
SUBMIT_AUTO: 110,
|
|
|
|
|
START_AUTOREFRESH: 111,
|
|
|
|
|
STOP_AUTOREFRESH: 112,
|
|
|
|
|
VALID_AUTOREFRESH: 113,
|
|
|
|
|
JOIN_CHAT: 114,
|
|
|
|
|
EXIT_CHAT: 115
|
|
|
|
|
};
|
2014-08-14 21:33:47 +08:00
|
|
|
|
exports.chatSendMsgDelay = 5000;
|
2014-07-23 17:32:50 +08:00
|
|
|
|
|
|
|
|
|
Object.defineProperty(exports, "moreOptDefault", {
|
|
|
|
|
get: function () {
|
|
|
|
|
var d = exports.minDate;
|
|
|
|
|
|
2014-07-31 21:30:48 +08:00
|
|
|
|
return _.any(exports.showMoreOptRange, function (v) {
|
2014-07-23 17:32:50 +08:00
|
|
|
|
return v[0] <= d && d <= v[1];
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
2014-04-30 19:20:58 +08:00
|
|
|
|
});
|